Commit graph

100 commits

Author SHA1 Message Date
f3c808952d Fix Express 5 breaking change: Replace app.use('*') with app.all('*')
Express 5 no longer supports wildcard '*' in app.use() for 404 handlers.
Changed to app.all('*') which is the correct Express 5 pattern.
2025-12-14 16:44:49 -07:00
6c9faf7df0 Upgrade packages: React 19, Next.js 16, Prisma 7, Express 5
- Frontend: React 18→19, Next.js 15→16, major package updates
- Backend: Prisma 5→7 with adapter pattern, Express 4→5
- Added Prisma 7 config (prisma.config.ts) and PostgreSQL adapter
- Updated Next.js config for Turbopack compatibility
- All builds passing successfully
2025-12-14 16:40:28 -07:00
1d37b1fdae Fix Docker Compose to use cached images instead of rebuilding
- Changed pull_policy from 'build' to 'missing' for frontend and backend
- Added explicit image names (mad-lawsuit-frontend:latest, mad-lawsuit-backend:latest)
- This prevents unnecessary rebuilds on server when restarting containers
- Images will only rebuild when explicitly requested or when missing
2025-12-06 10:18:50 -06:00
ba654296e9 Fix API proxy path - maintain /api/ prefix for backend calls 2025-11-14 10:40:46 -06:00
a2595246cc Implement dedicated backend subdomain files.mad-lawsuit.org
- Changed backend port from 809 to 901 (9xx range for backends)
- Updated docker-compose.yml to expose backend on port 901
- Created new Caddyfile with files.mad-lawsuit.org subdomain
- Simplified mad-lawsuit.org to only proxy to frontend (port 806)
- Updated frontend API proxy to use https://files.mad-lawsuit.org
- Updated backend CORS to allow both mad-lawsuit.org and files.mad-lawsuit.org
- This fixes PDF download reliability issues by providing direct backend access
2025-11-14 10:34:30 -06:00
13d219db03 Expose backend on port 809 for direct Caddy routing to fix PDF download 2025-11-10 00:12:39 -06:00
eb7983f0ba Fix: Use specific container name to avoid DNS conflict with other backend containers 2025-11-07 16:44:07 -06:00
4abdf9c367 Fix PDF download: Handle binary file responses in API proxy 2025-10-28 08:16:14 -06:00
d5037b35a9 Fix TypeScript error: params must be Promise in Next.js 15 2025-10-28 08:08:57 -06:00
cecfcfb620 Add Next.js API route proxy to handle client-side API requests to backend 2025-10-28 08:01:22 -06:00
6df5bd193a Fix CORS configuration: Add frontend:806 to allowed origins and set FRONTEND_URL 2025-10-28 07:55:30 -06:00
a3104df159 Update memory bank now. 2025-10-01 21:37:41 -06:00
dfbbe32efb Clean out install files. 2025-10-01 21:29:37 -06:00
f962327ae3 Update pnpm-lock.yaml after moving prisma to production dependencies 2025-10-01 21:18:40 -06:00
b59ae90c2d Fix Prisma dependencies: Move prisma CLI to production deps and regenerate after prune 2025-10-01 21:18:07 -06:00
cf071cc478 Fix Prisma prune: Use --config.ignore-scripts=false to preserve Prisma client 2025-10-01 21:15:16 -06:00
0035b7cceb Fix Prisma generate: Use npx instead of pnpm after prune removes CLI 2025-10-01 21:13:48 -06:00
d087ca9c7a Fix Prisma client: Regenerate after pnpm prune to restore missing binaries 2025-10-01 21:10:17 -06:00
b291ee9b94 Fix Docker build: Add CI=true env var for pnpm prune command 2025-10-01 21:06:37 -06:00
2426d644bc Disable automatic email notifications on docket entry creation
- Remove automatic email sending when new docket entries are created
- Email notifications are now manual-only via green mail button
- Gives admin full control over when subscribers are notified
- Per user request to prevent unwanted automatic emails
2025-09-10 20:43:49 -06:00
d00fecce0f Fix email configuration for Gmail smuggler
- Remove duplicate email configuration sections
- Use correct Gmail smuggler settings (port 2525)
- Set proper SMTP credentials for system@deafgain.org
- Use system@deafgain.org as FROM_EMAIL (not docket-site)
- This should fix manual email notifications not being sent
2025-09-10 19:19:04 -06:00
cefc600230 Restore manual email notification feature
- Add /api/notifications/send/:docketEntryId endpoint for manual email sending
- Add green 'Send notification' button (mail icon) to each docket entry in admin dashboard
- Implement BCC email functionality for manual notifications
- Add loading states and user feedback for notification sending
- Allow admins to manually trigger email notifications after uploading documents
- Recovered from git reflog commit 1e24aa18
2025-09-10 18:57:48 -06:00
cd835cf31b Add BCC functionality to email service
- Added optional bcc parameter to EmailOptions interface
- Updated sendEmail method to support BCC recipients
- Modified notifySubscribersOfNewEntry to use single BCC email instead of individual emails
- Improved logging to show BCC recipient count
- More efficient email delivery for multiple subscribers
2025-09-10 18:44:44 -06:00
9023d35090 Add .gitignore file and update backend SMTP port to 2525
- Added comprehensive .gitignore file with .DS_Store and common ignores
- Updated backend/.env SMTP_PORT from 587 to 2525 for Gmail smuggler
- Updated Memory Bank documentation with Gmail smuggler implementation
- Removed smtp-relay-container directory (moved outside project)
2025-09-10 18:39:00 -06:00
3c03aff295 Fix TypeScript error: Remove unused useState import from PDFViewer component
- Removed unused useState import that was causing build failures
- Fixed Docker deployment issue where pnpm build was failing with exit code 1
- All TypeScript checks now pass successfully
2025-06-25 21:36:56 -05:00
52820b508f Update versions 2025-06-25 18:02:47 -05:00
bb153e24e1 Update docker compose 2025-06-25 18:00:13 -05:00
bd154d0344 Update tag 2025-06-25 17:53:53 -05:00
7bc32acafb Fix mobile and date 2025-06-25 17:52:58 -05:00
ca1bafbb16 Fix email link
Add DeafGain
2025-06-25 16:53:44 -05:00
8027ef0ac9 Fix: Add missing required fields to document upload
- Added title, summary, and notes fields to FormData for upload
- Uses filename (without .pdf) as document title
- Resolves 'title is required' validation error
- Completes PDF upload functionality fix
2025-06-25 15:50:00 -05:00
9ab091966c Fix: Improve PDF MIME type detection for uploads
- Added support for multiple PDF MIME types (application/x-pdf, etc.)
- Added fallback to file extension validation (.pdf)
- Added detailed logging for debugging upload issues
- Resolves 'Only PDF files are allowed' error for valid PDFs
2025-06-25 15:48:15 -05:00
e5c04013bb update tag 2025-06-25 15:42:02 -05:00
910bd52567 Fix: Add frontend to app-network for backend connectivity
- Frontend now connects to both app-network and caddy_network
- Resolves network isolation preventing API calls to backend
- Fixes document upload functionality by enabling frontend→backend communication
2025-06-25 15:37:46 -05:00
b5f350a6ad update tag 2025-06-25 15:31:09 -05:00
169bf770b6 Fix: Improve rate limiting configuration for proxy setup
- Added proper keyGenerator for rate limiter to handle proxy IPs
- Prevents rate limiting validation errors behind Caddy proxy
- Should resolve remaining upload issues
2025-06-25 15:30:26 -05:00
9fbed4c29d update tag 2025-06-25 15:27:40 -05:00
c2c516248e Fix: Add trust proxy setting for Caddy reverse proxy
- Added app.set('trust proxy', true) to backend configuration
- Resolves rate limiting errors when behind Caddy reverse proxy
- Fixes document upload failures caused by X-Forwarded-For header issues
2025-06-25 15:26:40 -05:00
facc7fb55c Update documentation: Admin login working, correct credentials documented
- Updated README with live website status and admin credentials
- Memory bank updated with complete resolution of admin login issues
- Documented successful deployment at https://mad-lawsuit.org
- Added current admin credentials: eliza / AXEoZWk2AMAD0naw
2025-06-25 15:20:11 -05:00
87a572df5a Update tag 2025-06-25 15:14:51 -05:00
0331ecaa84 Fix admin login API endpoint: Use Next.js proxy instead of direct backend call
- Changed from process.env API_URL to /api/auth/login
- Fixes network error by using Next.js API rewrites
- Login now properly routes through frontend proxy to backend
2025-06-25 15:14:27 -05:00
c43928eb35 Update tag 2025-06-25 15:08:25 -05:00
1cbf36dc00 Fix frontend health check: Install curl in Alpine container
- Added apk add curl to frontend Dockerfile
- Fixes unhealthy container status by enabling health check to work
- Health check now properly tests http://localhost:806
2025-06-25 15:08:04 -05:00
f29ffa80f1 Update tag 2025-06-25 15:03:08 -05:00
329f88d374 Fix frontend port configuration: Update Dockerfile to use port 806
- Changed EXPOSE from 3000 to 806
- Added PORT=806 environment variable
- Updated health check to use port 806
- Fixes admin login network error by aligning with docker-compose.yml 806:806 mapping
2025-06-25 15:02:36 -05:00
b101dc68fc Change to 806 2025-06-25 14:59:28 -05:00
a36529b490 Update tag 2025-06-25 14:32:51 -05:00
79bd626dcd Update port number 2025-06-25 14:32:28 -05:00
5eee3362ae Update with volumes. 2025-06-25 14:25:55 -05:00
0508602479 Initial commit: Elizabeth Kragh v. MAD Court Docket Website 2025-06-25 14:15:19 -05:00