Repository navigation
webviews: fix the react-apps-check base red from Settings > Menus (#25592) and dialog grow-in (#27638) - #28718
Conversation
…5592) and dialog grow-in (#27638) feat-cmux-next's react-apps-check (1) and (3) went red again after #28601, from two newer landings: #25592 (Settings > Menus, 451c25b) added CSS that fails four checks: - check:design-tokens / check-design-tokens: 12 new off-scale spacing and size literals. Spacing is now on the scale (--ds-space-1/2/4, or 0 for the 1px row gaps). The three icon and dot sizes (16px icon, 12px twisty, 6px edited dot) are not control heights; they go in the baseline. - check:layers / check-layers.test "this checkout passes": the dragged row's raw z-index: 2 is var(--layer-raised). - popup-one-hairline: the dragged row cast var(--ui-popup-drop), a popup token, with no hairline. A lifted row is not a popup, so it casts var(--elevation-2), the same drop that --ui-popup-drop resolves to. - gallery-control-surfaces (pages.settings-menus): hovering a row's icon button lit the whole li.menu-row. The row's hover wash now skips while one of its own icon buttons is hovered; the button lights alone. #27638 (smoother dialogs, 0b0968d) gave the dialog's scale and the backdrop's fade the --cmux-motion-standard step directly, so New Tab's no-entry rule (--ui-popup-open: 0s) no longer stopped them (new-tab-no-entry-menus: dialog [opacity, scale]). They now take --ui-dialog-open, which noEntry.css sets to 0s like --ui-popup-open. Exits keep --ui-popup-close. check-design-tokens.ts and check-layers.py: fail at the base, pass here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Owned by an agent session · session |
…ue fill Review of 20d7aed (router-review, P2): :not(:has(...)) raised the hover rule to (0,4,0), over .menu-row[data-dragging] (0,2,0), so a row dragged by its grip took the translucent hover fill. The exclusion is in :where(), so the rule weighs (0,1,0) and the dragged row's fill wins again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Found 1 test failure on Blacksmith runners: Failure
|
|
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 Shipped in:
|
…les (web lint (fast) base red) web lint (fast) fails on every feat-cmux-next push whose range reaches ContextMenusCard.tsx (#25592): jsx-a11y/no-autofocus at the rename field (its suppression was a biome-ignore, which oxlint does not read) and jsx-a11y/prefer-tag-over-role at the separator line. Both now use the oxlint-disable-next-line form with a reason, as AgentHarnesses.tsx and DevicesCard.tsx do: the rename field opens on the person's Rename, and the divider sits inside the draggable row's flex body, where an <hr> would bring its own box. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
|
Review (router-review, codex gpt-6-astra high, BASE..HEAD range): SHIP at ef26605. No findings, no follow-ups. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Summary
Fixes the
react-apps-check (1)and(3)base red on feat-cmux-next (cmux-next web; latest base run 41152853071 at 9c9b6d1). It came back after #28601 landed, from two newer merges. Both are teammates' PRs; this changes only their CSS.check:design-tokensgate (12 new literals inpages/settings/styles.css)--ds-space-1/2/4; the 1px row gaps become 0). The 16px icon, 12px twisty and 6px edited dot are not control heights, so they go indesign-tokens-baseline.jsonlcheck:layersgate,check-layers.test.ts"this checkout passes with its baseline"z-index: 2isvar(--layer-raised)popup-one-hairline.test.ts(.menu-row[data-dragging], edges 0)var(--elevation-2), the drop--ui-popup-dropresolves to, instead of the popup tokengallery-control-surfaces.test.ts(pages.settings-menus: hoverli.menu-row: button.icon-buttonlights its ancestor):not(:has(.icon-button:hover))). The button lights alone, and the row's actions still showweb lint (fast)(ContextMenusCard.tsx380jsx-a11y/no-autofocus, 420prefer-tag-over-role)biome-ignore, which oxlint doesn't read. Both lines now carryoxlint-disable-next-linewith a reason, as AgentHarnesses.tsx and DevicesCard.tsx donew-tab-no-entry-menus.test.ts(dialog[opacity, scale]on a New Tab)--ui-dialog-open(the standard step), whichnewtab/noEntry.csssets to 0s like--ui-popup-open. Exits keep--ui-popup-closeUI effect: Settings > Menus spacing moves by 1 to 2px to land on the scale. Hovering a row's button no longer washes the whole row. On a New Tab only, a dialog appears without the grow-in. Everywhere else dialogs keep #27638's motion.
Changelog
none
Observed / Not run
bun scripts/check-design-tokens.ts: at the base, the 12 violations above; at this head, "Design token ratchet passed".python3 scripts/cmux-next/check-layers.py: at the base, "1 raw z-index, baseline 0 (lines 1951)"; at this head, ok.react-apps-checkshards are the evidence.Agent session: agent session
🤖 Generated with Claude Code