Repository navigation
cx-5dvig: sidebar update cards fit, share the composer's surface; popup adds only the rest, no arrow - #20297
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
0febccc to
e612785
Compare
|
all web/size checks green |
|
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
|
|
…up adds only what it lacks (cx-5dvig) Leo 2026-10-13: at the default sidebar width the card's version line truncated (1.0.0 nightly 3845050 · Oct 13, 2...), the card and its popup both had See all changes and the version and date, and the popup was AppKit's NSPopover with its stock arrow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the rest, themed, no arrow (cx-5dvig)
Leo 2026-10-13. The card: Update Ready, the short version and date
("nightly 3845050 · Oct 13", whole at the default sidebar width),
Automatic Updates and Restart to Update. The popup: the full build, the
highlights and See all changes, once; no "is ready" and no date (the
card has both). The popup is the themed popup every cmux popover is (the
solid popup surface with its hairline and shadow, beside the card,
top-aligned), not AppKit's NSPopover with its stock arrow.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…or VoiceOver (cx-5dvig) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e612785 to
5d16494
Compare
Gallery59 states changed: pages.changelog.update-surfaces/card, pages.changelog.update-surfaces/card-long-title, pages.changelog.update-surfaces/card-one-change, pages.changelog.update-surfaces/card-no-highlights, pages.changelog.update-surfaces/popover, ... · 24 new states · 15 broken states Diff page and renders (the run's 53 more on the diff page. Live preview (follows this branch; start it with
8 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes. |
5ffe743 to
c891e57
Compare
Red: the Update Ready card draws an opaque elevated fill, the notice card Liquid Glass; the Updated card says "Updated to 1.0.0-nightly.3845050428001" and has a Share cmux text link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every sidebar card (Update Ready, notices and tips) now sits on
CardSurfaceView, the agent composer's surface: the theme's text at 13% over
the wallpaper with an 18% 0.5 pt edge, opaque under Reduce Transparency. The
web Updated card draws the same. It names the short build ("Updated to
nightly 3845050"), falls back to "What's new in this build", and drops the
Share cmux text link (Share cmux stays in the palette). Gallery shows the
card and popup on a plain page and on a wallpaper.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Card surfaces register with ReduceTransparency, so toggling it redraws
them at once, as OverlaySurfaceView does.
c891e57 to
4d6b96c
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…reds (#22118) * fix(next): clear the webviews type-scale and text-focus base reds - syncMotion.gallery.css (c611de1) set three raw font sizes; they use the type scale tokens (body, heading, title). - CookieImportConsentPanel (60807d3) made a selectable label without focusRingType = .none. Both checks (bun run check:type-scale, check:text-focus) fail at the feat-cmux-next tip and pass here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * style(webviews): format settings icons.tsx (vp fmt base red from 91424a7) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(next): clear the webviews theme-colors, elevation, ui-rules and system-blue base reds - theme-colors: the markdown.theme paper colors (bb58f0f) are fixed by design and marked theme-fixed; prototypes/ is skipped as the comment says (the pattern only matched a prototype/ folder). - subtle-elevation: the subagents prototype sheet casts --elevation-2. - ui-rules: the code editor's keydown listener only reads Monaco's chord state (91424a7), marked ui-allow. - check-system-blue: the cookie consent panel's requester link uses Palette.accent, not .controlAccentColor (60807d3). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(next): re-resolve the cookie consent requester tint in the theme hook Review of #22118: reading Palette.accent once at build time froze the tint across theme changes (check-theme-scope rule 1). ThemeChangeView runs the hook on window attach and on appearance change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * test(webviews): warm the older-rows-fade dev server before the first load check:browser-lanes has been red on feat-cmux-next since 4b5c7ad (#20633): the new test starts an in-process Vite server without warming it, so its first page.goto pays for the cold module graph. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(webviews): clear the sync-motion lint warnings that fail vp check react-apps-check has been red on feat-cmux-next since c611de1 (sync motion): vp check fails on warnings, and syncMotion.ts used new Array(n) while useSyncListMotion's exhaustive-deps suppression sat on the useMemo call instead of the dependency array it reports on. Same behavior; bun run check passes on Huge Blue. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(next): clear the webviews test reds the lint red hid With check:browser-lanes green, react-apps-check runs the suites and shows reds that were already on feat-cmux-next: - settings categories: two Settings layouts both placed the Markdown Viewer group (General beside Diff Viewer, and Code Editor), and Agent Input (browser.showAgentCursor) had no home. Markdown Viewer stays in General; Agent Input joins Browser after Bookmarks (Swift layout and export). - settings editors: editor.rulers is the first page-visible number_list row. The page now draws a number token field (in range, Return or comma adds). - tooltip contrast: #21785 dropped the pages' fallback tint to 60% (the floor); the host sends the per-theme tint (about 0.7 dark). The test draws with the host's tint, computed as TooltipSurface.tintAlpha does. - static status loops: the agent notice's harness spinner had no Static rule. - composer plain footer / mode keys: plain is the default since #22050; the tests turn it off where they check the chip look. - hairline rims: the four raw 0.5px rims in files this PR touches use var(--cmux-hairline). - markdown wide tables: gfm leaves out columnResizing, so no table ever had the .tableWrapper the scroll CSS targets; the editor installs TableView itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(next): wide markdown tables scroll sideways on the first wheel step The TableView wrapper is the scroller, and scrollers.ts marks a scrolling element with data-cmux-scrolling. ProseMirror read that attribute change on the table node view's dom as an edit and redrew the table, resetting scrollLeft to 0, so a sideways wheel never moved it. The table view now ignores attribute changes on its wrapper. The code-line test scrolls the code block into view first: it sits below the 14-column table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * style(webviews): vp fmt the #20297 update-card files (base fmt red) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * chore(next): PR autofix at 62a0f5b - regenerated schemas/settings-export/settings-schema.sources.sha256 - regenerated cmux-tui/crates/cmux-app-host/generated/scopes.json Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39348548509 * fix(webviews): clear the markdown WidthField lint warnings that fail vp check (base red from 7d0f57d) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: cmux-autofix[bot] <cmux-autofix[bot]@users.noreply.github.com>






Leo reported (10-13, nightly, cosmic-gray) problems with the sidebar's update cards. The Update Ready popover had AppKit's stock NSPopover arrow, unstyled against the theme. The card's version line truncated at the default sidebar width ("1.0.0 nightly 3845050 · Oct 13, 2..."). The card and popover repeated the same facts: the version, the date, and See all changes twice. A second report followed: the "Updated to" card was opaque over the wallpaper, unlike the composer. Its version truncated, its fallback sentence wrapped awkwardly, and "Share cmux" was a bare text link with no affordance.
What changed
Glass.makeOverlayPanelinPopupStyle), beside the card and top-aligned with it, with no arrow. It takes clicks, never becomes key, and keeps its hover rules.CardSurfaceViewin CmuxNextDesign, registered withReduceTransparencylikeOverlaySurfaceView..wn-carduses the composer'scolor-mixformula.app.shareCmux).updates.card.whatsNewInBuildin all 21 locales. Removesupdates.card.share,updates.card.noHighlightsand the updater'supdater.updated.share. Generated page strings regenerated (node scripts/pages/gen-strings.mjs changelog).Update check and install behavior is unchanged. I told the lane changing it (cx-nightly-release-xhigh) which files this touches.
Tests
Tests/CmuxNextAppTests/UpdateReadyCardLayoutTests.swiftstages an update the waydebug.updater stagedoes, then reads the card off a sidebar atMetrics.sidebarWidth. It checks:_NSPopoverWindowshows, the popup covers the card). Green on 5d16494 and on 4d6b96c.Tests/CmuxNextAppTests/SidebarCardSurfaceTests.swiftdraws the Update Ready card and a tip card in a themed window and reads each card's backmost full-size fill against the composer's (the theme's text at 13%).Suite SidebarCardSurfaceTests passed.webviews/test/update-ready-popover.test.tsxchecks the popover (full build, highlights, no "is ready", no date, See all changes once) and the Updated card ("Updated to nightly 3845050", "What's new in this build", only Close and See What's New buttons).Received: "1.0.0-nightly.3845050428001 is ready") and on 8231590 for the card (Received: "Updated to 1.0.0-nightly.3845050428001"). Green on 4d6b96c.DaemonCapabilityExportTests, which fails on base too.pages.changelog.update-surfaceshas the Updated card and the popover on a plain page and on a wallpaper backdrop (card,card-wallpaper,card-no-highlights,card-no-highlights-wallpaper,popover,popover-wallpaper), each in light and dark. The native Update Ready and tip cards are covered bySidebarCardSurfaceTests.Changelog
🤖 Generated with Claude Code