Merge main into dev - #4499
Merge main into dev#4499
Conversation
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…4420) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tead of racing a rebind (#4408) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
#4432) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ind (#4409) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ng (#4421) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…taged (#4431) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…eprice (#4434) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ckets (#4404) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…oses (#4429) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
….decode (#4454) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ck leak (#4495) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # js/publish/src/video/encoder.ts # quest/m0/wildcard/README.md # quest/m1/README.md # quest/m1/ffi-shape/net.md # rs/moq-cli/src/args.rs
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # quest/m1/ffi-shape/README.md # quest/m1/ffi-shape/json.md # quest/m2/flate/README.md # quest/m2/flate/bindings.md # quest/m2/teleop/mavlink.md # quest/m2/teleop/robot.md
…vent Dev's announce stream can yield Live before the relay learns the publisher's route, so main's import test raced its request into Unroutable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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. |
|
VERDICT: MERGE Solid main→dev sync through #4497. Conflict resolutions match the PR notes and look correct on inspection: CI was still largely pending at review time (Android/Swift/Parse version green). Land once required Check/Test (and the rest of the required suite) pass. This is an automated review, not the maintainer's decision |
|
Merge summary: syncs main through #4497. Conflicts and the three Live-before-route test fixes are listed in the description. Local (Written by Claude Opus 5.5) |
Merges
main(through #4497, e9ef2bf, 34 commits since #4428) intodev. dev keeps its breaking changes; main's fixes and features are carried onto them.Notable conflict resolutions:
dial_only(fix(cli): refuse every MoQ-side flag a verb never reads #4419 vs dev'smoq ls): main's parser-based flag walk wins (every MoQ-side flag a verb never reads is refused), keeping dev'sallowlist somoq lsstill refuses--broadcastandmoq fetchaccepts it.--broadcastis no longer allowed implicitly.cut): both fields kept (#cut, and main's#failures/settled).m0/wildcardtakes main's docs(quest): drop suffix-based routing from the plans #4382 wording (prefix announcements, local pattern filtering).m1/ffi-shape/net.mdtakes main's client-versions bullet, namingrs/moq-c, and dropsAnnounceUpdate(dev's bindings yield a flat event).m1/README.mdkeeps dev's page-load, empty-state, and JS active-count entries beside main's additions;close-codesanddrain-before-closestay deleted (done by feat!: keep the peer's close code over qmux and raw QUIC, on web-transport-trait 0.5 #4262 on dev and feat(net): drain queued stream data before a graceful close #4430 on main). The flate references keep dev's landed wording (feat!: fold moq-binary into moq-flate #4425) over main's chore(quest): retire flate-binary on main and track the JS closed-track leak #4495 transitional text.bindings-graceful-closeandwt-close-upstreamnamemoq-cand feat!: keep the peer's close code over qmux and raw QUIC, on web-transport-trait 0.5 #4262 instead of libmoq and the deletedclose-codesquest.Added:
import_delivers_the_catalog_finish_at_eofwaited for the first announce event, which on dev can be theLivemarker before the relay learns the route, so its request raced intoUnroutable. It now waits forStart, likemax-age.noq_client_close_*tests had the same race; they use the file's existingnext_updatehelper, which skipsLive.TestOriginEndsWithItsProducerexpected the stream to end first; on dev an empty origin reportsLivefirst.Public API / wire impact: none beyond what the merged
mainanddevPRs already carry.Checks:
nix develop --command just check origin/devandquest checkpass locally.Merge with a merge commit, not squash.
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code