Skip to content

cmux NEXT webviews: every hover card stays glass (test) - #23997

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
glass-regressions/glass-previews-web
Oct 22, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
glass-regressions/glass-previews-web

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

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:

Hover card Material
Link and pull request card (chips/LinkHoverCard.tsx; also the PR dock bars) .ui-glass; plain glass uses the tooltip tint and blur (styles.css .cv-link-preview)
Session reference card (started/SessionHoverCard.tsx) .ui-card.ui-glass
New Tab suggestion row card (newtab/StageCards.tsx) .ui-card.ui-glass
Thread minimap mark preview (threadMinimap/PreviewCard.tsx) tooltip tint over --surface-blur (#23782)

Until now, no test stopped these from going solid. A background: var(--surface-popup), a backdrop-filter: none, or a render that dropped .ui-glass would 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:

  • one of these components stops rendering the shared glass class on its card root, or
  • any stylesheet under webviews/src gives 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:

  • The Home channels message action bar (.hc-msg-toolbar) opens on hover but is solid --surface-popup. popup-surface.test.ts deliberately 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.
  • The chief-usage chart readout (.cu-tooltip) and the optchat-inspector glossary tip are tooltips, and the tooltip lane owns them.
  • The markdown link bubble opens from the caret, not on hover.

Verification (huge-blue, bun 1.3.14):

  • bun test test/hover-cards-glass.test.ts: 3 pass.
  • Mutation check: removing ui-glass from 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


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with 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.ts to guard that. The test fails when a hover card component drops the shared glass class, or when any stylesheet under webviews/src gives 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.

View guided diff Turn on auto-fix

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>
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 3c46393: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr23997 -f ref=glass-regressions/glass-previews-web -f platform=macos -f backend_mode=local

Passes: CI passes on 3c46393572.

CI passes on 3c46393572 (run 39707129748 attempt 2).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

web and size checks: green

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by glass-regressions on cosmic-gray · session

@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 22, 2026
@blacksmith-sh

blacksmith-sh Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)/
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)
View Logs

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 22, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot 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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-e6r8r created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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: --glass-tint\b prefix match; background-image not checked.

Reds at this head, attributed:

  • CI / web / react-apps-check (1) (Test webviews), and the shard check and Web status that follow from it: the only failing file was test/agent-pane-jump-latest-motion.test.ts (a webkit timing test this PR does not touch; the PR adds only webviews/test/hover-cards-glass.test.ts, which passed). The job passed on its rerun (run 39707129748, attempt 2: success). Flake, not this PR.
  • cmux-next CI guard group: 3 of its 4 reds are red on base too (the gate says so). The fourth, "Validate bash watcher retirement and shell PR refresh", failed on apt-get's dpkg lock (runner infra). Job re-run.
  • cmux-next/fast-gates post: the gates were success; posting the status hit GitHub's installation rate limit. Job re-run.
  • Guard status, release-notary: red the same way on base (feat-cmux-next 0b71d5e and bb571b8).

@teamleaderleo
teamleaderleo merged commit 34693e4 into feat-cmux-next Oct 22, 2026
@teamleaderleo
teamleaderleo deleted the glass-regressions/glass-previews-web branch October 22, 2026 07:27
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant