Repository navigation
fix(net): backport FETCH requester FIN semantics - #5230
Conversation
Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: GPT-6 <noreply@openai.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Approved to merge This backports the existing FETCH requester FIN semantics: modern drafts continue serving after clean FIN while resets and response cancellation still cancel. Public API and wire framing are unchanged. Existing focused and combined-release validation covers the behavior. No additional changes or unresolved decisions. (Written by GPT-6) |
Release's FETCH serving paths still treat a clean requester FIN as cancellation on draft 19, discarding standalone and joining fetch responses. Reuse the existing version-aware request-stream cancellation helper while waiting for a joining subscription and while buffering its response: pre-19 FIN still cancels; modern FIN only ends requester updates; resets and response STOP_SENDING still cancel.
Validation: the release draft-19 regression fails before the fix. The final matrix covers standalone/joining requests, FIN/reset, and every draft whose FETCH this release serves; it passes. Scoped
just checkpasses.Public API: none. Wire: existing draft cancellation semantics, no framing or version change. No package version bump or release. Main quest cleanup is tracked in #5231.
Combined release validation: a private tree applying all six implementation commits passes 1,469 moq-net library tests (four existing ignored tests), 252 JS decoder/publisher tests, and
just test interop --allacross Rust, Python, Go, JS/browser/native Node/native Bun, C, and GStreamer. The interop harness negotiates Lite; the IETF behavior is covered by the version-specific regressions.(Written by GPT-6)