Repository navigation
test(next): the accent is never orange and glass is never opaque - #23133
Conversation
A browser-lane test renders every web gallery stage and fails on a computed color that reads the system accent (AccentColor, Highlight, the focus-ring color, a native control's accent-color: auto, an outline: auto ring), on an orange accent-bearing color, and on a backdrop-filter surface with an alpha-1 fill. Known findings live in test/accent-glass-baseline.txt with their owner. A CmuxNextDesign suite sets the macOS accent to orange for its process and checks the default theme's accent colors, a themed menu's highlight, a selected table row, a bezel button and the text fields' focus ring. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
|
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 Unclear: CI failed on
Not re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); NEW:
Agents: Tour of The path-selected recorder failed for glass, core; see the run artifact and failed manifests. Path-selected interactions
core-before: the media could not be published (upload of 23133/eca6eb0f/next-core-before/shots/01-launch.png failed: gh: is at d2d20e1 but expected 774e730 (HTTP 409))Core UI (after): PASS — 19 ok
Screenshots (15)1. Launch
Screenshots (14)1. Launch over art Tours are data in |
|
Owned by chief-pet-avatars-a9 on cosmic-gray · session |
|
Found 3 test failures on Blacksmith runners: Failures
|
|
Bead |
The orange-accent invariant now runs two cases. (a) The default theme with the macOS accent forced to orange shows no orange anywhere. (b) A theme on schemas/theme/orange-accent-allowlist.json keeps its own orange accent but never the system accent or opaque glass. The list has one named entry, Clay Orange (both its dark and light files), so dropping the exception is a one-entry change. The orange hue range now starts at 35 degrees, so Clay's clay (38) counts as orange. The gallery's theme input now carries a theme's own '# cmux-accent', as ThemeBridge does in the app; the gallery used to leave it out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
It timed out at the 120 s file limit. Pages are reused per worker (eight), case (b) scans each entry's first variant only, a stage gets 20 s to render, and the file declares a 900 s limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
|
codex-review: SHIP at 414d091
|
… focus ring The accent and glass scan found both on base: the composer card kept backdrop-filter blur under its solid surface on an opaque window, and a popup that takes focus on open drew the engine's outline:auto ring (WebKit paints it in the macOS accent). The scan skips theme preview balls, which paint a theme's own palette. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
…-glass-invariants
…olds its scopes and restores the accent Review nits: a scan that rendered nothing passed; the table row's scope was held only weakly, so it drew in the app theme; the orange argument domain outlived the suite. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
…-glass-invariants
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a45c-7f43-a883-a2389c4766e5&host=cosmic-gray
|
base-red-watch: |
|
Shipped in:
|
































Two standing rules become checks that fail. The accent rule runs two cases:
schemas/theme/orange-accent-allowlist.jsonkeep their own orange accent but still never show the system accent or opaque glass. Today that's Clay Orange (both its dark and light files). It's one named entry, allowed for now while coord-deputy confirms with Leo, so dropping it is a one-line change.The gallery's theme input now carries a theme's own
# cmux-accent, as ThemeBridge does in the app. Before this, the gallery dropped it.The rules:
pane-toolbar found a menu highlighted in the system accent on 2026-10-20.
What the first full scan found, fixed here
The web scan covered 1529 of 1547 stages (the other 18 don't render in the gallery, on base too). It reported three things:
.acpmux-composer-box, on nearly every agent-pane stage. On an opaque window the composer card is solid by design (Leo 10-14), butstyles.cssstill blurred behind it withblur(18px). The blur now applies only to the see-through glass; it is off on an opaque window and under Reduce Transparency (composerStates.css).outline: autoon the composer's context-breakdown popover. A popup takes focus when it opens, and the engine's ring is drawn in the macOS accent.popupSurface.css, which every host loads, now turns that ring off for every.ui-popup; their rows show the highlight.AccentColorblue (false positive).ThemeBallpaints a theme's own palette, and one theme's blue happened to match. The scan now skips[data-theme-ball].The baseline stays empty.
Web:
webviews/test/accent-glass-invariants.test.ts(browser lane, Chromium)Renders every web gallery entry and variant in its component frame on the default theme. It scans the stage as it first paints, then twice more after Tab (focus rings are where the accent leaks most). Rules (
test/support/accentGlassScan.ts):system-accent: a computed color equal to a system color keyword that carries the OS accent (AccentColor,Highlight,SelectedItem,-webkit-focus-ring-color,-apple-system-control-accent), resolved in the engine. Text selection is included.orange-accent: an accent-bearing color with an orange hue (OKLCH chroma ≥ 0.1, hue 35–78°). Accent-bearing means a visible outline, the caret,accent-color,::selection, or the fill or border of a selected or highlighted row.native-control-accent: a checkbox, radio, slider, progress bar or meter withaccent-color: autoand its native appearance.auto-focus-ring:outline: autoon the focused element.opaque-glass: abackdrop-filtersurface whose background alpha is 1. Reduce Transparency is never set, since solid is right there.A browser can't be told to use an orange system accent, so the scan resolves the keywords instead. Known findings go in
test/accent-glass-baseline.txtwith their owner. A new finding fails the test, and a fixed one prints "drop it".Native:
CmuxNextDesignTests/SystemAccentOrangeTests.swiftSets
AppleAccentColorto orange in the process's argument domain, in memory only. It compares againstsystemOrangetoo, so the check holds even if AppKit keeps the host's accent. It checks the default theme'saccent,accentFill,focusRing,menuHighlightandselectionFill, plus:ThemedTableRowView(sampled, not emphasized),ThemedBezelButton's bezel,Changelog
none
Observed / Not run
SystemAccentOrangeTestspassed all 6 tests on the fleet (cmux-ci run ... run-swift-testing-suites.sh, step 00d6a0b8b926400efdb6996c). It ran on a temporary merge of c2d1b32 with base, because base's CmuxNext tests did not compile until fix(next): the CmuxNext package compiles again — three one-line breaks on base #23281 and fix(next tests): PaletteMenuVocabularyTests compiles again #23386.check-browser-test-lanesagainst opening every gallery entry. This test scans every entry, so it says why in a comment.No capture: the composer change only removes a blur behind a card that is already opaque, so nothing shows through it either way, and the popup change removes a focus ring the popups never meant to draw. Both are covered by the scan, not by pixels.
Agent session: cosmic-gray
🤖 Generated with Claude Code