base red: transcript status-row gaps and the empty footer on the grid
Closed
TE
4d ago+17+17+01234567890123456789-17-17-01234567890123456789
Test-only. Part of the webview suite being red on feat-cmux-next after the grid PR #27580 (044769ae). Does not change product code.
Per assertion
src/agent-session/acpmux/conversation/TurnFooter.test.tsx:63(expected 24, received 0). The test reference was out of date. On the grid, a settled turn footer has no height of its own. Its action row is laid in the gap under the reply (leo-workspace design/grid.md 5.5: a message's hover action row "takes no layout height"). The test now expectsheights[1]to be 0 for an empty footer, at the end of the chat, and for a footer with an answer. It also checks that the gap holding the footer is the stack's turn gap between two prompts, and the block gap (tailGap) at the end of the chat. Both values come fromtranscriptGrid.ts(TRANSCRIPT_TURN_GAP,TRANSCRIPT_BLOCK_GAP) and fit the 16px glyph with 4px on each side (gridLength("transcript-icon-box")). Culprit: #27580.test/transcript-row-alignment.test.ts:267(status rows "have 24px above and 24px below, not 26px more above"). The test reference was out of date. Every status row in this fixture sits between two replies, so its neighbours are prose. grid.md 5.5 says any two transcript blocks are a block gap apart ("block 24"), and "Gaps never add up". #27580 made #30865's reply room 0 (--cv-reply-room: 0px). The test now reads--grid-gap-blockfrom the live CSS and expects that gap above and below each status row. Nothing in this PR asserts a gap between two consecutive one-line rows. Culprit: #27580, over #30865.
Still red, owned by the grid lane
transcript-row-alignment.test.ts: the footer label "Worked for 5s" and the footer's first action glyph both measure at -6px from the prose's left edge, in light and dark. Expected: 0px. The test measures ink: the first text glyph's range and the svg's box. The overhang is applied twice..acpmux-turnSummary .cv-turn-actionssetsinset-inline: calc(-1 * var(--cv-action-overhang))(-6, added by #27580). The first button also takesmargin-inline-start: calc((var(--cv-glyph-slot) - var(--cv-meta-row)) / 2)(-6 with the 28px control). As a result, the label's ink sits at -6 and the 28px button's box at -12, which puts its 16px glyph at -6. grid.md 5.5 and design/chat-transcript.md ("Rows between replies") put that ink oncol-left. The expectation is unchanged, so this one case is still red. It is reported to the grid lane, which owns the product fix (dropping one of the two offsets). The status-row gap part of this case passes at this head.
CI at this head: TurnFooter.test.tsx 6 pass. transcript-row-alignment.test.ts fails only on the two footer-ink lines above (run 41366930349). The status-row gaps pass.
š¤ Generated with Claude Code
Agent session: agent session