Repository navigation
Agent chat: no background band behind the header tools in the tab row - #29618
Conversation
…fill Remove the transparent tab-row band from the chat shell. A Chromium chat is an opaque child window, so the transparent row showed the document's root surface behind the title and tools, a darker band than the pane and the native toolbar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Owned by an agent session · session |
|
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)
Gallery before/after for
States
Pick other states with a Passes: CI passes on CI passes on Written by web and size checks: green Shipped in:
|
|
Review (subagent): SHIP at d4d3e38 No blocking findings. Deletions only; the shell's base Follow-ups:
|
|
Review (subagent): SHIP at 9ac76e1 Delta from d4d3e38 is a clean merge of feat-cmux-next with no hand edits; the diff against base is still the same 34 deletions. summary-scroll-steady.test.ts (new on base, #29282, red once under WebKit at the old head and green on base) measures scrollTop, the card's rect and opacity. It never reads the shell's background, and removing a background paint moves no layout. Nothing newly merged asserts the transparent tab row. No findings. |
…9920) * Agent chat: the header title is plain text; its actions live in ⋮ Leo, 2026-11-01: "? 4:55pm still background on the top right still the weird situation why is there a dropdown of this" The title was a ChatMenu trigger (#25661) whose :hover and [data-popup-open] states filled it with --acpmux-menu-hover, the pill in his capture. #29618 removed the tab row's band in styles.css, a different element, so the pill stayed. The title is now a span with no fill in any state and no menu; a double-click renames (pane.action renameTab, as ⌘R does). The title menu's rows stay reachable from ⋮: Rename, Fork, Archive and New terminal / New browser / New window were already there; Move to machine (header/chatRows.ts moveMachineRow) and Delete (deleteChatRow) join it, guarded against a chat switch while the menu is open, as the title menu was. Red on base, green here: bun test src/agent-session/acpmux/header/ThreadTitle.test.tsx src/agent-session/acpmux/header/chatRows.test.ts base: 4 fail / 9 pass; head: 13 pass Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 * design-surfaces: map the chat header to design/chat-header.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 * release notes: a plain chat title Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 * release notes: the plain title is an improvement (What's New keeps it) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 * chatRows: Move to machine's children are ChatMenuChild rows (type check) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 * header.css: the plain title follows its row, no fixed 360px cap (chip-fixed-width) The title's ellipsis and its max-width now sit in one rule, so the pane's fixed-width lint read min(44vw,360px) as a fixed truncation. 44vw alone keeps the row-relative cap. bun test test/chip-fixed-width.test.ts: red at 0448491, green here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0cbd725ab08829f1ad0 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo, 2026-10-31 19:25Z: "and we STILL havne't removed the f***ign background????" and "well the more important thing is that i literally said that stuff like 15+ hours ago"
Leo, 2026-10-31 05:00Z (the original ask): "AND THE FING BACKGROUND ON THIS FING BUILD ON THESE BUTTONS STILL ISN'T F***ING REMOVESD"
What the background is
The chat shares its pane's tab row (
chrome.tabs.rowTools, on by default). Since #25638 the shell leaves that row transparent (.acpmux-shell[data-tab-row]paintstransparentfor the row's height) so the native strip shows behind the title and tools. But the agent chat runs in Chromium by default (agent.chromium), and a Chromium page is an opaque child window. What shows through the transparent row is the document's root surface, not the native strip. In Leo's screenshot that is a flat darker band behind the title, Session Info and Changes, ending where the pane's own fill (the native toolbar and the pane below) begins.#28962 removed the pressed-button plates. That was a different fill, so this band stayed.
Change (removal only)
.acpmux-shell[data-tab-row]transparent-row gradient. The shell's ownbackground: var(--agent-page-bg)now runs to the top, so the row behind the header tools has the same fill as the pane under it and the native toolbar beside it.Supersedes the approach in #28116 (HOLD: making
htmltransparent does nothing in an opaque Chromium window).Risk: low. A WebKit chat now paints the pane fill under the native tab strip instead of leaving it clear. That is the same fill as the rest of the pane.
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Removes the transparent tab-row band in the agent chat so the header tools now sit on the same fill as the rest of the pane.
In Chromium the chat is an opaque child window, so the transparent row showed the document's root surface instead of the native strip, producing a darker band behind the title, Session Info, and Changes. Deleting the gradient lets the pane's own background run to the top, and removes the test that pinned the transparent row.
Risk is low; a WebKit chat now paints the pane's fill under the native tab strip instead of leaving it clear.
Written for commit 9ac76e1. Summary will update on new commits.