TradingAgents/frontend
MarkLo127 b8454fefc7 Replace next.config.ts rewrites with catch-all API proxy route
The rewrites() approach resolves the backend URL once at server startup,
which always falls back to http://backend:8000 on Railway (where that
Docker Compose hostname doesn't exist). This caused ECONNREFUSED for
/api/analyze and all other proxied routes.

Fix: Add app/api/[...path]/route.ts that resolves the backend URL
per-request via getBackendUrl(), matching the pattern already used by
/api/chat and /api/auth/google/token routes.

Changes:
- New: frontend/app/api/[...path]/route.ts — catch-all proxy (GET/POST/PUT/PATCH/DELETE)
- Removed: frontend/app/api/chat/route.ts — now handled by catch-all
- Updated: frontend/next.config.ts — removed rewrites() block
- Updated: frontend/Dockerfile — cleared NEXT_PUBLIC_API_URL build default

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:37:12 +08:00
..
app Replace next.config.ts rewrites with catch-all API proxy route 2026-03-12 11:37:12 +08:00
components 2026-03-11 15:32:10 +08:00
context 2025-12-12 19:01:49 +08:00
contexts 2026-01-27 13:22:52 +08:00
hooks 2025-12-17 05:41:30 +08:00
lib Fix Railway ECONNREFUSED error by unifying backend URL resolution 2026-03-12 11:03:05 +08:00
public 2025-12-21 02:00:38 +08:00
.dockerignore 2025-12-12 05:43:08 +08:00
.gitignore 2025-11-20 21:56:47 +08:00
Dockerfile Replace next.config.ts rewrites with catch-all API proxy route 2026-03-12 11:37:12 +08:00
Dockerfile.railway 2026-03-11 16:56:32 +08:00
bun.lock 2026-03-10 19:07:11 +08:00
components.json 2025-11-20 21:56:47 +08:00
eslint.config.mjs 2025-12-12 05:57:55 +08:00
next.config.ts Replace next.config.ts rewrites with catch-all API proxy route 2026-03-12 11:37:12 +08:00
package.json 2026-03-10 18:58:03 +08:00
postcss.config.mjs 2025-11-20 21:56:47 +08:00
tsconfig.json 2025-11-20 21:56:47 +08:00