Skip to content

base red: warm the copy-controls gallery entry before the tool-output copy test opens it - #32313

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/web-base-red-tool-output-copy
Nov 2, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
lane/web-base-red-tool-output-copy

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Base-red-job: web / react-apps-check (5)
Base-red-job: web / react-apps-check

Fixes the base red in webviews/test/agent-pane-tool-group-overlap.test.ts › "tool output has no floating duplicate and its copy stays clear of text" (run 41446657178, job 125281605400, at 10aaddb; failed on the first run and on the retry).

Cause

The test opens the agent-pane.copy-controls gallery entry, but the file's beforeAll warms only its other entry (agent-pane.tool-group-overlap). On a dev server whose dependency optimizer has not seen this entry, the optimizer bundles what the entry's first load discovered and sends a full-page reload about a second in. That lands after the test has clicked the tool row open: the .cv-tool-output__box it hovers detaches (the CI log's "element was detached from the DOM", then a 30 s hover timeout) or the page comes back with the row closed (the retry's "Copy" count of 0). On cmux-ci it shows as evaluate: Execution context was destroyed, most likely because of a navigation right after the row opens.

It is not a product regression. The webview code is the same at the last green (765b0d5) and the red (10aaddb): the only commit between them is #32107 (Rust only), and #32196, #32152 and #32151 were already in the green commit. The test has been unwarmed since it was added in #26096; it fails whenever the runner's optimizer starts cold, which it now does on every cmux-ci run (0/10 below).

Fix

beforeAll also warms agent-pane.copy-controls (variant output) with warmGalleryFrame, which waits until the optimizer has settled and sent no reload, as it already does for the other entry. No timeout changed and no product code changed.

An earlier commit on this branch waited for the fold to settle before hovering. That did not address the reload (1/10, run 41451432643), so the final head drops it.

Evidence (cmux-ci, 10 runs of the file each)

tree result run
base test file (feat-cmux-next) PASS=0 FAIL=10 41451412190
first attempt (settle wait only) PASS=1 FAIL=9 41451432643
head 298bf16 (warm-up) PASS=10 FAIL=0 41456258383

Observed / Not run

  • Observed: the three 10x loops above; base and the first attempt fail with "Execution context was destroyed" right after the tool row opens; the head passes 10/10.
  • Not run: the full react-apps-check shard locally (no node_modules on this host); scripts/web-lint.sh with CMUX_LOCAL_HEAVY_CHECKS=0 skipped webviews for the same reason, so lint is left to the PR's web lint job. Not confirmed which dependency the optimizer bundles for this entry.

Agent session: agent session

🤖 Generated with Claude Code

…settled

The click that opens the tool row returns while the fold plays and the
transcript holds the header in place, re-placing rows under the box. A
hover aimed then lands on a passing row. Wait for the fold to end and the
box to paint at one place for several frames before hovering.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8
@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 298bf16: 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=pr32313 -f ref=lane/web-base-red-tool-output-copy -f platform=macos -f backend_mode=local

Shipped in:

@github-actions github-actions Bot added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026
The tool-output copy test opened agent-pane.copy-controls on a cold dev
server. The dependency optimizer bundled what that first load discovered
and reloaded the page about a second in, after the test had opened the
tool row: the box it hovered detached and the row came back closed
("Execution context was destroyed"). Warm the entry in beforeAll, as the
file already does for its other entry. Drops the earlier settle wait,
which did not address the reload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8
@teamleaderleo teamleaderleo changed the title base red: tool-output copy test hovers the box once its fold has settled base red: warm the copy-controls gallery entry before the tool-output copy test opens it Nov 2, 2026

@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 (claude-opus-5-5): SHIP at 298bf16

Review (subagent claude-opus-5-5 medium): SHIP at 298bf16

Test-only: the added warmGalleryFrame(vite, "agent-pane.copy-controls", { variant: "output" }) matches the entry and variant the copy test opens and, given the server, returns only after the optimizer settles with no reload sent; no assertion or product code changes.

Follow-ups: none blocking. The warm-up does not set the test's cmuxExperiments hover-actions init script, so a dependency imported only on that path would still be cold. The reported 10/10 suggests none exists.

@teamleaderleo
teamleaderleo merged commit 2293bfd into feat-cmux-next Nov 2, 2026
176 of 178 checks passed
@teamleaderleo
teamleaderleo deleted the lane/web-base-red-tool-output-copy branch November 2, 2026 14:33

This branch was previously deployed

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant