Files
buzz/crates
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7andWill Pfleger edbe0e40e4 fix(agent): restore 10s connect timeout and retry mid-body read errors
The streaming-timeout change rebound connect_timeout to cfg.llm_timeout
(120s), so a dead endpoint blocked the TCP/TLS handshake for two minutes
before failing — and connect is retried, compounding it. Connect time and
inter-chunk stall time are different concerns; restore connect_timeout to a
fixed 10s independent of llm_timeout.

With the total request timeout removed, a connection reset mid-body became
the main body-read failure and was hard-failing on the first occurrence.
reqwest's chunk() surfaces a reset/truncated body as a decode error, so
is_retryable_transport_error now treats is_decode() as retryable; the
read-error arm mirrors the stall arm (backoff + resend, hard-fail on the
final attempt). JSON-parse failures take the separate serde path and are
unaffected.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-06-10 10:43:17 -04:00
..