Repository navigation
fix: correct header overrides and streaming lifecycle behavior - #2
Merged
Merged
Conversation
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.
Change
Fix four Java SDK transport behaviors:
RealtimeException.getCause().Retry-Afterandretry-after-msafter the per-handshake retry budget is exhausted. Cancellation and total deadlines interrupt these waits; the existing exponential backoff remains the fallback.Update the changelog, streaming guidance and stale Identity SAT / SSE / Realtime documentation. These changes are Java-specific; Go, Python and TypeScript are unaffected. No version bump or caller migration is required.
Validation
make qualitypasses on JDK 17 (including 38 maintenance-script tests and local-link checks).Executed
make teston both Java 8 and Java 17: each passed 545 SDK tests and 62 packaged-consumer tests, with no failures, errors or skips. This also builds Javadoc and checks package contents and Java 8 bytecode. Re-ranmake qualityafter the documentation updates.Regression coverage includes mixed-case headers, synchronous/asynchronous handshake failures, retry delays after zero and nonzero retry budgets, cancellation/deadline interruption during server-directed waits, and deterministic reader/close interleaving. Local loopback probes on both runtimes confirmed a 3-second server delay was respected and all 2,000 explicit cancellations reported cancellation.
No live CN/Global calls, AoneCI runs or Maven publication were performed for this fix. Java 11/21/25 validation is delegated to the GitHub CI matrix. These offline results do not replace production acceptance or human QA approval.