Repository navigation
fix(tray): align status and controls with the composer #29794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6d38b68
a67bdc6
2cfb275
23071fa
21a3d62
6494853
27bce40
2fb048a
7be4a01
6696424
16a40ca
c66f025
23460ae
71e6934
4608d0c
80c1c69
2449d2f
6615ed9
2a22d79
73817e0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| title: Aligned controls in the running tray | ||
| category: fixed | ||
|
|
||
| The running tray above the composer keeps durations, status labels and controls aligned across running and finished work. It starts folded and remembers each chat's choice. | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -57,8 +57,10 @@ | |||||
| } | ||||||
| /* The tray of running subagents and background commands (subagents/SubagentTray.tsx), aligned | ||||||
| with the composer card; in a short pane it gives up its height like the parts below. */ | ||||||
| /* Match the composer's 8px outset below 298px of content width (#28587). */ | ||||||
| .acpmux-dock > .acpmux-running-tray { | ||||||
| margin: 0 var(--cv-inset-end, var(--cv-inset)) 0 var(--cv-inset); | ||||||
| --acpmux-tray-outset: clamp(0px, calc((297.5px - (100% - var(--cv-inset) - var(--cv-inset-end, var(--cv-inset)))) * 1000), 8px); | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P3: The tray and composer use different narrow-outset breakpoints. At fractional widths between 297px and 297.5px, this rule gives the tray an 8px outset while the composer does not, so their edges no longer align; use the composer’s 297px threshold (or a shared breakpoint token). Prompt for AI agents
Suggested change
|
||||||
| margin: 0 calc(var(--cv-inset-end, var(--cv-inset)) - var(--acpmux-tray-outset)) 0 calc(var(--cv-inset) - var(--acpmux-tray-outset)); | ||||||
| } | ||||||
| .acpmux-dock > .acpmux-composer { | ||||||
| display: flex; | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -19,8 +19,8 @@ | |
| // subtitles are bad"): one leading glyph (the spinner while it works, else its own icon or its | ||
| // harness's mark), never a second kind glyph beside it; the title; one muted trailing meta (what it | ||
| // spent, a state worth reading, its time); the chevron. No agent-type subtitle on the line (the | ||
| // tooltip and the hover card keep it), and no "Done" or "Running" word: the glyph says those | ||
| // (`quiet`), and the word stays for screen readers. design/chat-transcript.md "Subagent row anatomy". | ||
| // tooltip and the hover card keep it). The tray reserves a status-word track beside the time, | ||
| // including Running and Done, so every state keeps the same control geometry. | ||
| import type { CSSProperties, ReactNode } from "react"; | ||
| import { AgentMark, knownMark } from "../../shared/AgentMark"; | ||
| import { Tooltip } from "../../../ui/Tooltip"; | ||
|
|
@@ -166,21 +166,21 @@ export function AgentLine({ | |
| )} | ||
| <span className="acpmux-summary-agent__name">{name}</span> | ||
| {detail && detail !== name && <span className="acpmux-summary-agent__kind">{detail}</span>} | ||
| {progress && trayColumns && progressAt === "meta" && ( | ||
| <span className="acpmux-agent-line__stats">{progress}</span> | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P2: This moves workflow progress into the title’s ellipsized track, so a long agent name can hide the counts completely. Keep Prompt for AI agents |
||
| )} | ||
| {progress && !(trayColumns && progressAt === "meta") && ( | ||
| <span className="acpmux-agent-line__progress">{progress}</span> | ||
| )} | ||
| </span> | ||
| {trayColumns ? ( | ||
| <> | ||
| {/* One muted trailing meta: what it spent and a state worth a word, then its time. */} | ||
| {((progress && progressAt === "meta") || !quiet) && ( | ||
| <span className="acpmux-summary-meta acpmux-agent-line__meta"> | ||
| {progress && progressAt === "meta" && <span className="acpmux-agent-line__stats">{progress}</span>} | ||
| {/* Running turns to Waiting or Failed with a tick, never a jump (trayMotion.tsx). */} | ||
| {!quiet && <Tick className="acpmux-summary-agent__state" text={state} />} | ||
| </span> | ||
| )} | ||
| {quiet && <span className="acpmux-agent-line__sr">{state}</span>} | ||
| {/* The tray reserves a visible status track for every row. Keeping the word in the same | ||
| track for quiet (Running/Done/Cancelled) rows prevents a missing state from pulling | ||
| the duration toward the title or moving the Stop and chevron columns. */} | ||
| <span className="acpmux-summary-meta acpmux-agent-line__meta" data-tray-status> | ||
| <Tick className="acpmux-summary-agent__state" text={state} /> | ||
| </span> | ||
| <span className="acpmux-summary-meta acpmux-agent-line__time" aria-hidden={time === undefined}> | ||
| {time} | ||
| </span> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: This highlight has neither a
docs:link nor anaction:, so the What's New digest validator rejects and skips it. Add the relevant documentation link (as the related tray entry does) or a try-it action.Prompt for AI agents