Repository navigation
base red: webview typecheck and fixed-wait ratchet from #35206 (nightly webview checks) - #35411
teamleaderleo wants to merge 2 commits into
Conversation
#35206 left feat-cmux-next red on the webview checks (nightly webview checks, so no NEXT nightly publishes): - typecheck: agent-pane-peer-copy-paused.test.tsx imported STARTING_READS, which #35206 removed on purpose (a stuck start is read until it leaves the starting stages). The test now asserts that contract: 75 ticks, past the old 60-read cap, are 75 reads, and the timer is never cleared. - typecheck: mock.ts narrowed cmuxAcpmuxMockSlowMs through a repeated cast, which TS does not carry; read it once into a local. - check:fixed-waits: transportDeadlines.test.ts waited a fixed 350 ms. Its mock delay resolved at once, so the reply came back in under 1 ms and only that wait made "elapsed > 20" pass. The test now holds the slow reply until the client's snapshot reports daemonWaitingSince (the 20 ms threshold passed), checks the request is still pending, then releases it and expects {}. Mutating expectReply's deadline back to a reject makes it fail. Verified on a fleet host at f4ebcbc: base typecheck 2 errors and check:fixed-waits 2 waits; head typecheck and check:fixed-waits pass, both test files 9/9 in 5 runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: |
|
Owned by an agent session · session |
|
Found 7 test failures on Blacksmith runners: Failures
|
…mat) - useCloudChatRecovery.ts:79 bound the recheck's result to a variable it never read (#35206); vp lint fails on that warning. The await stays; the binding goes. - transportDeadlines.test.ts: vp fmt. `bun run check` in webviews/ passes on this branch merged with feat-cmux-next 5f776e0 (base: 3 red, fixed-waits, vp lint, vp check). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
FYI: #35409 (merged 13:38Z) already fixed the STARTING_READS typecheck and fixed-wait red on feat-cmux-next, and this PR now conflicts with it. The other webview base reds (icon scale, drawn-height-priority, transcript-long-chat-updates, SentMessageGroup and agent-pane-working-counts) are in #35471. Closing this one is up to its owner. Agent session: agent session |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Base red, priority zero:
nightly webview checks("Webview checks on the build commit") fails on feat-cmux-next since #35206 (a628f50), on nightly-next runs 41830595595 (a628f50) and 41831338230 (b1b0f37), so no NEXT nightly publishes. The step checked out the right commit (build_sha). Two checks fail there, both from #35206:typecheck (2 errors)
webviews/test/agent-pane-peer-copy-paused.test.tsx:188importsSTARTING_READS, which Webview agent pane waits on live daemon requests #35206 removed on purpose ("a busy machine never turns a slow start into a terminal state"). This PR keeps Webview agent pane waits on live daemon requests #35206's behavior and rewrites the test for it: 75 ticks, more than the old 60-read cap, give 75 reads, and the timer is never cleared.webviews/src/agent-session/acpmux/mock.ts:413: TS2345,number | undefined, because the narrowing went through a repeated cast. The value is now read once into a local.check:fixed-waits:
transportDeadlines.test.tswaited a fixed 350 ms. Its mock delay resolved at once, so the reply arrived in 0.2 ms and only the fixed wait madeelapsed > 20true. The test never exercised the deadline. Now it holds the slow reply until the client's snapshot reportsdaemonWaitingSince(the 20 ms threshold passed), checks that the request is still pending, then releases the reply and expects{}.vp lint (web lint on every PR):
useCloudChatRecovery.ts:79bound the recheck's result to a variable it never reads (also from Webview agent pane waits on live daemon requests #35206), andvp lintfails on that warning. The binding is removed; theawaitstays.The only product-code change is the binding removal above; behavior is unchanged.
Red / green
Run on a fleet host at f4ebcbc (feat-cmux-next tip):
bun run typecheckgives 2 errors (above);bun run check:fixed-waitsgives "transportDeadlines.test.ts: 2 fixed waits, baseline 0";bun test test/agent-pane-peer-copy-paused.test.tsxfails "a machine stuck starting is read at most STARTING_READS times".bun test src/agent-session/acpmux/transportDeadlines.test.ts test/agent-pane-peer-copy-paused.test.tsxgives 9 pass, 0 fail, five runs in a row.vp fmt --checkis clean.vp lintshows 0 errors (its one warning is also on base).expectReply's deadline changed back to rejecting, the new transport test fails ("timed out").Merged with feat-cmux-next 5f776e0,
bun run checkin webviews/ passes (base: 3 red, check:fixed-waits, vp lint, vp check).Observed / Not run
Observed: the commands above. Not run: the full webview bun suite and the nightly itself.
Changelog
none
🤖 Generated with Claude Code
Agent session: agent session