Skip to content

base red: webview typecheck and fixed-wait ratchet from #35206 (nightly webview checks) - #35411

Closed
teamleaderleo wants to merge 2 commits into
feat-cmux-nextfrom
fix/nightly-webview-red-35206
Closed

teamleaderleo wants to merge 2 commits into
feat-cmux-nextfrom
fix/nightly-webview-red-35206

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

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:188 imports STARTING_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.ts waited a fixed 350 ms. Its mock delay resolved at once, so the reply arrived in 0.2 ms and only the fixed wait made elapsed > 20 true. The test never exercised the deadline. Now it holds the slow reply until the client's snapshot reports daemonWaitingSince (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:79 bound the recheck's result to a variable it never reads (also from Webview agent pane waits on live daemon requests #35206), and vp lint fails on that warning. The binding is removed; the await stays.

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):

  • base: bun run typecheck gives 2 errors (above); bun run check:fixed-waits gives "transportDeadlines.test.ts: 2 fixed waits, baseline 0"; bun test test/agent-pane-peer-copy-paused.test.tsx fails "a machine stuck starting is read at most STARTING_READS times".
  • head: typecheck passes; check:fixed-waits passes (0 on the baseline); bun test src/agent-session/acpmux/transportDeadlines.test.ts test/agent-pane-peer-copy-paused.test.tsx gives 9 pass, 0 fail, five runs in a row. vp fmt --check is clean. vp lint shows 0 errors (its one warning is also on base).
  • mutation: with expectReply's deadline changed back to rejecting, the new transport test fails ("timed out").

Merged with feat-cmux-next 5f776e0, bun run check in 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

#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
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 93f1cc4: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr35411 -f ref=fix/nightly-webview-red-35206 -f platform=macos -f backend_mode=local

Gallery before/after for 93f1cc4: 16 states rendered, 0 images differ, 1350 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41839098753 -R manaflow-ai/cmux -n gallery-advisory-35411-93f1cc4163834d43d689776ac3043d0c3af2ce76 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.auth-health/signed-in Apple System Colors Light unchanged 0% own mock.ts
agent-pane.auth-health/signed-in Apple System Colors unchanged 0% own mock.ts
agent-pane.auth-health/signed-out Apple System Colors Light unchanged 0% own mock.ts
agent-pane.auth-health/signed-out Apple System Colors unchanged 0% own mock.ts
agent-pane.auth-health/expired Apple System Colors Light unchanged 0% own mock.ts
agent-pane.auth-health/expired Apple System Colors unchanged 0% own mock.ts
agent-pane.auth-health/unknown Apple System Colors Light unchanged 0% own mock.ts
agent-pane.auth-health/unknown Apple System Colors unchanged 0% own mock.ts
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.chat-width/wide Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/short-edge Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/short-edge Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/wide-edge Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/wide-edge Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/no-edge Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-edge/no-edge Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-40 Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-40 Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-56 Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-56 Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-72 Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.composer-rest-gap/gap-72 Apple System Colors unchanged 0% imports mock.ts (1 hops)
agent-pane.continuation-spacing/shipped Apple System Colors Light unchanged 0% imports mock.ts (1 hops)
agent-pane.continuation-spacing/shipped Apple System Colors unchanged 0% imports mock.ts (1 hops)

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Web bundle key inputs (+1 more) is not red on the base 5f776e0; do not merge until green; see lane-rules

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Nov 4, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 7 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp8qfdm89p/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpdrbpw87g/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
imported web bundle inputs are not routed:/imported web bundle inputs are not routed: View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (codex gpt-6-astra high, next-review, since=20261104T131655Z): SHIP at 71593e1

SHIP at 71593e1

Visual verdict: unchanged by this diff

Reviewed the mock narrowing and both rewritten tests; no correctness issues found. Focused tests could not run because bun is unavailable.

Follow-ups: none

…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
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex, router-review): SHIP at 93f1cc4

Reviewer: codex gpt-6-astra high, fast tier.

SHIP at 93f1cc4

Visual verdict: unchanged by this diff.

Follow-ups: none

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmux-bot approves 93f1cc4: an independent review passed this exact head (router-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

#35409 (merged at 13:38Z, 066c3bb) fixes the same three #35206 reds on feat-cmux-next (the mock.ts narrowing, the fixed waits, and the STARTING_READS test), so this PR now conflicts and isn't needed for the nightly. Codex SHIP at 93f1cc4 is above, for reference. The owner closes it.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Closing as a duplicate: #35409 landed first and fixes the same #35206 base red (typecheck, check:fixed-waits, the unused binding in useCloudChatRecovery.ts) the same way, so this no longer merges cleanly. Its transport test also holds the reply until the waiting snapshot, as this one did.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 93f1cc41 Deployed Nov 4, 2026 by teamleaderleo via cmux-tui tree preflight #111843
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant