cmux NEXT: the update and notice cards take the theme; the download bar is the accent

Merged
TE
2d ago
+77-31

Leo, on the sidebar's Downloading Update card: "will this be themeed properly?"

leo-named-fix: land on push.

What was hard-coded

  • The download progress bar was Palette.textSecondary: a fixed gray in every theme, whatever the accent.
  • The Update Ready card and the notice card (Downloading, Checking, Installing, tips) drew CardSurfaceView's neutral gray veil, so over a themed sidebar they read as unthemed cards. The Updated card already took the theme's tint (2026-11-02, same complaint).

Text, icon and cancel-button colours were already theme tokens (Palette.textPrimary / textSecondary / textTertiary), and theme changes already repaint the card (ThemeRepaint calls viewDidChangeEffectiveAppearance).

Change

  • SidebarNoticeCardView: the bar is Palette.accentFill (the theme's accent; the primary text when no accent is chosen) on the Palette.hoverFill track. The surface sets takesThemeTint.
  • SidebarUpdateCardView (Update Ready): the surface sets takesThemeTint.
  • Colours and materials only: no layout, copy or flow change, so this rebases cleanly with the separate one-step update flow work.
  • Sidebar owner note entry added (plans/cmux-next/sidebar-owner.md).

Tests

  • SidebarCardSurfaceTests.theDownloadBarIsTheThemesAccent: renders the downloading card in a dark and a light theme, each with the neutral and a chosen accent, and asserts the bar is Palette.accentFill and not the fixed secondary-text gray. It fails on base, where the bar is textSecondary.
  • theUpdateReadyCardSitsOnTheSharedCardSurfaceInTheThemesTint and aNoticeOrTipCardSitsOnTheSharedCardSurfaceInTheThemesTint now expect the theme's glass tint. They share the helper the Updated card's test uses.

Observed / Not run

  • Ran: prepush-gate.py --base origin/feat-cmux-next --head HEAD, which reports no new violations.
  • Not run: the Swift suite and a compile. This lane's machine has neither; the review runs alongside.

Changelog

  • Fixed: The sidebar's update and download cards follow your theme, and the download bar uses the theme's accent.

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

Makes the sidebar's update and notice cards follow your theme, and colors the download progress bar with the theme's accent instead of a fixed gray.

  • The Update Ready and notice/tip cards now use the theme's glass tint, matching the Updated card.
  • The download bar is the theme's accent (Palette.accentFill, the primary text when no accent is chosen) on the theme's hover-fill track.
  • Colors and materials only — layout, copy, and flow are unchanged.