Mirrors journal PR #5. `fetchSegment()` and `computeSegmentGpx()` in lib/brouter.ts called `fetch()` with no AbortSignal — a hung or slow BRouter would stall the request handler indefinitely. New `lib/http.server.ts::fetchWithTimeout()` (same as the journal's helper) wraps fetch with `AbortSignal.timeout(30_000)`, composable with a caller-supplied signal via `AbortSignal.any()`. Tests: lib/http.server.test.ts (2 cases — timeout abort, happy path). |
||
|---|---|---|
| .. | ||
| app | ||
| public | ||
| .gitignore | ||
| Dockerfile | ||
| package.json | ||
| react-router.config.ts | ||
| server.ts | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.browser.config.ts | ||
| vitest.config.ts | ||