Commit 77f1e8c
committed
fix: add default 120s request timeout when provider timeoutSeconds is not configured
When models.providers.<id>.timeoutSeconds is not set in config.yaml,
resolveProviderRequestTimeoutMs() returns undefined, which cascades
through buildTimeoutAbortSignal({timeoutMs: undefined}) → no AbortSignal
→ fetch() hangs indefinitely on TCP connections.
This is a P0 defect causing session stalls when upstream API (e.g.
DeepSeek) takes long to respond, leading to event loop congestion and
system unresponsiveness.
Fix: return DEFAULT_REQUEST_TIMEOUT_MS (120s) as fallback instead of
undefined, matching the common expectation that all HTTP requests
should have a bounded timeout.1 parent be87524 commit 77f1e8c
1 file changed
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
68 | 71 | | |
69 | 72 | | |
70 | 73 | | |
| |||
336 | 339 | | |
337 | 340 | | |
338 | 341 | | |
339 | | - | |
| 342 | + | |
340 | 343 | | |
341 | 344 | | |
342 | 345 | | |
343 | 346 | | |
344 | 347 | | |
345 | | - | |
| 348 | + | |
| 349 | + | |
346 | 350 | | |
347 | 351 | | |
348 | 352 | | |
| |||
0 commit comments