Repository navigation
base red: webviews check:browser-lanes, check:design-tokens, check:type-scale, vp lint - #29076
lawrencecchen wants to merge 1 commit into
Conversation
…pe-scale, vp lint The feat-cmux-next tip (25c1584, red since a8615fd) failed four webviews checks, so the pre-push hook refused every webviews squash. - check:browser-lanes: composer-draft-overflow's button-edge sampler read in a hand-rolled rAF + MessageChannel loop (dc0fd32, #28672). It now reads through window.cmuxAfterPaint, the painted-frame reader `open` already installs. - check:design-tokens: the Context section's Compact row padded 2px 6px 0 (fbea666, #28969). Now 4px 8px 0 on the scale; the link's 2px side padding is taken back with margin-right: -2px, so its text keeps the rows' 8px trailing edge. - check:type-scale: .apps-instance used a raw 12px (d13d17a, direct push). Now var(--text-detail) (12px) with its letter spacing. - vp lint: SectionList's sidebar section is role="group" (6b7c28f, direct push). The rule's suggested tags (fieldset, details, optgroup) are for form controls or disclosure, not a labelled run of nav links, so the line gets a reasoned disable, as DrillList's listbox groups have. vp fmt --check is already green at this tip (#28927). Verified: `bun run check` in webviews/ is green (was 4 red at 25c1584).
…r paints under Send (#28672) #28672 follow-up: text typed near Send was sometimes covered by a button's pill instead of wrapping. The prompt spans the actions' column and keeps clear of them through --acpmux-actions-width, which followActionsWidth measured from the actions element it found when the prompt mounted, with a cache of the last width it wrote. An actions element rendered later or replaced was never measured, and a box that lost the property (a field's cleanup in the same box) was never written again while the width stayed the same, so the 64 px CSS fallback stood in, narrower than ↵, Stop and the mic during a turn. - composerScrollLane.ts follows whichever actions element the box holds now and writes the width again whenever the box no longer carries it (a MutationObserver on the box that skips the prompt's own edits). - test/composer-draft-overflow.test.ts: text typed up to Send (words, an unbroken run, spaces) with the pointer on the last action, sampled after every painted frame for any glyph under a button, idle at 260 and 420 px, during a turn and with prompts queued; and the inset coming back after the box loses it during a turn (without the fix a glyph paints under Steer now). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… its instance
Hello Deploy's listing named no deploy target, so nothing told the person
it runs on their own machine or their cmux Cloud machine before Get.
- catalog.get sends deploy {targets, tenancy} for an app with a deploy
block (none otherwise); the image and port stay out of the listing.
- The App Store page draws a "Runs on" section: "A machine you host (SSH
with Docker or Podman)", "Your cmux Cloud machine", "Your team's cmux
Cloud machine", "This Mac", each with its manifest name.
- cmux apps info prints "runs on: self-hosted, cloud-vm".
- An Installed row shows the deployed instance the owner already sent and
the page dropped: "Running on <target>" / "Starting on <target>".
Seven new strings in all 21 languages (CmuxNextApps Localizable.xcstrings).
User (2026-10-30): "refactoring the settings page to look a lot better with sections". - Sidebar: the 21 categories now sit under small headers, the layout the Swift SettingsPageLayout.sidebarSections exports (page.sidebar_sections): General and Updates (untitled), Look and Feel, Tools, AI, Interaction, Accounts and Devices, Data and System. The category order follows the sections (Browser moves up to Tools; Import and Privacy join Data and System). One source: the sections hold the category specs, specs derive from them. A narrow pane keeps its one scrolling row; headers hide there. - Cards: five walls of rows split into titled cards (cap 16 rows, SettingsPageLayout.maxRowsPerCard): General > Tabs 30 -> Tabs, Tab Widths, New Tab Page, New Tab Widgets; Columns 20 -> Columns, New Panes, Docked Columns, Scrolling and Focus; Appearance > Density and Motion -> + Sizes; Sidebar 57 -> Sidebar, Sidebar Workspaces, Sidebar Buttons and Spaces, Workspace Hover Cards, Group Hover Cards; Surfaces 28 -> Surfaces, Surfaces: Window, Surfaces: Viewers; Agents > Agent Chat 28 -> Agent Chat, Chat Layout, Chat Text, Message Box, Files and Links. - 23 new catalog strings, all 21 locales (non-English needs_review). - No row key, section, CLI path or search behavior changes; search still jumps to a row in its new card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Review (claude-review-subagent): SHIP at 95efc8b Correctness review of the 4-file diff (HEAD~1..HEAD). The diff changes no checker, baseline or allowlist; only the 4 source files listed in the PR body changed. Verification (on this head, Linux VM)
Per change
Findings
No hacks found: each fix changes the code that was flagged, and no checker inputs changed. |
|
Superseded: direct pushes 2d93485, a19e400 and e7bab27 fixed the same four findings on feat-cmux-next while this PR was in review, and this PR now conflicts with them. |
Summary
The feat-cmux-next tip failed four webviews checks (seen by merge-batch at a8615fd, still red at 25c1584). The pre-push hook refused every squash that touches webviews. This PR fixes each finding in the code. No checker, baseline or allowlist changes.
check:browser-lanestest/composer-draft-overflow.test.ts:434samples in a raw rAF loopwindow.cmuxAfterPaint, whichopenalready installscheck:design-tokensContextSection.csspadding2px 6px 04px 8px 0; the link's own 2px side padding is taken back (margin-right: -2px) so its text stays on the rows' 8px trailing edgecheck:type-scalepages/apps/styles.css: 8 raw sizes, baseline 7 (new.apps-instance12px)var(--text-detail)(12px) with its letter spacingvp lintSectionList.tsx:73jsx-a11y(prefer-tag-over-role)onrole="group"vp fmt --checkis already green at this tip (#28927).Changelog
none
Observed / Not run
bun run checkin webviews/ at base 25c1584:4 red: check:browser-lanes, check:design-tokens, check:type-scale, vp lint. At head 95efc8b (rebased on a0d51f8): exit 0.scripts/web-lint.shpassed;prepush-gate.py: no new violations.CMUX_BROWSER_TESTS=1 bun test test/composer-draft-overflow.test.ts -t "never under a button|inset comes back": 5 pass, 0 fail (Chromium).Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes four red webviews checks on the
feat-cmux-nexttip so the pre-push hook no longer blocks webviews squashes.check:browser-lanes: the draft-overflow sampler now reads throughwindow.cmuxAfterPaintinstead of a hand-rolled rAF +MessageChannelloop.check:design-tokens: the Context section's Compact row padding moves from2px 6px 0to4px 8px 0; the link's own 2px side padding is offset so its text keeps the rows' 8px trailing edge.check:type-scale:.apps-instanceusesvar(--text-detail)with its letter spacing instead of a raw 12px.vp lint:SectionListgets a reasoned disable forrole="group"since the suggested tags (fieldset,details,optgroup) target form controls or disclosure, not navigation links.Written for commit 95efc8b. Summary will update on new commits.