Repository navigation
Agent chat: hover-revealed transcript controls fade in and out instead of blinking - #27560
Conversation
A new gallery entry (agent-pane.hover-fade) points at another agent's waiting message line and at a finished call's output, each settled and caught partway into its fade in, so the fade (or its absence) shows in a still capture. Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
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)
Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 719c550 to compare; do not merge until green; see lane-rules Gallery before/after for |
|
Owned by an agent session · session |
|
Found 22 test failures on Blacksmith runners: Failures
...and 12 more test failures. View all on Blacksmith
|
Leo (2026-10-28): "there should be, like, a fast fade-in fade-out. Right now they're just appearing and disappearing. Like they're just blinking in and out of existence, and it's a bit jarring". Every control the transcript shows only on hover now takes the message hover row's fade (#23769, --cv-actions-in/-in-delay/-out): out quickly at rest, in after a beat under the pointer, at once from the keyboard. - No fade before: another agent's message line's Reply and "Read after this step" tag, and a tool output's corner actions (Wrap lines). - One-off timings before, now the shared fade: table Open/Copy, a sent message's Copy, Open chat on a disclosure line, media Open/Expand, a finished subagent line's actions, the live line's background hint. test/transcript-hover-fade.test.ts fails when a transcript stylesheet reveals a class on hover or focus without that fade. Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at 51b30b7 SHIP No actionable findings. Reviewed the CSS transitions and gallery integration. Tests could not run because Bun is unavailable in the box. |
… Reduce Motion
The page asked Playwright for reduced motion, but the gallery frame
emulates its own media from its URL, so the actions' new fade in had
just started when their opacity was read ("0", not "1"). The frame now
gets reducedMotion=1 as well.
Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at ea18962 SHIP No actionable findings. Source-level checks passed; repository tests could not run because Bun is unavailable. |
DisclosureRow.css: keep this branch's clickable line; the base's fade on the hidden Open chat word (#27560) has no element to apply to here. The hover-fade test stops expecting cv-disclosure__open among hover-revealed controls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-a4efd6c1314eb5a4fc3e
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo (2026-10-28), on the agent chat's hover rows:
His screenshots showed another agent's message line pointed at (its age, Copy, Pin, ⋯ and "Read after this step" at the line's end) and "Sent message to …" command lines with their chevrons and the Raw toggle under an opened one.
What changed
Every control the transcript shows only on hover now takes the message hover row's fade (#23769, #24049;
--cv-actions-in,--cv-actions-in-delay,--cv-actions-outin conversation.css): out quickly at rest (80 ms), in after a 100 ms beat under the pointer (120 ms), in at once from the keyboard. Fades only: nothing shows that did not show before, and nothing moves.Blinked before (no transition at all):
Faded on their own one-off timings, now the shared fade:
--cmux-motion-micro, no out timing);All of it sits under
prefers-reduced-motion: no-preference, as the existing hover-row fade does. Files outside conversation.css read the tokens with fallbacks, so a page without conversation.css still fades.Checked and left alone:
.cv-receivedis the DisclosureRow root and the actions sit in its line (IncomingMessageCard.tsx, DisclosureRow.tsx)..cv-tool__chevron), the "Sent message to" chevron, code-block corner actions and the Raw toggle are always shown; none of them is revealed on hover, so they have nothing to fade (Raw only lights its text on hover).displayorvisibilityon hover.Holding it
webviews/test/transcript-hover-fade.test.tsreads every transcript stylesheet (acpmuxconversation/,subagents/,chips/), finds each class hidden at rest (opacity: 0orvisibility: hidden) and shown under:hover,:focus-within,:focus-visibleor[data-turn-revealed], and fails unless it transitions opacity onvar(--cv-actions-out)at rest and onvar(--cv-actions-in)aftervar(--cv-actions-in-delay)under:hover. It also checks that the scan still finds the rows Leo pointed at, and that a synthetic blinking control is reported. On the base it reports.cv-received__queued,.cv-received__reply,.cv-tool-output__actionsand the six one-off timings above.Screenshots
Gallery entry
agent-pane.hover-fade(new): each state pointed at and settled, and caught partway into its fade in (the fade slowed to 2 s with no beat and held 300 ms in, a little under half strength on the snap curve). A control that blinks has no fade to hold and shows at full strength there; one that fades shows faint.Before (base CSS, the entry-only commit 5945706): gallery advisory run 40949511459, artifact
gallery-advisory-27560-594570601a2db76da9318ce621bc9a3e3c6570c6. Inreceived-fading-inthe age, Copy and ⋯ are faint, but Reply, "Read after this step" and Open chat are at full strength; intool-output-fading-inWrap lines is at full strength.After (head 51b30b7): run 40950830711, artifact
gallery-advisory-27560-51b30b733b504ce1820bb64b84f619b1994ba40f. The same frames show Reply, "Read after this step", Open chat and Wrap lines faint with the rest of their row. The settledreceivedandtool-outputstates are the same as before.(Images stay in the run artifacts, not on the public PR: #21400.)
Gallery: agent-pane.hover-fade
Risk
Low: CSS transitions on opacity only, under no-preference motion. The one behavior change beyond timing: "⌃B to run in background" no longer fades under Reduce Motion (it now matches every other hover row, which snaps there).
🤖 Generated with Claude Code
Agent session: agent session