fetch: let an explicit timeout extend the socket idle deadline - #33647
Merged
Claude / Claude Code Review
completed
Jul 7, 2026 in 22m 24s
Code review found 2 potential issues
Found 2 candidates, confirmed 2. See review comments for details.
Details
| Severity | Count |
|---|---|
| 🔴 Important | 0 |
| 🟡 Nit | 2 |
| 🟣 Pre-existing | 0 |
| Severity | File:Line | Issue |
|---|---|---|
| 🟡 Nit | src/http/h2_client/ClientSession.rs:542-545 |
h2 rearm_timeout floor ineffective when global idle timeout is 0 |
Annotations
Check warning on line 545 in src/http/h2_client/ClientSession.rs
claude / Claude Code Review
h2 rearm_timeout floor ineffective when global idle timeout is 0
The floor at `crate::idle_timeout_seconds()` is a no-op when `BUN_CONFIG_HTTP_IDLE_TIMEOUT=0`: `want.max(0) == want`, so a `{timeout:false}` stream is still armed at (and killed by) a coalesced sibling's short explicit `{timeout:N}`. Pre-PR the same session armed at `idle_timeout_seconds()=0` → `set_timeout(0)` → disarmed, so this is a narrow regression under global=0. Consider disarming when `any_disabled && idle_timeout_seconds() == 0` (or having `any_disabled` contribute an unbounded sentinel
Loading