Agent chat: test that the transcript's top edge under the tab row is a fade, not a band

Merged
TE
2d ago
+51-0

Leo, 2026-11-03: "What the hell, why is there now a black bar on everything at the top row instead of a tiny blur at the top"

The band's cause was fixed at its source by #32944, which merged while this PR was open: the document root's chat colour (WebTheme's html rule) and the native strip behind the tabs (#32039) both painted under the tab row, so over window art the row read as a dark band. This PR first painted the page colour under the row as well. That would have brought back the plate behind the header tools that #32944 and Leo's 11-02 ask removed, so it now takes #32944's design and adds only the guard Leo's ask needs.

  • New browser test in chat-header-tab-row-surface.test.ts: the transcript's top edge under the row is a gradient mask, never an opaque band. The mask image is a linear-gradient. Black rows under the row read as the page colour at the edge, half faded at 9px, and full ink below the 18px fade.

Observed / Not run

  • Fleet: bun test test/chat-header-tab-row-surface.test.ts, 34 pass, 0 fail (with #32944's tests).
  • Not run: a real-app capture over window art. It follows in a comment.

Changelog

none

Agent session: agent session

šŸ¤– Generated with Claude Code