Skip to content

Agent pane: transcript rows light only their chevron on hover; the live line's total keeps one tone - #34523

Merged
teamleaderleo merged 9 commits into
feat-cmux-nextfrom
claude/background-row-hover-one-tone
Nov 4, 2026
Merged

teamleaderleo merged 9 commits into
feat-cmux-nextfrom
claude/background-row-hover-one-tone

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-11-03: "this thing appears/lights up on hover for no reason!?", on the transcript line "2 background updates ⌄" (with "Thinking · 12m 9s total" under it) brightening edge to edge under the pointer.

A hover highlight covers only its own control, never the whole row (design spec: leo-workspace design/chat-transcript.md, surface chat-transcript).

What changes

  • Activity rows (TranscriptActivityRow: background updates, background turns, subagent, messaging and inbox lines): the words keep their rest tone under hover, press and focus. Only the chevron lifts, and only on a line that is a button that opens something. A plain line with nothing behind it no longer lights at all.
  • Disclosure lines (DisclosureRow on the shared shell: subagent, inbox and subsession lines) follow the same rule: only the toggle's chevron lifts, not the line's words.
  • Live "Thinking" line (div.cv-worked, no action): no longer lifts on hover. The "Worked for" button keeps its own lift.
  • Clicked activity rows: the tool rows' :focus-within lift now skips .cv-agent-activity__control, so a clicked row doesn't keep its words lit while it holds focus. Activity buttons join the shared inset focus ring, so keyboard focus is still visible.
  • "· 12m 9s total": the words around the time used the line's brighter activity tone while the time was dim. .cv-worked__total now uses the time's dim tone, so the count reads as one tone.

Regressed by

Guards

webviews/test/transcript-row-hover-scope.test.ts, a static CSS lint:

  1. In TranscriptActivityRow.css, a state rule (:hover, :active, :focus*) that changes colour, opacity or filter may light only a chevron (.cv-agent-activity__chevron under button.cv-agent-activity__control, or .cv-rotor under .cv-disclosure__toggle).
  2. In conversation.css and TranscriptActivityRow.css, no state rule lights a .cv-worked unless it is button.cv-worked.
  3. No .cv-tool…:focus-within rule in conversation.css lights an activity row's words.
  4. .cv-worked__total is var(--cv-text-dim).

activityTone.test.ts and TranscriptActivityRow.test.tsx were updated to match.

Risk: CSS only, confined to transcript row hover tones. Small, so it takes the light path.

Live line (folded in from Leo's later asks, 2026-11-03)

Leo: "this aint aligned also the total is redundant did we remove this yet", "same here it's annoying to look at", and "this is also misaligned with the left text right now for some reason... there's sometimes weird indenting?"

Follow-ups, not in this PR: tool-run summary lines (.cv-tool.is-run:hover > .cv-tool__text) and the Worked for button still lift their whole words on hover. They open something, so they are outside this rule's "no action" scope; whether they should also light only their chevron is left for the surface spec.

Agent session: agent session

🤖 Generated with Claude Code

…ve line's total keeps one tone

Leo, 2026-11-03: "this thing appears/lights up on hover for no reason!?" on the
"2 background updates" row brightening edge to edge under the pointer.

- Activity rows (background updates, subagent, messaging, inbox) and DisclosureRow
  lines keep their words at rest tone under hover, press and focus; only the chevron
  lifts, and only on a line that is a button.
- The live Thinking line (a div, no action) no longer lifts; only Worked for's button does.
- "· 12m 9s total": the words around the time read at the time's dim tone.
- webviews/test/transcript-row-hover-scope.test.ts guards all three.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
@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 2f93df4: 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=pr34523 -f ref=claude/background-row-hover-one-tone -f platform=macos -f backend_mode=local

Stale: these images are of cdc8170; the head is now 2f93df4 and a new capture is running.

Gallery before/after for cdc8170: 16 states rendered, 4 images differ, 3431 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 41765691947 -R manaflow-ai/cmux -n gallery-advisory-34523-cdc81703cef6cf6f10fdd518b314cbd99a201451 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.access-offer/turn-no-credits Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-credits Apple System Colors unchanged 0% own conversation.css
agent-pane.access-offer/turn-low-credits Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-low-credits Apple System Colors unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-offer Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-offer Apple System Colors unchanged 0% own conversation.css
agent-pane.activity-line-looks/none Apple System Colors Light unchanged 0% own conversation.css
agent-pane.activity-line-looks/none Apple System Colors unchanged 0% own conversation.css
agent-pane.activity-line-looks/spinner Apple System Colors Light changed 0.0509% own conversation.css
agent-pane.activity-line-looks/spinner Apple System Colors changed 0.0489% own conversation.css
agent-pane.activity-line-looks/kind Apple System Colors Light changed 0.0278% own conversation.css
agent-pane.activity-line-looks/kind Apple System Colors changed 0.0238% own conversation.css
agent-pane.activity-line-looks/aligned Apple System Colors Light unchanged 0% own conversation.css
agent-pane.activity-line-looks/aligned Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/single Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/single Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/grouped Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/grouped Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/single-multiedit Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/single-multiedit Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/grouped-multiedit Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/grouped-multiedit Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/single-long Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/single-long Apple System Colors unchanged 0% own conversation.css
agent-pane.approval-edits/grouped-long Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/grouped-long Apple System Colors unchanged 0% own conversation.css
agent-pane.attachment-source/before Apple System Colors Light unchanged 0% own conversation.css
agent-pane.attachment-source/before Apple System Colors unchanged 0% own conversation.css
agent-pane.attachment-source/corner Apple System Colors Light unchanged 0% own conversation.css
agent-pane.attachment-source/corner Apple System Colors unchanged 0% own conversation.css
agent-pane.attachment-source/small Apple System Colors Light unchanged 0% own conversation.css
agent-pane.attachment-source/small Apple System Colors unchanged 0% own conversation.css

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

Probably yours: composer-menu-dismiss.test.ts fails here but not on main's latest full suite. Seen on other PRs too (likely flaky): queuePausedState.test.ts, composer-menu-dismiss.test.ts, composer-menu-dismiss.test.ts and 4 more. This PR merged before its CI finished: fix forward on main.

CI failed on 2f93df4786 (run 41784025257 attempt 1): 1 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (5) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs queuePausedState.test.ts a turn sent now while the queue stays paused shows running: timed out after 30000ms (job)
  • seen on other PRs composer-menu-dismiss.test.ts chromium: agent-pane.composer new-chat-reasoning at 760 px: with a menu open, one press on another c...: failed (job)
  • seen on other PRs composer-menu-dismiss.test.ts chromium: agent-pane.new-tab reasoning-chip at 760 px: with a menu open, one press on another chip o...: failed (job)
  • seen on other PRs composer-menu-dismiss.test.ts webkit: agent-pane.composer new-chat-reasoning at 760 px: with a menu open, one press on another chi...: failed (job)
  • seen on other PRs composer-menu-dismiss.test.ts webkit: agent-pane.new-tab reasoning-chip at 760 px: with a menu open, one press on another chip ope...: failed (job)
  • new in this PR composer-menu-dismiss.test.ts webkit: agent-pane.new-tab reasoning-chip at 300 px: with a menu open, one press on another chip ope...: failed (job)
  • seen on other PRs new-tab-live-resize.test.ts webkit: the default page follows a live resize: failed (job)
  • seen on other PRs new-tab-live-resize.test.ts webkit: the composer page follows a live resize: failed (job)
Matched log lines
web / react-apps-base-check (5): (fail) a turn sent now while the queue stays paused shows running [30000.00ms]

Not re-run automatically: web / react-apps-base-check (5), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on ae81bca to compare; do not merge until green; see lane-rules
red: web / Web status; a job it gathers is red on this change (its line here); do not merge until green; see lane-rules
red: web / react-apps-base-check (5); NEW webview test reds: test/new-tab-live-resize.test.ts > webkit: the composer page follows a live resize; test/new-tab-live-resize.test.ts > webkit: the cards page follows a live resize; do not merge until green; see lane-rules
red: web / react-apps-check; a job it gathers is red on this change (its line here); do not merge until green; see lane-rules

Shipped in:

@teamleaderleo teamleaderleo added the leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel label Nov 4, 2026
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
…ne; comment order

Review follow-ups on #34523: the tool rows' :focus-within lift skips activity rows (a click
leaves them focused), with a lint for it; the total's comment moves back above its rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
…s lint can fail

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium, correctness): SHIP at 095228a
Visual verdict: no images; code verdict only.
Checked the selectors against the real markup of the activity row (button and div forms), the background-update lines, DisclosureRow's toggle, the live Thinking line (div) and the Worked for button. Checked that the lint fails on the old CSS, that no other webviews test asserts a removed selector, and that keyboard focus keeps the shared inset ring. Two earlier follow-ups (a clicked row's focus lift, the ring) were fixed at this head.
Follow-ups: none

teamleaderleo and others added 2 commits November 3, 2026 18:38
…er dot; left-edge test per state

Leo, 2026-11-03: "this aint aligned also the total is redundant did we remove this yet",
"same here it's annoying to look at", and "this is also misaligned with the left text right
now for some reason... there's sometimes weird indenting?".

- The turn's clock after the dot has no word: "Ran cat x 0s · 39s", "Thinking · 1m 51s".
  turn.live.total leaves the catalog.
- Each dot stands the count's 4px gap on both sides, and the counts read in the time's dim tone.
- Gallery agent-pane.long-subagent-wait gains thinking and ran-command variants.
- transcript-live-line-left-edge-browser.test.ts: in every live state the line starts on the
  reply's text column and its dots are evenly spaced.
- The hover-scope lint splits nested selector lists and checks the live line's gap and tone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 6 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp2mm4ga4j/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmp9zpmixnj/summary-fail.json (live):/summary-fail.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

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

…r comments drop "total"

Codex review of #34523: SubagentDoneLine draws its chevron beside the button, which the
button-scoped chevron rule missed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Awareness note from an agent lane that does not own this PR; it is not a review or a request to take the PR over.


From the owner of Leo's ask cluster c-3e341b3e71 (asks-router). Your cmux#34523 already covers it, so I'm not opening a duplicate PR.
Leo verbatim (2026-11-04T02:27Z, on the live line): "this aint aligned ant there's no point to say total"
Please add this line to #34523's body: Leo-ask: ask-3e341b3e71
#34523 has reds of its own at fd02fb8 (fast gates run 41771641908): vp fmt --check flags test/transcript-live-line-left-edge-browser.test.ts and test/transcript-row-hover-scope.test.ts (base doesn't have those), plus one vp lint warning ("Prefer String#startsWith over a regex with a caret"). Fix: scripts/web-lint.sh --fix, then push. health (3)'s red is base (new-tab-page#prefixes shift). The last SHIP is at 095228a; you need one at the new head, then land it (it already has leo-named-fix). The SLA is past its 1 h.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Awareness note from an agent lane that does not own this PR; it is not a review or a request to take the PR over.


Leo-ask: ask-147c151a65 (cluster c-147c151a65) is this PR's work: it drops turn.live.total and the misaligned "· 1m 51s total". The asks router had sent it to another lane too, which built the same change. That lane is standing down so there is only one PR. An independent subagent review of that version (same Thinking.tsx/CSS/xcstrings removal, tests red on base and green after) found nothing blocking. Its only follow-up applies here too: stale "total" comments in turns.ts (~1331, 1360, 1372) and the turnTotal doc in model.ts.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6.1-sol xhigh, router-review): SHIP at 83c717c
Visual verdict: no images supplied (range review); code verdict only.
No actionable correctness findings. The earlier BLOCK at cdc8170 (SubagentDoneLine's chevron sits beside its button) is fixed at this head.
Follow-ups: none

teamleaderleo and others added 2 commits November 3, 2026 22:08
…ude/background-row-hover-one-tone

# Conflicts:
#	webviews/src/agent-session/acpmux/conversation/LongSubagentWait.gallery.ts
#	webviews/src/agent-session/acpmux/conversation/Thinking.tsx
#	webviews/src/agent-session/acpmux/conversation/conversation.css
#	webviews/test/transcript-live-line-state.test.tsx
@cursor

cursor Bot commented Nov 4, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, router-review): SHIP at 2f93df4
Visual verdict: no images supplied (range review); code verdict only.
Reviewed the changed selectors, live-line timing and focused test coverage after the merge with #34866. Fleet: 92 unit tests, 14 browser tests (live-line left edge in 5 states x 2 themes, status text column) and typecheck green at this head.
Follow-ups:

  • [P2] [follow-up] TranscriptActivityRow.css: the sibling-chevron lift should skip a disabled button.cv-agent-activity__control (SubagentDoneLine with no navigation context). Fixed forward.

@teamleaderleo
teamleaderleo merged commit dc602e7 into feat-cmux-next Nov 4, 2026
172 of 178 checks passed
@teamleaderleo
teamleaderleo deleted the claude/background-row-hover-one-tone branch November 4, 2026 06:45
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
… lint) (#35155)

#34523's test used /^button\.cv-worked/.test(lit); oxlint's
prefer-string-starts-ends-with fails web lint (fast) on it.


Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
… lint) (#35155)

#34523's test used /^button\.cv-worked/.test(lit); oxlint's
prefer-string-starts-ends-with fails web lint (fast) on it.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 174b2f8)
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
* ui: compact shared tooltip placement and hierarchy

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-0e9f3e645685b2cfca3a

* ui: align tooltip edge and max width tokens

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-0e9f3e645685b2cfca3a

* fix(ui): keep tooltip width and anchor on the shared scale

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

* Preserve rich hover card padding proportions

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

* Align tooltip geometry assertions with scaled grid

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

* fix(webviews): use startsWith in transcript row hover scope test (web lint) (#35155)

#34523's test used /^button\.cv-worked/.test(lit); oxlint's
prefer-string-starts-ends-with fails web lint (fast) on it.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 174b2f8)
Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

* Check tooltip centering inside the compact edge inset

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

* Wait for the visible tooltip in gallery captures

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-b605b496e2aad0871fdf

---------

Co-authored-by: Codex <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
cmux-bot Bot added a commit that referenced this pull request Nov 4, 2026
…35009)

Follow-up from the Codex review of #34523: SubagentDoneLine's button is disabled with no
navigation context, and its sibling chevron still lifted.


Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: cmux-bot[bot] <348531757+cmux-bot[bot]@users.noreply.github.com>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 2f93df47 Deployed Nov 4, 2026 by teamleaderleo via wait for same-key tree publisher #110028
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

leo-named-fix An obvious fix to something Leo named: lands on push, review runs in parallel risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant