Skip to content

fix: repair dev, which the last main merge left uncompilable - #3399

Merged
kixelated merged 3 commits into
devfrom
claude/fix-dev-broadcast-test
Sep 4, 2026
Merged

fix: repair dev, which the last main merge left uncompilable#3399
kixelated merged 3 commits into
devfrom
claude/fix-dev-broadcast-test

Conversation

@kixelated

@kixelated kixelated commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

dev does not pass just check, so every branch based on it fails CI (including #3396). Three independent pieces of fallout from Merge main into dev (6947217), where a conflict-free textual merge was not a semantic one.

1. rs/moq-tokio/tests/broadcast.rs does not compile

The merge brought main's new broadcast_moq_transport_20_current_group_join test in verbatim. On main that test lives in rs/moq-native/tests/broadcast.rs and predates both #3225 (announcements are prefix routes) and the moq-native to moq-tokio split, so it references four things that no longer exist on dev:

  • Origin::random().produce()moq_tokio::origin::spawn(Hop::random())
  • create_broadcast(path, broadcast::Route::new().with_announce(true))create_broadcast(path) plus a separate announce(path, ..)
  • moq_native::{ServerConfig,ClientConfig}moq_tokio::{listen,connect}::Config (with tls.disable_verifytls.insecure, and init()init(..) + listen())
  • announce::Update::broadcastUpdate { prefix, route, active }, resolved through request_broadcast

The merge also glued next_announce's doc comment onto the new test's, leaving next_announce undocumented and the test's own doc opening on an unrelated sentence.

Ported onto dev's API, matching the neighbouring tests. The assertions the test exists for (group 0 stitched from the fill fetch stream plus the subgroup stream, in order, ending exactly once) are unchanged.

2. cargo shear: an unused humantime

rs/moq-cli declares humantime and no source file uses it. The usage-rs migration (#3030) replaced clap's value_parser = humantime::parse_duration with usage-rs' own duration parsing and dropped the dependency in the same commit; main still had the clap spelling, so the merge took main's side of the manifest and put the dependency back without any of the uses.

3. cargo sort: moq-sock out of order

moq-sock sits above moq-rtc and moq-rtmp in the root [workspace.dependencies]. cargo sort --workspace --check --no-format fails on it.

Each of the three is independently fatal, and the second and third only surface once the first stops failing the build, which is why they came out one CI round at a time.

Test plan

  • cargo check -p moq-tokio --tests clean.
  • cargo test -p moq-tokio --test broadcast broadcast_moq_transport_20_current_group_join passes.
  • cargo check -p moq-cli clean without the dependency.
  • cargo shear reports no issues; cargo sort --workspace --check --no-format clean.
  • cargo fmt -p moq-tokio clean.

Test, WASM, Swift, and OBS already pass on this branch; Check is what these three fix.

Note

#3396 carries its own copy of fix 1 (38be5113b), so whichever lands first, the other needs a rebase. Fixes 2 and 3 are only here, and #3396 cannot go green without them.

🤖 Generated with Claude Code

…n merge

`Merge main into dev` (6947217) brought main's new
`broadcast_moq_transport_20_current_group_join` into
`rs/moq-tokio/tests/broadcast.rs` verbatim. On main that test lives in
`rs/moq-native/tests/broadcast.rs` and predates both #3225 (announcements
are prefix routes) and the moq-native to moq-tokio split, so it does not
compile on dev: `Origin::random()`, `moq_native::{Server,Client}Config`,
`create_broadcast(path, Route)`, and `Update::broadcast` are all gone.

The merge also glued `next_announce`'s doc comment onto the new test.

Ported onto dev's API, matching the neighbouring tests: `origin::spawn`
plus a separate `announce`, `moq_tokio::{listen,connect}::Config`,
`connect_once`, and resolving the announce through
`request_broadcast`. The assertions the test exists for are unchanged.

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

chatgpt-codex-connector Bot commented Sep 4, 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-09-04T21:42:31.542923Z 1488960 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.

`cargo shear` fails on dev: `rs/moq-cli` declares `humantime` and no
source file uses it, so `just check` fails for every branch based on dev
whose diff reaches moq-cli.

The usage-rs migration (#3030) replaced clap's
`value_parser = humantime::parse_duration` with usage-rs' own duration
parsing and removed the dependency in the same commit. main still had the
clap spelling, so `Merge main into dev` (6947217) took main's side of
the manifest and put the dependency back without any of the uses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kixelated kixelated changed the title fix(tokio): repair the draft-20 current-group join test after the main merge fix: repair dev, which the last main merge left uncompilable Sep 4, 2026
`cargo sort --workspace --check --no-format` fails on the root manifest:
`moq-sock` sits above `moq-rtc` and `moq-rtmp` in
`[workspace.dependencies]` instead of after them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@kixelated
kixelated merged commit a0c98e6 into dev Sep 4, 2026
5 checks passed
@kixelated
kixelated deleted the claude/fix-dev-broadcast-test branch September 4, 2026 21:56
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