Merge main into dev#1800
Merged
Merged
Conversation
Co-authored-by: moq-bot[bot] <186640430+moq-bot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Luke Curley <kixelated@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…7.3 (#1790) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…1792) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: moq-bot[bot] <186640430+moq-bot[bot]@users.noreply.github.com>
… aarch64-linux (#1793) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…o-dev-992spq # Conflicts: # Cargo.lock # Cargo.toml # js/moq-boy/src/index.ts # js/net/src/lite/origin.ts # js/watch/src/audio/decoder.ts # js/watch/src/backend.ts # js/watch/src/element.ts # js/watch/src/sync.ts # js/watch/src/ui/components/buffer-control.ts # js/watch/src/ui/components/latency.ts # rs/moq-boy/src/input.rs # rs/moq-native/tests/backend.rs # rs/moq-relay/src/connection.rs
The merge resolution left the #runCommandTrack signature on one line, which exceeds biome's line width. Format it the way biome expects. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UamaFPRMNUFDkeHXtrsRr8
The merge left dev's `info.path as *const u8` cast. On targets where `c_char` is `u8` (aarch64), that cast is to the same type and clippy's unnecessary_cast fires under -D warnings. Use `.cast::<u8>()`, which is correct whether c_char is signed or unsigned, matching the other call sites. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UamaFPRMNUFDkeHXtrsRr8
The `wasm` recipe hardcoded the relative `target/` path for the wasm-bindgen input, so it broke on runners that redirect the cargo target directory (cargo wrote the .wasm under $CARGO_TARGET_DIR while wasm-bindgen looked in ./target). Honor $CARGO_TARGET_DIR with a `target` fallback so it works in both setups. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UamaFPRMNUFDkeHXtrsRr8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges
origin/mainintodev. Most files merged cleanly; 13 conflicts were resolved, several of them semantic wheremainanddevtouched the same code with diverging APIs.Conflict resolutions
Rust
Cargo.toml/Cargo.lock: kept dev'smoq-hlscrate and took main's releasedmoq-json0.0.4 bump. RegeneratedCargo.lockwith cargo.rs/moq-relay/src/connection.rs: kept dev's conditional session builder (only sets the side the token grants, using the non-deprecatedwith_publisher/with_subscriber). Layered in main's credential-expiry handling, which needs the session boundmutso it can callsession.close(...).rs/moq-boy/src/input.rs: kept main'smoq-jsonConsumercommand loop, adapted onto dev's track-subscribe API (broadcast.track("command")?.subscribe(None)?.await?yields theTrackSubscriberthatmoq_json::Consumer::newwants).rs/moq-native/tests/backend.rs: used the non-deprecated forms from each side:peer_identity().is_some()(main) +with_publisher(dev).JS
js/net/src/lite/origin.ts: dropped dev's stale 62-bit doc paragraph; the code (and the RustOrigin::randomcounterpart) caps the random id at 53 bits, which main's TEMPORARY note already documents.js/moq-boy/src/index.ts: kept main'sJson.Producercommand track, adapted onto dev's request API (req.accept()returns theMoq.TrackProducerthe producer wraps).js/watch/*(the big ones): dev refactored watch into aninput/output(Inputs/Readonlys/getter/readonlys) architecture while main added buffered-playback latency ranges (feat(watch): latency range with buffered playback #1620). Folded main's feature set into dev's architecture:sync.ts: rangeLatencytype +latencyBounds/latencyFromBounds,buffered/maxBufferoutputs,#runRange/#latencyCap/#setReference/reset, and the cap-awarereceived()logic, all routed through dev'sinput/#output.decoder.ts:#consumerLatencydriven bysync.output.maxBuffer,createAudioBuffer(..., buffered),ring.wait()backpressure, andreset().backend.ts:reset()+#audioDecoder, exposedoutput.buffered.element.ts:latency-min/latency-maxattributes,latencyMin/latencyMax/reset()accessors, all read-modify-writing the element-ownedcontrols.latency.sync.test.ts+ UIlatency.ts/buffer-control.ts: updated to the merged.outputsurface and the buffered-awarelatencyMinsetters.Test plan
cargo check(incl.--tests) formoq-net,moq-relay,moq-boy,moq-nativetsc --noEmitforjs/watch,js/moq-boy,js/net,demo/webbun testinjs/watch(78 pass, incl. the 6 new latency-range tests)#runCommandTracksignature that biome flagged)cargo test -p moq-relay -p moq-boy: passes except themoq-relaysmoke tests, which fail only in this sandbox because it has no IPv6 (Quinn(BindSocket(... "Address family not supported by protocol"))at the[::]:0bind in shared test setup, before any merged logic runs). Not a merge regression; expected to pass on CI's runner.(Written by Claude)