Commit graph

106 commits

Author SHA1 Message Date
13e7d23e0a Add Copy Link button to PDF viewer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 12:43:59 -06:00
8bc2a45e39 Update Gmail app password for email notifications 2026-01-11 09:53:00 -07:00
b85187c92b Fix PostgreSQL sequence issue after data import
- Added fixSequences() method to V1DataMigrationSeeder
- Automatically resets sequences for docket_entries, documents, and subscriptions
- Prevents 'duplicate key value violates unique constraint' errors
- Fixes issue where PDF uploads were failing due to out-of-sync sequences
2026-01-11 09:38:54 -07:00
ecb2322ac6 Update memory bank: DNS switchover complete, email notifications enabled, iPad fix deployed 2025-12-19 22:38:36 -07:00
81aaa22875 Enable email notifications to all active subscribers 2025-12-19 22:26:02 -07:00
d15a2fcb30 Add comprehensive DNS switchover instructions for v2.0 deployment 2025-12-19 22:10:21 -07:00
10b3f92cdd Change port from 8080 to 806 to match v1 configuration 2025-12-19 22:09:32 -07:00
8243ee1a92 Update .env for DNS switchover - change URLs to mad-lawsuit.org 2025-12-19 22:07:46 -07:00
159ce11eb8 Fix iPad PDF scroll issue - detect iOS and open in new tab 2025-12-19 17:44:14 -07:00
400678f4af Update memory bank with Phase 4.1 enhancements
- PDF upload fix (nginx permissions)
- Unsubscribe confirmation page
- Date format consistency (American MM/DD/YYYY)
- Removed pagination from docket entries admin page
- All features deployed and tested
2025-12-18 12:02:15 -07:00
b48b51ab6e Remove pagination from admin docket entries - show all on one page 2025-12-18 11:54:05 -07:00
1f3bf22553 Fix subscriber date format to American MM/DD/YYYY 2025-12-18 11:47:27 -07:00
e2930c6ce9 Fix CSRF token in unsubscribe page 2025-12-18 11:41:41 -07:00
474df2aa61 Add unsubscribe confirmation page
- Created Unsubscribe.vue with matching site styling
- Added showUnsubscribe method to SubscriptionController
- Updated routes: GET /unsubscribe/{token} shows confirmation page
- POST /api/unsubscribe/{token} processes unsubscribe
- Updated email template to use new unsubscribe route
- Prevents accidental unsubscribes with confirmation dialog
2025-12-18 11:33:47 -07:00
80b5adf3f4 Fix nginx parent directory permissions
- chmod 755 on /var/lib/nginx to allow www-data to traverse
- Parent directory was 750 (drwxr-x---) owned by nginx:nginx
- www-data couldn't access tmp subdirectory despite owning it
- This fixes the Permission denied error on PDF uploads
2025-12-18 10:52:23 -07:00
a81f26ce88 Fix nginx temp directory permissions in Dockerfile
- Create nginx temp directories during build
- Set proper ownership (www-data) and permissions (775)
- Fixes 'Permission denied' error on PDF uploads
2025-12-18 10:49:12 -07:00
b2b061b57a Add comprehensive debug logging for PDF upload
- Added detailed logging at each step of upload process
- Logs file info, validation, storage, and database creation
- Catches and logs full exception details with stack trace
- Will help diagnose 500 error on PDF upload
2025-12-18 10:40:37 -07:00
6f66e0987a Change email notifications to manual trigger
- Removed automatic email sending on docket entry creation
- Added sendNotification() method to DocketEntryController
- Added route for manual notification trigger
- Added 'Send Notification' button to Show page
- Email now only sends when admin explicitly clicks button
- Still in testing mode (chris@deafgain.org only)
2025-12-18 10:38:07 -07:00
2f9670caf9 Add PostgreSQL sequence fix script 2025-12-18 10:31:54 -07:00
9687b9b9be Add email notification system for new docket entries
- Created NewDocketEntryNotification mailable class
- Added professional HTML email template
- Updated DocketEntryController to send notifications on entry creation
- TESTING MODE: Only sends to chris@deafgain.org
- Configured SMTP with Gmail (system@deafgain.org)
- Added logging for email delivery tracking
- Production code commented out for safety during testing
2025-12-18 10:21:31 -07:00
2393f50b25 Update Memory Bank with bug fixes and configuration changes 2025-12-18 10:01:22 -07:00
4bfe443633 Increase file upload limit to 500MB for large court documents 2025-12-18 10:00:04 -07:00
94fe847c22 Update README with comprehensive project documentation 2025-12-18 09:55:19 -07:00
0187c2d822 Fix subscribers page - use items() instead of through() for pagination 2025-12-18 09:46:06 -07:00
9ad058339a Add mobile detection - open PDFs in new tab on screens < 768px 2025-12-18 08:56:36 -07:00
7d792fe635 Simplify PDF viewer to match v1.0 - remove wrapper div for mobile scrolling 2025-12-18 08:48:53 -07:00
0273caca03 Fix mobile PDF viewer scrolling - wrap iframe in scrollable container 2025-12-18 08:36:42 -07:00
73b0e7ae9e Fix mobile/tablet PDF viewer - enable viewing in all orientations with scrolling 2025-12-18 08:32:59 -07:00
7b409eba81 Match v1 background colors exactly (#6E6362 and rgba(57,64,83,0.95)) 2025-12-17 22:06:47 -07:00
d2d60f6e8b Add TrustProxies middleware to fix HTTPS detection behind Caddy 2025-12-17 22:00:12 -07:00
7258b35dda Fix AdminSeeder to use correct bcrypt hash format 2025-12-17 21:53:00 -07:00
047f81b73f Add ASSET_URL to fix mixed content issues 2025-12-17 21:50:13 -07:00
1b63d00560 Remove password mutator that was causing double-hashing 2025-12-17 21:38:46 -07:00
539df42dc5 Remove test route, set APP_DEBUG=false, fix storage volume mount to preserve permissions 2025-12-17 21:27:48 -07:00
a3c1ffd3b3 Add simple test route to debug 500 errors 2025-12-17 21:21:50 -07:00
f2183392e2 Change APP_ENV back to production (keep DEBUG=true) 2025-12-17 21:19:59 -07:00
ed43ef5622 Enable debug mode: Change APP_ENV to local for better error visibility 2025-12-17 21:14:16 -07:00
d36aa2a47d Change SESSION_DOMAIN to null for IP-based access 2025-12-17 21:07:59 -07:00
d104bf5471 Fix AdminSeeder to insert password hash directly without model mutator 2025-12-17 21:02:56 -07:00
f203bb03eb Fix DatabaseSeeder to call specific seeders instead of using factories 2025-12-17 20:55:57 -07:00
5d9997d3a6 Update AdminSeeder to use Eliza's credentials from v1.0 2025-12-17 20:52:04 -07:00
9772e4cb83 Fix .dockerignore to include .env file in Docker build 2025-12-17 20:45:39 -07:00
9492a3b08f Add .env file to repository for deployment 2025-12-17 20:38:07 -07:00
d7517442d6 Fix PHP-FPM command in supervisord
- Change php-fpm8.3 to php-fpm (Alpine uses generic command)
- Fixes 502 Bad Gateway error
2025-12-17 20:16:31 -07:00
55a5165d20 Fix V1DataMigrationSeeder for PostgreSQL
- Remove PRAGMA statements (SQLite-specific)
- PostgreSQL handles foreign keys automatically
2025-12-17 20:04:47 -07:00
1b8679965e Fix Dockerfile: Create supervisor log directory
- Add mkdir -p /var/log/supervisor before starting supervisor
- Fixes container restart loop
2025-12-17 19:55:52 -07:00
790fe8a48a Fix TypeScript errors in Home.vue
- Add type assertions for event.target in mouseover/mouseout handlers
- Fixes vue-tsc compilation errors during Docker build
2025-12-17 19:50:28 -07:00
7583712730 Fix Dockerfile: Use npm install instead of npm ci
- package-lock.json not in repo (.gitignore)
- npm ci requires existing lock file
- npm install will generate it during build
2025-12-17 19:45:08 -07:00
90550d34b7 Fix Dockerfile: Remove composer.lock dependency
- composer.lock is in .gitignore
- Let composer generate it during build
- Allows Docker build to succeed without local dependencies
2025-12-17 19:41:50 -07:00
b7125cf2b7 Phase 4: Production deployment configuration
- Add Docker configuration (Dockerfile, docker-compose.yml)
- Add Nginx and Supervisor configuration
- Add deployment documentation (DEPLOYMENT.md)
- Complete Phase 3 data migration (63 entries, 63 docs, 28 subs)
- Add responsive PDF viewer component
- Fix date format to American (MM/DD/YYYY)
- Update typography to match v1.0
- Add admin dashboard with full CRUD operations
- Configure PostgreSQL with secure password
- Connect to caddy_network for reverse proxy
- Ready for production deployment
2025-12-17 19:12:32 -07:00