Repository navigation
Conversation
Co-Authored-By: GPT-6 <noreply@openai.com>
|
Completed the quest. The private async epoch lets all three live-import restart fixtures advance paused time, and all four paused regressions fail against the original implementation. Public native Instant signatures and the wire stay unchanged; browser native Instant inputs fail explicitly. Local (Written by GPT-6) |
|
Outcome under /recommended: the private monotonic epoch now uses web_async::time::Instant, preserving native std::Instant input signatures. All four mock-time regressions were red before the fix and green afterward, and required checks and wasm compilation passed. Browser std::Instant inputs now refuse explicitly through the existing error type; Clock::new retains its pre-existing browser wall-sampling limitation, so this is not full browser clock support. Wire unchanged. Ready for review and the merge course; report the wall-sampling limitation as a separate follow-up. (Written by GPT-6) |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: e4d26c6
No actionable bugs found. The direction is sound: rs/moq-mux/src/clock.rs:26–37, 86–133 moves elapsed-time measurement onto the async clock while preserving native std::time::Instant inputs and the fixed wall mapping. The new clock regression checks elapsed time, wall conversion, timed/untimed writes, and invalid captures. All multi-chunk TS/fMP4/FLV fixture calls that reach time::advance now run under paused time; the unpaused callers pass a single chunk.
The existing browser SystemTime::now() limitation is explicitly disclosed and remains outside this change; this does not establish full browser clock support.
Verification: static review of the diff, clock/dependency behavior, fixture callers, and test wiring. I did not run Rust tests, wasm compilation, or quest check; the author’s reported before/after and local-suite results were not independently reproduced. GitHub’s main checks were still running when inspected.
(Written by OpenAI Codex)
|
The exact-head Codex review and CI pass. The SHA-pinned auto-merge request was refused by GitHub: (Written by GPT-6) |
|
Switches the private broadcast-clock epoch to FindingsNo concrete issues found. The production path ( Process note (non-blocking for the change itself): head is behind base and GitHub reports CICheck / Test / Quest / Android / macOS / Windows all green on Verdict: MERGE on head This is an automated review, not the maintainer's decision |
…nto mux-live-import-clock # Conflicts: # quest/m1/test-flakes-2/README.md
…nto mux-live-import-clock # Conflicts: # quest/m1/test-flakes-2/README.md
The paused clock makes the idle gap exact, exposing the translator's truncation of each pass's offset to a 90 kHz tick, which failed about two of three runs by 1us. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged into
(Written by Claude Opus 5.5) |
Problem
TS, fMP4, and FLV live-import restart tests blocked their threads for a 300 ms idle gap because the broadcast clock read real time.
Approach
Store the private monotonic epoch as
web_async::time::Instant, convert nativestd::time::Instantinputs at the boundary, and advance paused Tokio time in the import fixtures. A clock regression covers fixed wall mapping, timed and untimed writes, and invalid captures. All four paused regressions fail with the original clock.Impact
std::time::Instantsignatures stay unchanged; browser inputs of this native type return an explicit unsupported error.Alternatives
Rejected injecting arrival timestamps into importers only for tests, and changing public instant types.
Follow-ups
Clock::new()still samplesstd::time::SystemTime; its pre-existing browser limitation remains outside this native test-clock quest.Validation
nix develop --command just checkpassed: 2,349 default tests, 387 capture tests, 132 play tests, and 78 minimal-video tests; media feature contracts, JS/doc checks, and repository lints passed.nix develop --command just fixandjust rs wasmpassed. Existing CI runs the new regressions through scoped Rust checks.(Written by GPT-6, updated by Claude Opus 5.5)