Repository navigation
fix(moq-video): nightly's Windows platform job passes - #8429
Conversation
Quest-Claim: 95e06d4825e3eaeb
…t calls it Windows' render-only test build has no backend that calls it, so build.warnings = deny failed platform.yml's Rust tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit 8f0fee8.
No actionable defects found. The test-only encode_all helper's cfg matches its backend-test callers (OpenH264, VideoToolbox, Android MediaCodec, and Linux VA-API), removing it from Windows render-only builds without changing production behavior. The completed quest and its README entry are removed together. Overall direction: the targeted conditional-compilation fix looks sound.
Verification: inspected the full diff and backend call sites through GitHub. The linked after-run 42801241203 reports successful Windows and macOS jobs, including Rust compile/tests. I did not run local builds/tests or independently exercise every platform/feature combination.
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Gated
Backend::encode_allto its real callers — the test helper is now compiled only undertestplus one ofopenh264,apple, Androidmediacodec, or Linuxvaapi, so the render-only Windows test build no longer tripsbuild.warnings = denywithdead_code.flush_allkeeps its#[cfg(test)]+allow(dead_code)for the reason the body records. - Completed the quest — deleted
quest/m0/nightly/windows.mdand its## Requiredbullet inquest/m0/nightly/README.md; no other file referenced the slug.
I audited every two-argument encode_all call site in the crate: they are all in the vaapi, openh264, mediacodec, and videotoolbox test modules, and each module's own cfg is one of the four in the new gate. nvenc, v4l2, and mediafoundation tests only call the encode::Encoder helper (one argument), so they compile unchanged where the new gate is false — including the just rs media-features --features nvidia and bare --no-default-features shapes. Default features are mediacodec, nvidia, vaapi, so the gate is false on Windows (the failing build) and true on Linux, macOS, and Android as intended. Run 42801241203 on this branch confirms Windows Rust compile and Rust tests both pass.
The hand-maintained cfg list duplicates the backend module gates, but drift in either direction fails loudly (unused helper → dead_code, removed helper → compile error), so it needs no extra guard.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
|
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 8 minutes. View limit details
No actionable comments were generated in the recent review. WalkthroughThe test-only Merge Risk:
|
|
quest land watch: the merge queue removed this pull request at 8f0fee8 because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
Drop links to quests the base finished from quest/README.md, quest/m0/README.md, quest/m0/ci/README.md, quest/m0/nightly/README.md, quest/m0/test-flakes-2/README.md, quest/m1/README.md, quest/m1/audio-jitter-target/README.md, quest/m1/explicit-state/README.md, quest/m1/stream-credit/README.md, quest/m2/README.md, quest/m2/api-shape/README.md, quest/m2/cluster-routing/README.md, quest/m2/cluster-routing/routes/README.md, quest/m2/probe/README.md, quest/m2/subscribe-ranges/README.md, quest/m2/time-addressing/README.md, quest/m2/unbounded-groups/README.md, quest/m3/README.md, quest/m3/c/README.md, quest/m3/cache-routing/README.md, quest/m3/intra-refresh/README.md, quest/m3/layers/README.md, quest/m3/mesh/README.md, quest/m3/obs-moq-video/README.md, quest/m3/obs-studio/README.md, quest/m3/one-port/README.md, quest/m3/qos/README.md, quest/m3/quic-realtime/README.md, quest/m3/release/README.md, quest/m3/stats/README.md, quest/m3/stream/README.md, quest/m3/vendor-sync/README.md, quest/m3/video-quality/README.md, quest/m3/webrtc/README.md, quest/m3/wire-stats/README.md, quest/m4/README.md, quest/m4/kio-channel-contention/README.md, quest/m4/p2p/README.md, quest/m4/perf/README.md, quest/m4/stream-transports/README.md, quest/m5/README.md, quest/m5/e2ee/README.md, quest/m5/net-wrap/README.md.
There was a problem hiding this comment.
Caution
The new merge commit 74d26316c deletes the child list from every quest README, so merging this PR would remove 39 ## Required sections and 668 lines that main still has.
Reviewed changes
Re-reviewed the delta since the prior pullfrog review (8f0fee8).
- Merged
mainat5e962fc— merge commit74d26316cbrings in #8427 and #8397. TheBackend::encode_allgate and thequest/m0/nightly/windows.mddeletion from8f0fee8are unchanged. - The merge resolution regressed quest content — the resulting tree no longer matches
mainfor 43 quest READMEs (below).
🚨 The merge dropped every quest README's child list
git diff origin/main...HEAD is now 45 files with 668 deletions, and almost all of it is quest content that main still has. 39 quest READMEs lose their ## Required section (quest/README.md, every m0–m5 index, and the epic READMEs), quest/m3/mesh/README.md also loses its ## Related child bullets, and quest/m5/e2ee/README.md loses its own child list. quest/m0/nightly/README.md loses the macOS bullet too, not just the intended Windows one.
This is not part of the fix: the branch at 8f0fee8 and main at 5e962fc both carry these lists, so the "merge tested base" step produced content neither parent had. The Quest check passes without them, so it will not catch this before it lands.
Technical details
# Restore the quest lists the merge dropped
## Affected sites
- `quest/README.md` — `## Required` deleted (old lines 55-62); the milestone index.
- `quest/m0/README.md`, `quest/m1/README.md`, `quest/m2/README.md`, `quest/m3/README.md`, `quest/m4/README.md`, `quest/m5/README.md` — same.
- `quest/m0/ci/README.md`, `quest/m0/nightly/README.md`, `quest/m0/test-flakes-2/README.md` — same.
- `quest/m1/*/README.md` (3), `quest/m2/*/README.md` (9), `quest/m3/*/README.md` (14), `quest/m4/*/README.md` (4), `quest/m5/e2ee/README.md`, `quest/m5/net-wrap/README.md` — same.
- `quest/m3/mesh/README.md` — the `## Related` child bullets are gone while the heading remains.
- `quest/m0/nightly/README.md` — the macOS bullet was dropped along with the Windows one it was meant to remove.
## Required outcome
- The quest files match `main` except for the intended removal of `quest/m0/nightly/windows.md` and its own bullet in `quest/m0/nightly/README.md`.
- Re-merge `main` (or rebase the two branch commits) so the "quest land: merge tested base" commit no longer reverts main's quest content.
## Suggested approach
- Re-run the merge and confirm with `git diff origin/main...HEAD --stat` that only `rs/moq-video/src/encode/backend/mod.rs`, `quest/m0/nightly/windows.md`, and `quest/m0/nightly/README.md` differ.
- `git diff origin/main...HEAD -- quest/ | grep '^-##'` should then show only the `windows.md` headings.
## Open questions for the human
- Is the quest-land merge driver expected to rewrite these lists? If it regenerated them from a stale tree, the driver likely needs the fix upstream too.deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
|
quest land watch: the merge queue removed this pull request at 74d2631 because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
Codex land fixer: quest land check: [Errno 32] Broken pipe (written by Codex) |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
Re-reviewed the delta since the prior pullfrog review (74d2631).
- Restored the quest content the stale merge dropped —
22b2ba4re-adds the 370 lines of## Required/## Relatedchild lists across 38 quest READMEs, including thequest/m0/nightly/README.mdmacOS bullet, so the branch no longer reverts main's quest tree. - Merged
mainat554ac7d— brings in #8402, #8420, #8421, #8422, and #8428 with no further conflicts. - The fix and the quest completion are untouched — the
Backend::encode_allgate and thequest/m0/nightly/windows.mddeletion are unchanged from8f0fee8.
The branch now differs from main in exactly the three intended files (+9 / -33), and nothing references /quest/m0/nightly/windows.md anymore. The prior request-changes (review 5845171820) is fully addressed.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Summary
Finishes
quest/m0/nightly/windows.md.platform.yml's Windows job fails on main becauseBackend::encode_all, a test helper from moq-dev/moq#8372, is never used in the render-only test build (just rs test -p moq-video --no-default-features --features render), andbuild.warnings = denyturns that into an error. It now compiles only where a backend test calls it: OpenH264, Apple, Android MediaCodec, Linux VA-API.Of the quest's three known causes, only this one remained on main:
moq-vaapioff Linux: already fixed by moq-dev/moq#8258.moq-relaymemory test unused items: already fixed; the 2026-11-09 nightly'splatform / Windowsran themoq-relaytests green.encode/backend/mod.rsdead code: on main since feat(video)!: codecs split submission from receive #8372, which merged after that green nightly. Fixed here.Verification
quest gatewaited an hour on host load without starting.Choices made without asking
flush_all's existing#[allow(dead_code)]: gating it the same way needs a second, different backend list (OpenH264's tests don't call it), which drifts more than it saves.Caused by
encode_allas plain#[cfg(test)]with no caller on Windows.Public API: none. Wire: none.
Models
Size: S
Implementer: Claude Code, claude-opus-5-5, low effort
🤖 Generated with Claude Code
(Written by Claude Opus 5.5 with low)
Review
mechanical fix by quest land watch:
merged main at 5e962fc7f1f559f79212a1920fe12b0f6b76bb39 with the quest merge driver(head 74d2631)Rewritten by
quest reviewafter each round.01a1c530-8a4d-7c73-b5ca-19597716625c, round 1The conditional compilation matches the backend tests using the helper and preserves production behavior; source review found no actionable defects, with builds and tests intentionally not run.