Repository navigation
refactor(net): parse a moq-transport SETUP's parameters once - #7354
Conversation
Quest-Claim: 50a5db016ec0e072
`decode_peer_setup` now returns a typed `SetupOptions` (path, token, implementation, declared `Peer`) and `accept_setup` builds its `PeerSetup` from it, so the server's pre-read and the uni loop share one parse. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou'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 4 minutes. View limit details
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. Comment |
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. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head 77369c8 against base 9387174.
No actionable findings in the changed code. The typed parser preserves the peer extension fields, role-specific PATH/AUTHORITY refusals, and token/implementation validation. Traced the pre-read server handshake into session startup: path and credentials remain available to the handshake, while declared options and the original SETUP stream reach the session without re-reading SETUP. The documented malformed-input error precedence change still refuses the input, and the added server-side uni-loop PATH UTF-8 validation is consistent with the pre-read path.
Scope and limits: GitHub-only static review of the full diff, surrounding setup/handshake flow, existing validation tests, and fuzz caller. No build, tests, or fuzzing were run.
(Written by OpenAI)
|
Merging via
(Written by Claude Opus 5.5) |
|
quest land removed this pull request from the queue: the batch check failed (exit 100). Checking http-cache v1.0.0-alpha.8
Checking pipewire v0.10.1
Compiling proc-macro2-diagnostics v0.10.1
Checking moq-sock v0.2.0 (/work/rs/moq-sock)
Checking fs-err v3.3.1
Checking p384 v0.14.0
Checking p256 v0.14.0
Checking arboard v3.7.0
Checking reqwest-middleware v0.5.2
Checking web-transport-trait v0.5.2
Checking moq-auth v0.2.1 (/work/rs/moq-auth)
Checking axum v0.8.9
Checking axum-server v0.8.0
Checking egui-wgpu v0.36.2
Checking http-cache-reqwest v1.0.0-alpha.9
Checking egui-winit v0.36.2
Compiling duplicate v2.0.1
Checking eframe v0.36.2
Checking egui_dock v0.21.1
Checking cpal v0.18.2
Checking moq-json v0.5.8 (/work/rs/moq-json)
Checking moq-loc v0.2.19 (/work/rs/moq-loc)
Checking qmux v0.7.0 (/work/rs/qmux)
Checking hang v0.21.11 (/work/rs/hang)
Checking moq-stats v0.2.12 (/work/rs/moq-stats)
Checking moq-tokio v0.19.23 (/work/rs/moq-tokio)
Checking moq-mux v0.10.11 (/work/rs/moq-mux)
Checking moq-relay v0.17.2 (/work/rs/moq-relay)
Checking moq-audio v0.1.10 (/work/rs/moq-audio)
Checking moq-scene v0.1.0 (/work/rs/moq-scene)
Checking moq-studio v0.1.0 (/work/rs/moq-studio)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
info: running `cargo clippy --locked --tests --all-features -- -D warnings` on moq-wasm (50/51)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.39s
info: running `cargo clippy --locked --tests --all-features -- -D warnings` on uniffi-bindgen (51/51)
Compiling getrandom v0.4.3
Compiling winnow v1.0.4
Compiling uniffi_internal_macros v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling serde v1.0.229
Compiling libc v0.2.191
Checking indexmap v2.14.2
Compiling fs-err v3.3.1
Compiling askama_parser v0.16.1
Compiling basic-toml v0.1.10
Checking nom v7.1.3
Compiling scroll_derive v0.12.1
Checking tempfile v3.27.0
Checking smawk v0.3.3
Compiling askama_derive v0.16.1
Checking serde_json v1.0.154
Checking weedle2 v5.0.0 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling toml_parser v1.1.3+spec-1.1.0
Checking textwrap v0.16.4
Checking uniffi_pipeline v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking scroll v0.12.0
Checking uniffi_meta v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling askama_macros v0.16.1
Compiling toml_datetime v1.1.1+spec-1.1.0
Checking plain v0.2.3
Compiling toml v1.1.6+spec-1.1.0
Checking clap_builder v4.6.7
Checking uniffi_udl v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking goblin v0.8.2
Checking cargo_metadata v0.23.1
Checking askama v0.16.1
Checking uniffi_core v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking clap v4.6.7
Checking uniffi_bindgen v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling uniffi_macros v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking uniffi v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking uniffi-bindgen v0.1.0 (/work/rs/uniffi-bindgen)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.79s
mbx[cache]: object cache: 1219 hits, 0 misses, 209 not looked up; 0 B downloaded, 0 B uploaded, 408.1 MiB stored locally
mbx[cache]: 10m 13s session; 17m 18s estimated compiler time avoided (summed across compilations)
mbx[cache]: 209 compilations had no usable prior inputs or matching prediction for a lookup
mbx[cache]: Cargo artifact reuse and CI cache archive transfers are not included above
mbx[savings]: 2.3 TiB in every checkout, 2.3 TiB on disk. arithmetic declined to comment.
ci: test rs failed
ci: seconds per module
614 check rs
307 test rs (failed)
1262 check rs_shapes
237 check js
46 test js
14 check markdown
3 check gh
48 test gh
66 check flake
0 check drill
5 check quest
9 check ts_paths
21 check shell
1 check large_files
0 check toml
1 check nix
0 check justfile
2183 wall time
error: recipe `ci` failed on line 104 with exit code 100
. |
|
Codex land fixer: moq-doc:check | (pass) tables render as tables > draft-lcurley-moq-timestamp [5.56ms] moq-doc:check | (pass) tables render as tables > draft-lcurley-moq-use-cases [10.60ms] moq-doc:check | (pass) tables render as tables > draft-lcurley-qmux-websocket [5.88ms] moq-doc:check | (pass) tables render as tables > row separators do not split a table apart [54.24ms] moq-doc:check | moq-doc:check | .vitepress/api/index.test.ts: moq-doc:check | (pass) a rendered workspace > each entrypoint gets a page named by its import specifier [6.76ms] moq-doc:check | (pass) a rendered workspace > a re-export from another workspace package links to its owner [6.54ms] moq-doc:check | (pass) a rendered workspace > an external re-export is documented under each public name [29.59ms] moq-doc:check | (pass) a rendered workspace > a namespace export keeps its public name [2.52ms] moq-doc:check | (pass) a rendered workspace > a hidden declaration is documented under the alias that re-exports it [2.59ms] moq-doc:check | �[93m[warning]�[0m Value, defined in @test/hidden/src/access.ts, is referenced by read but not included in the documentation moq-doc:check | �[93m[warning]�[0m Value, defined in @test/hidden/src/access.ts, is referenced by read but not included in the documentation moq-doc:check | (pass) an unexported declaration that a public one names fails the run [381.26ms] moq-doc:check | �[93m[warning]�[0m Failed to resolve link to "Missing" in comment for value moq-doc:check | (pass) a link that does not resolve fails the run [324.62ms] moq-doc:check | moq-doc:check | concept/audio-jitter/corpus.test.ts: moq-doc:check | (pass) audio jitter corpus > paced > matches the checked-in file [0.20ms] moq-doc:check | (pass) audio jitter corpus > paced > is a trace of equal-length clocks [0.03ms] moq-doc:check | (pass) audio jitter corpus > paced > arrives in a monotonic order [0.76ms] moq-doc:check | (pass) audio jitter corpus > paced > names a target for the first frame [0.02ms] moq-doc:check | (pass) audio jitter corpus > paced > reports every target as a change [0.08ms] moq-doc:check | (pass) audio jitter corpus > flush > matches the checked-in file [0.03ms] moq-doc:check | (pass) audio jitter corpus > flush > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > flush > arrives in a monotonic order [0.16ms] moq-doc:check | (pass) audio jitter corpus > flush > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > flush > reports every target as a change moq-doc:check | (pass) audio jitter corpus > advertised > matches the checked-in file [0.03ms] moq-doc:check | (pass) audio jitter corpus > advertised > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > advertised > arrives in a monotonic order [0.16ms] moq-doc:check | (pass) audio jitter corpus > advertised > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > advertised > reports every target as a change moq-doc:check | (pass) audio jitter corpus > buildup > matches the checked-in file [0.04ms] moq-doc:check | (pass) audio jitter corpus > buildup > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > buildup > arrives in a monotonic order [0.24ms] moq-doc:check | (pass) audio jitter corpus > buildup > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > buildup > reports every target as a change [0.01ms] moq-doc:check | (pass) audio jitter corpus > reorder > matches the checked-in file [0.03ms] moq-doc:check | (pass) audio jitter corpus > reorder > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > reorder > arrives in a monotonic order [0.13ms] moq-doc:check | (pass) audio jitter corpus > reorder > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > reorder > reports every target as a change moq-doc:check | (pass) audio jitter corpus > backlog > matches the checked-in file [0.05ms] moq-doc:check | (pass) audio jitter corpus > backlog > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > backlog > arrives in a monotonic order [0.29ms] moq-doc:check | (pass) audio jitter corpus > backlog > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > backlog > reports every target as a change moq-doc:check | (pass) audio jitter corpus > idle > matches the checked-in file [0.03ms] moq-doc:check | (pass) audio jitter corpus > idle > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > idle > arrives in a monotonic order [0.13ms] moq-doc:check | (pass) audio jitter corpus > idle > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > idle > reports every target as a change moq-doc:check | (pass) audio jitter corpus > tunein > matches the checked-in file [0.04ms] moq-doc:check | (pass) audio jitter corpus > tunein > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > tunein > arrives in a monotonic order [0.19ms] moq-doc:check | (pass) audio jitter corpus > tunein > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > tunein > reports every target as a change moq-doc:check | (pass) audio jitter corpus > spike > matches the checked-in file [0.07ms] moq-doc:check | (pass) audio jitter corpus > spike > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > spike > arrives in a monotonic order [0.33ms] moq-doc:check | (pass) audio jitter corpus > spike > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > spike > reports every target as a change moq-doc:check | (pass) audio jitter corpus > straggler > matches the checked-in file [0.04ms] moq-doc:check | (pass) audio jitter corpus > straggler > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > straggler > arrives in a monotonic order [0.17ms] moq-doc:check | (pass) audio jitter corpus > straggler > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > straggler > reports every target as a change moq-doc:check | (pass) audio jitter corpus > fixed > matches the checked-in file [0.02ms] moq-doc:check | (pass) audio jitter corpus > fixed > is a trace of equal-length clocks moq-doc:check | (pass) audio jitter corpus > fixed > arrives in a monotonic order [0.09ms] moq-doc:check | (pass) audio jitter corpus > fixed > names a target for the first frame moq-doc:check | (pass) audio jitter corpus > fixed > reports every target as a change moq-doc:check | moq-doc:check | 130 pass moq-doc:check | 0 fail moq-doc:check | 15955 expect() calls moq-doc:check | Ran 130 tests across 3 files. [5.08s] moq-doc:check | API reference: 17 packages in 59.0s moq-doc:check | moq-doc:check | �[32m�[1mvitepress�[22m v1.6.4�[39m moq-doc:check | moq-doc:check | - building client + server bundles... moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m �[1mvitepress-plugin-llms�[22m initialized �[2m(client build)�[22m with workDir: �[36m/work/doc�[39m moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Build started, file collection cleared moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Processing �[1m123�[22m markdown files from �[36m/work/doc�[39m moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Generating �[36mllms.txt�[39m... moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Generating full documentation bundle (�[36mllms-full.txt�[39m)... moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed concept/audio-jitter.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/c.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed draft/moq-flate.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin/demo.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/rs/hang.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed concept/use-case/ai.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin/relay/http.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Generated �[36mllms.txt�[39m (~�[1m4.6K�[22m tokens, �[1m14.2 kB�[22m) with �[1m123�[22m documentation links moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed setup/agent.md moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin.md moq-doc:chequest: fixer agent exited 101 (written by Codex) |
|
quest land removed this pull request from the queue: the batch check failed (exit 1). Checking rcgen v0.14.10
Checking ashpd v0.13.13
Compiling proc-macro2-diagnostics v0.10.1
Checking http-cache v1.0.0-alpha.8
Checking moq-sock v0.2.0 (/work/rs/moq-sock)
Checking fs-err v3.3.1
Checking p256 v0.14.0
Checking p384 v0.14.0
Checking arboard v3.7.0
Checking reqwest-middleware v0.5.2
Checking web-transport-trait v0.5.2
Checking egui-winit v0.36.2
Checking prometheus-client v0.25.1
Checking axum v0.8.9
Checking axum-server v0.8.0
Checking egui-wgpu v0.36.2
Checking http-cache-reqwest v1.0.0-alpha.9
Checking moq-auth v0.2.1 (/work/rs/moq-auth)
Compiling duplicate v2.0.1
Checking moq-stats v0.2.12 (/work/rs/moq-stats)
Checking eframe v0.36.2
Checking egui_dock v0.21.1
Checking moq-tokio v0.19.23 (/work/rs/moq-tokio)
Checking moq-relay v0.17.2 (/work/rs/moq-relay)
Checking pipewire v0.10.1
Checking cpal v0.18.2
Checking moq-audio v0.1.10 (/work/rs/moq-audio)
Checking moq-scene v0.1.0 (/work/rs/moq-scene)
Checking moq-studio v0.1.0 (/work/rs/moq-studio)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.87s
info: running `cargo clippy --locked --tests --all-features -- -D warnings` on moq-wasm (51/52)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s
info: running `cargo clippy --locked --tests --all-features -- -D warnings` on uniffi-bindgen (52/52)
Compiling getrandom v0.4.3
Compiling winnow v1.0.4
Compiling uniffi_internal_macros v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling serde v1.0.229
Compiling libc v0.2.191
Checking indexmap v2.14.2
Compiling fs-err v3.3.1
Compiling askama_parser v0.16.1
Compiling basic-toml v0.1.10
Checking nom v7.1.3
Compiling scroll_derive v0.12.1
Checking smawk v0.3.3
Compiling askama_derive v0.16.1
Checking tempfile v3.27.0
Checking serde_json v1.0.154
Checking weedle2 v5.0.0 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking textwrap v0.16.4
Compiling toml_parser v1.1.3+spec-1.1.0
Checking uniffi_pipeline v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking scroll v0.12.0
Compiling toml_datetime v1.1.1+spec-1.1.0
Checking uniffi_meta v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling askama_macros v0.16.1
Checking plain v0.2.3
Checking clap_builder v4.6.7
Checking cargo_metadata v0.23.1
Compiling toml v1.1.6+spec-1.1.0
Checking uniffi_udl v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking goblin v0.8.2
Checking askama v0.16.1
Checking clap v4.6.7
Checking uniffi_core v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking uniffi_bindgen v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Compiling uniffi_macros v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking uniffi v0.32.2 (https://github.com/kixelated/uniffi-rs?rev=88d835d#88d835d6)
Checking uniffi-bindgen v0.1.0 (/work/rs/uniffi-bindgen)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.74s
mbx[cache]: object cache: 1328 hits, 58 misses, 40 not looked up; 0 B downloaded, 0 B uploaded, 192.7 KiB stored locally
mbx[cache]: 2m 41s session; 27m 41s estimated compiler time avoided (summed across compilations)
mbx[cache]: 40 compilations had no usable prior inputs or matching prediction for a lookup
mbx[cache]: Cargo artifact reuse and CI cache archive transfers are not included above
mbx[savings]: every checkout believes it owns 2.5 TiB of outputs. the disk keeps one copy and says nothing.
ci: check quest failed
ci: seconds per module
310 check rs
159 test rs
326 check rs_shapes
170 check obs_compile
498 check js
80 test js
15 check markdown
3 check gh
73 test gh
218 check flake
0 check drill
10 check quest (failed)
4 check obs
12 check ts_paths
48 check shell
1 check large_files
1 check toml
0 check nix
0 check justfile
796 wall time
error: recipe `ci` failed on line 106 with exit code 1
. |
|
codex / Codex land fixer: (written by codex / Codex) |
|
quest land removed this pull request from the queue: the batch check failed (exit 101). moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/msf.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/loc.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/hang/hls.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/hang/catalog.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/pattern.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/publish.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/net.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/json.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/hang/util.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/publish/support.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/net.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/publish.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/publish/ui.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/publish/element.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/room.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/room.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/qmux.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/signals.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/video.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/video.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/signals.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/ui.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/signals/react.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/watch.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/watch.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/signals/solid.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/watch/support.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/watch/element.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed lib/js/api/watch/ui.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin/relay/auth.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin/relay/config.md
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m�[32m✓�[39m Processed bin/relay/cluster.md
moq-doc:check | �[33m
moq-doc:check | (!) Some chunks are larger than 500 kB after minification. Consider:
moq-doc:check | - Using dynamic import() to code-split the application
moq-doc:check | - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
moq-doc:check | - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.�[39m
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m �[1mvitepress-plugin-llms�[22m initialized �[2m(SSR build)�[22m with workDir: �[36m/work/doc�[39m
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Build started, file collection cleared
moq-doc:check | �[34mllmstxt�[39m�[2m » �[22m Skipping LLMs docs generation in SSR build
moq-doc:check | �[32m✓�[0m building client + server bundles...
moq-doc:check | - rendering pages...
moq-doc:check | �[32m✓�[0m rendering pages...
moq-doc:check | build complete in 65.28s.
moq-doc:check | Done in 68.79s
Checked 1236 files in 3s. No fixes applied.
@moq/auth:build | ✍️ Rewriting package.json...
@moq/auth:build | 🔗 Converted @moq/clock: workspace:^ → ^0.1.0
@moq/auth:build | 🔗 Converted @moq/pattern: workspace:^ → ^0.2.1
@moq/auth:build | 📄 Copying README.md...
@moq/auth:build | 🔍 Running publint...
@moq/auth:build | 📦 Package built successfully in dist/
@moq/auth:build | ✍️ Generating jsr.json...
@moq/auth:build | 📦 jsr.json written
@moq/auth:build | Done in 2.18s
@moq/boy:build | �[36mvite v8.3.4 �[32mbuilding client environment for production...�[36m�[39m
@moq/boy:build | transforming...
@moq/boy:build | ✓ 133 modules transformed.
@moq/boy:build | rendering chunks...
@moq/boy:build | computing gzip size...
@moq/boy:build | dist/index.js 0.23 kB │ gzip: 0.17 kB
@moq/boy:build | dist/element.js 41.59 kB │ gzip: 12.36 kB │ map: 159.54 kB
@moq/boy:build | dist/game-DQmV_y9C.js 42.28 kB │ gzip: 11.67 kB │ map: 376.14 kB
@moq/boy:build |
@moq/boy:build | �[32m✓ built in 7.06s�[39m
@moq/boy:build | ✍️ Rewriting package.json...
@moq/boy:build | 🔗 Converted @moq/clock: workspace:^ → ^0.1.0
@moq/boy:build | 🔗 Converted @moq/json: workspace:^ → ^0.4.2
@moq/boy:build | 🔗 Converted @moq/net: workspace:^ → ^0.4.2
@moq/boy:build | 🔗 Converted @moq/watch: workspace:^ → ^0.6.2
@moq/boy:build | 🔗 Converted @moq/signals: workspace:^ → ^0.2.5
@moq/boy:build | 📄 Copying README.md...
@moq/boy:build | 🔍 Running publint...
@moq/boy:build | 📦 Package built successfully in dist/
@moq/boy:build | Done in 31.60s
@moq/clock:build | ✍️ Rewriting package.json...
@moq/clock:build | 📄 Copying README.md...
@moq/clock:build | 🔍 Running publint...
@moq/clock:build | 📦 Package built successfully in dist/
@moq/clock:build | ✍️ Generating jsr.json...
@moq/clock:build | 📦 jsr.json written
@moq/clock:build | Done in 1.24s
@moq/demo:build | �[36mvite v8.3.4 �[32mbuilding client environment for production...�[36m�[39m
error: recipe `check-changed` failed on line 31 with exit code 143
ci: test rs failed
ci: seconds per module
42 check rs
90 test rs (failed)
132 check js (cancelled)
40 check flake
0 check drill
2 check quest
2 check ts_paths
15 check shell
0 check large_files
1 check toml
0 check nix
0 check justfile
132 wall time
error: recipe `ci` failed on line 107 with exit code 101
. |
|
codex / Codex land fixer: (written by codex / Codex) |
|
quest land removed this pull request from the queue: the batch check failed (exit 1). Checking tokio-stream v0.1.19
Checking md-5 v0.11.0
Checking arc-swap v1.9.2
Checking tinytemplate v1.2.1
Checking page_size v0.6.0
Checking pretty-hex v0.4.2
Checking anes v0.1.6
Checking oorandom v11.1.5
Checking retina v0.4.21
Checking object_store v0.14.2
Checking axum-server v0.8.0
Checking srt-tokio v0.4.4
Checking uniffi v0.32.2
Checking http-cache-reqwest v1.0.0-alpha.9
Checking egui_dock v0.21.1
Checking gstreamer-audio v0.25.4
Checking criterion-plot v0.8.2
Checking rustls-acme v0.15.4
Checking eframe v0.36.2
Checking moq-ice v0.1.0 (/work/rs/moq-ice)
Checking m3u8-rs v6.0.1
Checking quick_cache v0.7.0
Checking rind v0.1.0
Checking sd-notify v0.5.0
Checking sysinfo v0.39.6
Checking bytesize v2.7.0
Checking send_wrapper v0.6.0
Documenting moq-ice v0.1.0 (/work/rs/moq-ice)
Documenting moq-auth v0.2.1 (/work/rs/moq-auth)
Documenting moq-nvenc v0.1.2 (/work/rs/moq-nvenc)
Documenting moq-sock v0.2.0 (/work/rs/moq-sock)
Checking criterion v0.8.2
Documenting moq-shaper v0.0.1 (/work/rs/moq-shaper)
Documenting moq-quic v0.1.0 (/work/rs/moq-quic)
Documenting moq-congestion v0.1.0 (/work/rs/moq-congestion)
Documenting kio-macros v0.1.0 (/work/rs/kio/macros)
Documenting moq-net v0.3.10 (/work/rs/moq-net)
Documenting moq-msf v0.5.1 (/work/rs/moq-msf)
Documenting bench-harness v0.0.1 (/work/rs/bench-harness)
Documenting kio v0.6.2 (/work/rs/kio)
Documenting moq-pattern v0.1.2 (/work/rs/moq-pattern)
Documenting moq-v4l v0.1.0 (/work/rs/moq-v4l)
Documenting libmoq v0.6.12 (/work/rs/libmoq)
Documenting moq-native v0.20.0 (/work/rs/moq-native)
Documenting test-env v0.0.1 (/work/rs/test-env)
Checking moq-json v0.5.8 (/work/rs/moq-json)
Checking moq-loc v0.2.19 (/work/rs/moq-loc)
Checking qmux v0.7.0 (/work/rs/qmux)
Documenting moq-json v0.5.8 (/work/rs/moq-json)
Documenting moq-archive v0.0.11 (/work/rs/moq-archive)
Documenting moq-sign v0.0.1 (/work/rs/moq-sign)
Documenting qmux v0.7.0 (/work/rs/qmux)
Documenting moq-e2ee v0.0.11 (/work/rs/moq-e2ee)
Checking hang v0.21.11 (/work/rs/hang)
Checking moq-tokio v0.19.23 (/work/rs/moq-tokio)
Checking moq-stats v0.2.12 (/work/rs/moq-stats)
Documenting moq-tokio v0.19.23 (/work/rs/moq-tokio)
Documenting hang v0.21.11 (/work/rs/hang)
Documenting moq-room v0.2.11 (/work/rs/moq-room)
Checking moq-mux v0.10.11 (/work/rs/moq-mux)
Documenting moq-mux v0.10.11 (/work/rs/moq-mux)
Documenting moq-stats v0.2.12 (/work/rs/moq-stats)
Documenting moq-uring v0.0.12 (/work/rs/moq-uring)
Documenting moq-loc v0.2.19 (/work/rs/moq-loc)
error[E0609]: no field `entries` on type `&&mp4_atom::Trun`
--> rs/moq-mux/src/container/mp4.rs:286:52
|
286 | for trun in traf.trun.iter().filter(|trun| !trun.entries.is_empty()) {
| ^^^^^^^ unknown field
|
= note: available fields are: `data_offset`, `samples`
error[E0609]: no field `entries` on type `&mp4_atom::Trun`
--> rs/moq-mux/src/container/mp4.rs:293:17
|
293 | count: trun.entries.len() as u32,
| ^^^^^^^ unknown field
|
= note: available fields are: `data_offset`, `samples`
error[E0609]: no field `entries` on type `&mp4_atom::Trun`
--> rs/moq-mux/src/container/mp4.rs:295:23
|
295 | for entry in &trun.entries {
| ^^^^^^^ unknown field
|
= note: available fields are: `data_offset`, `samples`
Documenting moq-relay v0.17.2 (/work/rs/moq-relay)
For more information about this error, try `rustc --explain E0609`.
error: could not compile `moq-mux` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
error: recipe `lint-changed` failed on line 70 with exit code 143
ci: check py failed
ci: seconds per module
28 check py (failed)
28 check rs (cancelled)
28 check c (cancelled)
28 wall time
error: recipe `ci` failed on line 107 with exit code 1
. |
|
codex / Codex land fixer: (written by codex / Codex) |
Finishes
quest/m2/setup-parse-once.md(One typed SETUP parse).Summary
ietf::decode_peer_setupnow returns a typedSetupOptions(path, token, implementation, declaredPeer). It is the only place a moq-transport SETUP parameter block gets parsed.ietf::accept_setup(the server's pre-read) calls it and embeds the result asPeerSetup::options, the same waylite::AcceptedSetupembeds itssetup. The uni loop calls it too.peer_from_paramsis inlined, since it now has a single caller.server.rsreads the client's path, token, implementation, and declared options frompeer_setup.options.quest/m2/README.md.Choices made without asking
server.rsthat builtPeerby hand without cluster, auth, or epoch. That copy was removed with the moq-transport drafts 14 to 17 in moq-dev/moq#6753, so the Plan's question (was the difference intended?) no longer applies. Two copies remained, both inietf/session.rs, and this PR merges them.accept_setupnow parses every option before it refuses a PATH on a URI-bound transport (ProtocolViolation, from moq-dev/moq#7206). A SETUP that both carries a PATH on a URI binding and has a malformed token, implementation, or extension now closes with the decode error instead. The SETUP is refused either way.accept_setup, so only test sessions reach the uni loop as a server. There, a client PATH that is not UTF-8 is now refused rather than ignored, the same as on the pre-read path. The fuzz property (any block a client accepts from its server, a server accepts from its client) still holds, because the client side refuses any PATH at all.Checks
just check origin/main: passed (check rs, test rs, rs_shapes, markdown, gh, quest, shell, toml, nix, justfile).Review
quest review), gpt-6.1-sol, medium effort, round 1.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code