Agent pane header: an open toggle keeps its filled square under the pointer (fix-forward #32687)

Merged
TE
4d ago
+3-2

Fix-forward for #32687, which landed at 70642c1 one commit short: webviews/test/chat-header-tab-row-surface.test.ts is red on base in 4 pressed-hover cases.

Leo (2026-11-02): "FOR THE FING STUPID BACKGROUND ON THE FING TOP RIGHT ICONS TO BE REMOVED". His reference fills only the toggled-on button.

The hover pill rule (.acpmux-header-tools .acpmux-header-tool:not(:disabled):hover, specificity 0,4,0) beat the on fill (...:is([aria-pressed=true],[data-popup-open]), 0,3,0). So a toggle whose panel is open, or a ⋯ whose menu is open, showed the hover pill instead of the filled square while the pointer was on it. The on selectors now carry :not(:disabled): they are as specific as the hover rule and come after it.

Observed / Not run

  • Observed: on 70642c1, cmux-ci ran bun test test/chat-header-tab-row-surface.test.ts: 28 pass, 4 fail (all pressed-hover; run 41548703069). The same command on this head is running now; its result will be posted here.
  • Not run: a Mac capture (this VM has no fleet client).

Changelog

none

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Fixes the agent pane header so an open toggle keeps its filled square under the pointer instead of swapping it for the hover pill.

The "on" selectors were less specific than the hover rule, so hovering a toggle whose panel or menu was open showed the pill background. The "on" selectors now include :not(:disabled), matching the hover rule's specificity and coming after it in the stylesheet, so the filled square stays visible while hovered.