Merge main into dev - #4144
Merge main into dev#4144
Conversation
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
#4076) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…3964) 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 <noreply@anthropic.com>
…k|test` (#4078) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ge (#3997) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: moq-bot[bot] <186640430+moq-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…FETCH refusal codes (#3937) Co-authored-by: opencode agent <agent@opencode.ai> Co-authored-by: GPT-6 Astra <codex@openai.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: opencode agent <agent@opencode.ai> Co-authored-by: GPT-6 Astra <codex@openai.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>
#4087) 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>
…rame (#4102) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…4097) 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: Grok 4.7 <noreply@x.ai> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…racks (#4073) Co-authored-by: Brad Greenway <brad.greenway@surveillx.com> Co-authored-by: Luke Curley <kixelated@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
#4084) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
…4128) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts: - rs/moq-relay: main's hidden-broadcast cluster-peer exemption (#4060) edited `connection::authorize`, which dev replaced with `Cluster::admit`/`scope` (#3943). Ported into `Cluster::scope`: the subscriber origin is `with_hidden(tls.is_some() || is_lan_path)`. - quest/m1: dropped entries for quests completed on either side. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
MERGE This is a branch sync: Positive improvement? Yes. Worth the complexity? Yes. The only non-trivial conflict is Different approach? A rebase of One follow-up (non-blocking): CI was still pending at review time; local claim of This is an automated review, not the maintainer's decision |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 355e5f8b8b
ℹ️ 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".
|
|
||
| for (const value of values) { | ||
| const dispose = listen(value, finish); | ||
| if (done) return dispose(); |
There was a problem hiding this comment.
Observe promises after a synchronous race winner
When an earlier input is already settled, this return prevents listen from attaching a rejection handler to the remaining inputs. Consequently, race([settledOnce, rejectingPromise]) can resolve successfully and later produce an unhandled rejection from the losing promise; the pre-aborted effect.race(...) path has the same problem because it returns before observing any input. Continue observing later thenables while disposing their race listeners so losing rejections remain handled.
Useful? React with 👍 / 👎.
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. |
Merges
main(through #4128, 31 commits) intodev.Conflicts and how they were resolved
rs/moq-relay/src/{connection,uring}.rs: dev's version. feat(net): hide dot-named broadcasts from discovery (moq-lite-07) #4060 (hidden dot-named broadcasts) threaded acluster_peerflag throughconnection::authorize, which dev replaced withCluster::admit/Cluster::scopein feat(auth)!: expose lease-driven gateway admission #3943. The exemption now lives inCluster::scope: the subscriber origin iswith_hidden(request.tls.is_some() || Cluster::is_lan_path(&request.path)), so every path throughscope(native, io_uring, LAN, gateway embedders viaCluster::admit) keeps the rolling-upgrade behavior.websocket.rsauto-merged with main's inlinewith_hidden; comments pointing atconnection::authorizenow point atCluster::scope.quest/m1/README.md: dropped the entries for quests finished on either side (listener-close,tokio-test-portson main;decoded-frameson dev). Kepttokio-reconnect-ports.quest/m1/origin-narrowing.md: main's rewrite, with dev'sReason::Narrowedwording.API / wire impact
None beyond what each side already carries.
Cluster::admitnow returns a subscriber origin that shows hidden routes to authenticated cluster peers, matching main'sauthorize.Verification
just check: lint, and all 4914 Rust tests passed. The Dart analyzer crashed locally because the machine ran out of inotify instances (EMFILE), so CI covers Dart.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code