Repository navigation
cmux NEXT webviews: every hover card stays glass (test) - #23997
Conversation
Leo, 2026-10-21: "STOP DOING SOLID. WE HAVE GLASS, SO JUST USE GLASS." The web hover cards are glass today: the link and pull request card, the session reference card, the New Tab row card (.ui-glass) and the minimap mark preview (the tooltip tint over the shared blur). Nothing kept them so: a solid background or `backdrop-filter: none` on any of them, or a render that drops .ui-glass, passed every test. hover-cards-glass.test.ts fails when a component stops rendering the shared glass class, or when any stylesheet under webviews/src lays a non-glass fill (background, background-color, --glass-tint) on a hover card's root or takes its blur away, outside Reduce Transparency. A fixture proves the scan flags each form and passes glass, element children and Reduce Transparency. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
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)
Passes: CI passes on CI passes on Written by web and size checks: green |
|
Owned by glass-regressions on cosmic-gray · session |
|
Found 2 test failures on Blacksmith runners: Failures
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Bead |
|
Review (subagent, correctness first): SHIP at 3c46393 bun 3/3 at head and on current base src; mutations (drop ui-glass, solid fill, blur off, !important) fail it, Reduce Transparency passes. Nits: Reds at this head, attributed:
|
|
Shipped in:
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Keeps every web hover card glass, so none of them can turn solid again unseen.
Leo-ask: ask-d547ac77f0
Audit (feat-cmux-next at 556e8d0). Every hover preview in the web UI is already glass, and none needed a fix:
chips/LinkHoverCard.tsx; also the PR dock bars).ui-glass; plain glass uses the tooltip tint and blur (styles.css .cv-link-preview)started/SessionHoverCard.tsx).ui-card.ui-glassnewtab/StageCards.tsx).ui-card.ui-glassthreadMinimap/PreviewCard.tsx)--surface-blur(#23782)Until now, no test stopped these from going solid. A
background: var(--surface-popup), abackdrop-filter: none, or a render that dropped.ui-glasswould have passed CI. The minimap and session cards had their own checks; the link, PR and New Tab cards had none.Change. Adds
webviews/test/hover-cards-glass.test.ts, which fails when:webviews/srcgives a hover card's root a fill that isn't glass (background,background-color,--glass-tint), or turns off its blur (backdrop-filter,--glass-backdrop).Reduce Transparency rules are exempt: the shared tokens make every glass solid there anyway. A fixture checks that the scan catches each solid form and lets glass, child elements (
__open,-body) and Reduce Transparency through.Left out on purpose:
.hc-msg-toolbar) opens on hover but is solid--surface-popup.popup-surface.test.tsdeliberately pins it solid, and cmux next: menus, pickers and popovers are liquid glass like the native context menu #23066 (lucasr1b, menus/popovers glass) changes that test, so this PR doesn't touch it..cu-tooltip) and the optchat-inspector glossary tip are tooltips, and the tooltip lane owns them.Verification (huge-blue, bun 1.3.14):
bun test test/hover-cards-glass.test.ts: 3 pass.ui-glassfrom the PR card's className fails test 1, and adding.nt-hovercard { background: var(--surface-popup) }fails test 2. Both were reverted afterwards.pr-overlap: no open PR overlaps.No capture: test only, nothing on screen changes.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Adds a regression test that keeps every web hover card glass, so none can silently turn solid again.
The audit found all hover cards (link, PR, session, New Tab, minimap) already use glass, and adds
webviews/test/hover-cards-glass.test.tsto guard that. The test fails when a hover card component drops the shared glass class, or when any stylesheet underwebviews/srcgives a hover card's root a non-glass fill or turns off its blur. Reduce Transparency rules are exempt. A fixture check verifies the scan catches each solid form and allows glass, child elements, and Reduce Transparency. Test-only change; nothing on screen changes.Written for commit 3c46393. Summary will update on new commits.