Skip to content

v0.68.0, and a null error in a stream chunk is not an error - #312

Merged
fylorn merged 2 commits into
mainfrom
chore/v0.68.0
Oct 10, 2026
Merged

fylorn merged 2 commits into
mainfrom
chore/v0.68.0

Conversation

@fylorn

@fylorn fylorn commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

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": null in 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": null was 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_error and the opening judge.

Local checks: fmt and clippy clean; cargo test --workspace 3241 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

fylorn and others added 2 commits October 10, 2026 13:24
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>
@fylorn fylorn changed the title chore: v0.68.0 v0.68.0, and a null error in a stream chunk is not an error Oct 10, 2026
@fylorn
fylorn merged commit 0955f99 into main Oct 10, 2026
6 checks passed
@fylorn
fylorn deleted the chore/v0.68.0 branch October 10, 2026 06:00
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