Skip to content

quest: plan load flakes, GOAWAY follow-ups, and the moq-quic transport direction - #6083

Merged
kixelated merged 8 commits into
mainfrom
quest/plan-flakes-goaway-forks
Oct 20, 2026
Merged

kixelated merged 8 commits into
mainfrom
quest/plan-flakes-goaway-forks

Conversation

@kixelated

@kixelated kixelated commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Plans the follow-ups from the 2026-10-20 merge batch, and applies the maintainer's decision that moq's own QUIC stack, moq-quic, powers qmux and WebTransport. moq takes no new work in, or dependency on, moq-dev/web-transport, noq or quinn. web-transport stays published, and web-transport-proto may stay.

Load flakes (quest/m1/test-flakes-2/, 3 new children)

  • draft16-cancel-race, ranked first: it fails on a mocked clock, so it may hide an ordering bug.
  • relay-bench-holder: the test hangs on a fifo when its holder hits EADDRINUSE.
  • tokio-failed-listen: the test releases its port before using it. Like moq-dev/moq#6032 it reserves the port, but the server must take the reservation over so the partial-bind path stays covered.

GOAWAY follow-ups, from moq-dev/moq#5998

  • Delete goaway-coverage.md. fix(net): handle GOAWAY throughout IETF request lifetimes #5998 completed it but left the file behind.
  • New m0 namespace-advert-error: in Rust, one failed PUBLISH_NAMESPACE stream closes the whole session. A ProtocolViolation from it also stops moq-tokio from reconnecting.
  • New m1 tokio-redirect-loop: moq-tokio has the same A/B redirect-loop shape that moq-dev/moq#5959 fixes in JS.
  • New m1 js-request-owner: every JS request stream gets one owning handle with an ended promise, and one closer.

Resumed forks: resume-closed.md gains a fork regression test. Forks became logical readers in moq-dev/moq#6024.

moq-quic direction

  • Delete the four m0 qmux-credit* quests. Their credit and close requirements move into quic-qmux.md, which moves from m2 to m1. The bug stays on main until that lands, and the release line gets no backport.
  • New m1 ts-qmux: move @moq/qmux into js/. qmux-no-wait and quic-qmux now require it. Folding @moq/web-socket-stream in is recorded as a breaking change.
  • New m1 native-noq-feature: drop moq-native's empty default noq feature.
  • iroh (web-transport-iroh) and web-transport-wasm are recorded as accepted exceptions.
  • Rewritten to target in-tree code: rs-request-credit, wire-stats/qmux (which now requires quic-qmux), audit-deps and drop-web-transport-trait.
  • Rename noq-socket-close to quic-socket-close, because the work is in-tree.
  • Drop the stale noq#8xx proposal links.

Public API: none. Wire: none. Quest files only. quest check passes.

Decisions

Round 1

  1. Load flakes: how to split?
  2. GOAWAY gaps: how to plan?
    • ✅ Split into 3 and delete goaway-coverage.md
    • One GOAWAY quest
    • Bug only
  3. Where does the fork closure test go?
  4. Milestone for the new quests?
    • ✅ m1, beside their siblings
    • m0 for the bug and the flakes

Round 2

  1. The four m0 qmux-credit quests?
    • ✅ Delete all 4 and promote quic-qmux to m1
    • Delete all 4; quic-qmux stays m2
    • Keep the main pin bump
  2. Where does the TS qmux live?
    • ✅ (custom) Bring @moq/qmux in. Whether @moq/web-socket-stream stays a separate package is the implementer's call.
    • Exception: it stays upstream
    • Delete qmux-no-wait
  3. iroh and web-transport-wasm?
    • Plan in-tree adapters
    • Both in-tree
    • ✅ Both exceptions
  4. Which cleanups go in this PR? (multi-select)
    • ✅ Rename noq-socket-close
    • ✅ Rewrite in-tree
    • ✅ Drop the stale noq links
    • ✅ Quest: drop moq-native's noq feature

Round 3

  1. Reissue after GOAWAY?
    • ✅ No reissue quest; add the Rust redirect-loop backoff
    • Rust loop plus FETCH retry
    • Drop both
  2. Priority of the namespace advertisement bug?
    • ✅ m0
    • Keep m1
  3. How to plan bringing in @moq/qmux?
    • ✅ An m1 quest, ahead of no-wait
    • Part of quic-qmux
  4. Where does the moq-native noq feature quest go?
    • ✅ m1, [XS]
    • m2, [XS]

Review: the QUIC epic and group-reset now reflect qmux's move to m1, and whichever of group-reset and quic-qmux lands second implements qmux's offset reset. moq-uring's host_tracks_moq_clock was dropped, since moq-dev/moq#6056 already fixed it.

Follow-ups

None beyond the quests planned here.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

…t direction

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T20:44:28.251974Z 4a1319a New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 16 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fb0f676e-a8c9-41dc-b30a-8fe70c384ff7
📥 Commits

Reviewing files that changed from the base of the PR and between 73a2565 and 5098ccc.

📒 Files selected for processing: 33
  • quest/m0/README.md
  • quest/m0/namespace-advert-error.md
  • quest/m0/qmux-credit-backport-upstream.md
  • quest/m0/qmux-credit-backport.md
  • quest/m0/qmux-credit-upstream.md
  • quest/m0/qmux-credit.md
  • quest/m1/README.md
  • quest/m1/audit-deps.md
  • quest/m1/goaway-coverage.md
  • quest/m1/js-request-owner.md
  • quest/m1/native-noq-feature.md
  • quest/m1/qmux-no-wait.md
  • quest/m1/quic-qmux.md
  • quest/m1/quic/README.md
  • quest/m1/resume-closed.md
  • quest/m1/rs-request-credit.md
  • quest/m1/test-flakes-2/README.md
  • quest/m1/test-flakes-2/draft16-cancel-race.md
  • quest/m1/test-flakes-2/relay-bench-holder.md
  • quest/m1/test-flakes-2/tokio-failed-listen.md
  • quest/m1/tokio-redirect-loop.md
  • quest/m1/ts-qmux.md
  • quest/m2/README.md
  • quest/m2/drop-web-transport-trait.md
  • quest/m2/probe/native.md
  • quest/m2/quic-ack-hook.md
  • quest/m2/quic-deadline.md
  • quest/m2/quic-keep-alive.md
  • quest/m2/quic-socket-close.md
  • quest/m2/tls-listener-mtls.md
  • quest/m2/wire-stats/qmux.md
  • quest/m3/quic-careful-resume.md
  • quest/m3/quic-ecn.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4d2eaad234

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/test-flakes-2/uring-host-clock.md Outdated
Comment thread quest/m1/ts-qmux.md Outdated
Comment thread quest/m1/quic-qmux.md
…the fold's break

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7113184740

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/quic-qmux.md
Comment thread quest/m1/quic/group-reset.md Outdated
…reset

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a34ae1a026

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/test-flakes-2/tokio-failed-listen.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ba9f6c9ba6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/rs-request-credit.md Outdated
Comment thread quest/m2/tls-listener-mtls.md Outdated
kixelated added a commit to zshenker/moq that referenced this pull request Oct 20, 2026
It is a moq-tokio API break, not QUIC stack work, and the new rank
stays clear of the m1 lines moq-dev#6083 edits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated and others added 2 commits October 20, 2026 13:40
…ssor in-tree

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…way-forks

# Conflicts:
#	quest/m1/quic/group-reset.md

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4a1319a44a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/rs-request-credit.md Outdated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary

Head 5098ccc4f24e82011c4fcc2f59f4e198f8c398a2. Quest files only; public API none, wire none. The direction (moq-quic powers qmux and WebTransport; no new work in moq-dev/web-transport, noq or quinn; iroh and web-transport-wasm as exceptions) is unchanged from the body.

Codex findings fixed since the first review:

  • The QUIC epic now says qmux is its own m1 quest outside the epic.
  • tokio-failed-listen keeps the partial-bind path covered: the server must take the port reservation over, not the test hold it as test(tokio): reserve the failing redial listener #6032 does.
  • rs-request-credit scopes fail-fast to in-tree backends and names iroh as the one that keeps waiting; whichever of it and quic-qmux lands second gives qmux the non-waiting open.
  • tls-listener-mtls puts the peer-certificate accessor on the in-tree qmux and now requires quic-qmux.

Merging main brought in #6041, which deleted group-reset (SUBSCRIBE_DROP from #5983 already ends the tail grace), so the merge drops it and its cross-reference in quic-qmux.

Codex reviewed 4a1319a; the last commit only applies that review's suggested remedy, and Codex did not pick it up within 30 minutes. quest check passes (428 documents), just check passes, CI is green.

(Written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit a9fb96d Oct 20, 2026
11 checks passed
@kixelated
kixelated deleted the quest/plan-flakes-goaway-forks branch October 20, 2026 23:53
kixelated added a commit that referenced this pull request Oct 21, 2026
Align with #6083: the m0 qmux credit quests stay deleted (qmux moves
in-tree under m1/quic-qmux), so their README lines, the backport ranking
note, and the audit's unverified qmux 0.6.4 follow-up go too. The m1
ranking keeps the audit's order and adds main's new quests;
net-announced-follow stays at its m0 path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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