Skip to content

Allow longer provider stream pauses across chat models - #1167

Merged
AnthonyRonning merged 1 commit into
masterfrom
codex-kimi-stalls-maple
Oct 18, 2026
Merged

AnthonyRonning merged 1 commit into
masterfrom
codex-kimi-stalls-maple

Conversation

@AnthonyRonning

@AnthonyRonning AnthonyRonning commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Long provider pauses can abort a streaming chat after two minutes even when generation may still be running, for example while an upstream buffers a complete tool-call argument. Raise OpenSecret's per-chunk idle timeout from 120 to 300 seconds for every chat model and provider, including the shared Responses provider executor.

Raise the shared proxy's SSE idle default from 300 to 360 seconds so the backend can return its structured timeout error before the relay closes the connection. Update CLI/library and Docker defaults, examples and documentation; prepare proxy 0.4.4 and align the embedded consumers' lock entries. Request-setup/non-streaming limits, cancellation, and retry policy are unchanged.

The tradeoff is a longer wait for a genuinely silent provider. This is a mitigation, not a claim that the suspected upstream tool-parser buffering bug is fixed. Existing proxy installations need an upgrade or an explicit idle-timeout override to get the extra margin.

Validation:

  • Buffered-tool-call regression (scaled timing): pauses exceed the previous idle budget, later chunks renew the budget, and the stream completes beyond one total budget.
  • Proxy regressions (paused clock): a backend timeout error after 300 seconds is preserved; a silent upstream is dropped after 360 seconds.
  • Backend pinned-shell formatting, strict Clippy and all-feature tests: 814 passed, 31 intentionally ignored.
  • Proxy pinned-shell formatting, strict Clippy, all-feature tests (39 passed), warning-denied docs and cargo-machete.
  • Embedded Research dependency verification passed.
  • Research Rust tests passed serially (426 passed, 2 intentionally ignored). An existing login-shell deadline test failed under parallel load and passed in isolation and in the serial suite.
  • All standard component commit hooks passed.
  • Full Agent just ci passed: all four Clippy feature configurations, warning-denied workspace build/tests, and ACP/proxy headless tests.

No deployment, registry publication, or production configuration change is included. Recovery of a live Tinfoil tool call within the new five-minute limit remains unverified.

Hosted CI currently reports pre-existing Research zip advisories RUSTSEC-2026-0367, RUSTSEC-2026-0368 and RUSTSEC-2026-0369. The affected zip versions (4.6.1 and 8.6.0) are unchanged from base commit 883ac72. See the supply-chain check. Dependency remediation is outside this timeout change.

@AnthonyRonning
AnthonyRonning marked this pull request as ready for review October 18, 2026 08:58
@AnthonyRonning
AnthonyRonning merged commit aed7081 into master Oct 18, 2026
48 of 49 checks passed
@AnthonyRonning
AnthonyRonning deleted the codex-kimi-stalls-maple branch October 18, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant