Repository navigation
fix(websocket): preserve queued binary frames during reconnect - #4191
Draft
markstuart-oai wants to merge 1 commit into
Draft
markstuart-oai wants to merge 1 commit into
markstuart-oai wants to merge 1 commit into
Conversation
Contributor
Castiron custom codeEvaluated main: Trusted main policy: ✅ No new custom-code files detected. 0 mixed files remain; 0 existing customizations changed. Compared A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 40462487697 --repo openai/openai-python \
--name castiron-custom-code-40462487697-1 --dir /tmp/castiron-custom-code-40462487697-1
git apply --stat /tmp/castiron-custom-code-40462487697-1/custom-code.patch
cat /tmp/castiron-custom-code-40462487697-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 3596d18f05b63081fd64c6da82b515293afb98c6 194bc68cbb390798bb1311f0368375a2fe65ac4a
python3 scripts/castiron/custom_code_report.py report \
--base 3596d18f05b63081fd64c6da82b515293afb98c6 \
--head 194bc68cbb390798bb1311f0368375a2fe65ac4a --target-branch main --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-194bc68cbb39
cat /tmp/castiron-custom-code-194bc68cbb39/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
This branch has not been deployed
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.
Summary
During reconnect,
send_raw(bytes)used to decode queued bytes as UTF-8. A valid UTF-8 payload changed from a binary frame to a text frame. Other bytes raisedUnicodeDecodeErrorbefore the SDK could send them.Preserve each frame and its place in the queue. If recovery stops,
unsent_framesreturns the original text and bytes in order.unsent_messageskeeps its existing string-list interface.Verification
The previous transport failed 28 wire cases. The revised transport passed 357 queue, recovery and session tests and 328 URL and security tests. The new sync and async tests use a local WebSocket peer across all seven bindings. Scoped Ruff checks passed. The full local formatter stopped before formatting because the configured registry differed from the checked-in lockfile. Local mypy reported the same eight optional Google import errors on both revisions.