Repository navigation
v0.68.0, and a null error in a stream chunk is not an error - #312
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Some OpenAI-compatible relays and Gemini-format upstreams write "error": null in every streamed chunk. Every place that asked whether a chunk or body has an error looked only for the key, so such a chunk was taken for an upstream error: the opening judge failed the request at its first chunk, a converted stream ended with an error and lost its text, reply plugins left those chunks untouched, and a Gemini tool result carrying "error": null was marked as failed. A null error is now ignored everywhere, and an error without a message is recorded with a fixed sentence instead of the chunk it came in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version 0.68.0 and its release notes: traffic between the gateway and upstreams, live request content, security log detail, and the Codex fix from #310. Protocol 44, request-store schema 27.
Also a fix found in the enterprise pre-release review: some OpenAI-compatible relays and Gemini-format upstreams write
"error": nullin every streamed chunk, and every place that asked whether a chunk or body carries an error looked only for the key. The opening judge failed such a request at its first chunk, a converted stream ended with an error and lost its text, reply plugins left those chunks untouched, and a Gemini tool result with"error": nullwas marked as failed. A null error is now ignored everywhere (tw-dialect chat/gemini stream parsers and Gemini tool results; tw-gateway opening judge, idle-timeout content detection, reply and view plugins), and an error without a message is recorded with a fixed sentence instead of the raw chunk, which could hold answer text. Tests cover the parser,stream_errorand the opening judge.Local checks: fmt and clippy clean;
cargo test --workspace3241 passed. One tw-watch test (fd_budget) fails on this machine right now with or without this change (it passed here an hour ago on the same code); CI is the reference for it.🤖 Generated with Claude Code