Repository navigation
fix(interop): pass lookahead a Duration and remeasure wire-compat pins - #8512
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
Codex Review Summary: ✅ CompletedThis 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. |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
No actionable comments were generated in the recent review. WalkthroughThe browser test now uses a Merge Risk:
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Harness caller updated for the
DurationAPI —publish-ui.browser.tsrestoredlookaheadwith the number0, which the property has refused since #8295. It now captures the page bundle's ownDurationfrom a throwawaymoq-watch(the test file'sDurationclass would fail the setter'sinstanceof), closes that probe'ssignals, and uses the captured default as the case's valid value. The invalid value stays"30", so both the unit-less-attribute refusal and the non-Durationproperty throw are still asserted. - Wire-compat pins refreshed —
planned-breaks.jsonmoves themoq-lite-07-wipbreak from moq-cli 0.14.15 / moq-relay 0.17.15 to 0.14.16 / 0.17.16, leaving@moq/netat 0.4.7 and the reason text unchanged.
Verified while reviewing: 0.14.16 and 0.17.16 are the newest stable non-yanked crates and @moq/net latest is 0.4.7, so a plain just test wire-compat now passes the stale check; the "16 cells" in the reason match compat.sh's shape of 2 relay × 2 publisher sources × 4 lanes, with fetch-capability separate as described; resolve.test.ts passes (11/11); the JSON is biome-clean; and bunx tsc --noEmit -p test/interop/clients/js/tsconfig.json passes. The scheduled-run log confirms the only harness failure was the invalid lookahead="0" assertion and the wire-compat failure was exactly the stale moq-cli pin. The browser test itself and the full remeasure were not run here (no Playwright chromium, and the remeasure needs released binaries), so the "same 16 cells fail" claim rests on the PR body.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Problem
Scheduled Interop run 43052960736 failed two deterministic steps:
publish-ui.browser.ts's invalid-attribute check restoreslookaheadwith the number0. Since moq-dev/moq#8295 the property takes aDuration, so the setter refuses it (invalid lookahead="0", expected a Duration). The caller is stale; the element is right.moq-lite-07-wipplanned break stale.The port-reservation and
FAIL pinned/timeout/empty roundlines in the same job are passing negative self-tests, not failures.Approach
lookaheadwith the page's ownDuration(a freshmoq-watch's default), since the test'sDurationclass differs from the page bundle's.just test wire-compat --remeasure: the same 16 cross-version lite-07-wip cells fail, so only the release pins move and the reason stands.Impact
Alternatives
lookaheadsetter: rejected, it would undo feat(js)!: durations and instants are Clock types, not numbers #8295's decision that durations are Clock types.Follow-ups
CONTRIBUTING.md, Releases).Checks
just test harness: passes (49 browser tests).just test wire-compat --remeasure: passes.just checkandjust ci: pass.Models
🤖 Generated with Claude Code
(Written by Opus 5.5)
Review
Rewritten by
quest reviewafter each round.01a1cbfc-4d98-7661-b996-d72edac9b3ad, round 1The changes are small and coherent with no actionable defects found by source inspection, though tests were not run as instructed.