AbortSignal.timeout() requires Node 17.3+. The API container likely runs an older Node version, so timeouts never fired -> fetch hung forever when FMCSA API is down -> nginx proxy timeout -> 'Failed to fetch' in the browser. Fix: use AbortController + manual setTimeout() which works on all Node versions. All 3 external fetch points (fmcsaFetch x2, SOS x2) now actually abort at 5s. Also: guard final res.json() with !res.headersSent so the 12s deadline fallback and the normal response path can't double-send. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| lib | ||
| middleware | ||
| routes | ||
| config.ts | ||
| create-admin.ts | ||
| db.ts | ||
| email.ts | ||
| erpnext-client.ts | ||
| fx.ts | ||
| index.ts | ||
| sanctions.ts | ||