Repository navigation
base red: webviews bun run check is green (floating promises, #30357 a11y, tokens, type scale, browser lanes, format) - #30801
Conversation
… awaited (no-floating-promises)
webviews' lint runs with denyWarnings (config/vite-plus/check.ts), so the four
`no-floating-promises` warnings in App.tsx made `vp lint` and
`vp check --no-fmt --no-lint` ("0 errors and 4 warnings") exit 1 on every
webviews push. #30220 (e24c1aa) made requestFolder and chooseProject
return their Promise<void>. Four callers that start a pick and do not wait for
it (the New Tab start at 11518, the two browse results and the folder chooser's
pick) now say so with `void`. The promise cannot reject with a host error:
pickFolder catches the host's refusal and the folder is then used or refused
inside it, so no `.catch` is needed. No rule is disabled.
Red at 7c549a4 (cd webviews): bunx --bun vp lint exit 1, 4 no-floating-promises
Green here: no no-floating-promises finding.
…d pass lint, tokens, type scale and format #30357 (7d5f3ae) added four jsx-a11y warnings (denyWarnings makes them red), five new design-token violations, four raw font sizes and nine unformatted files, so `bun run check` had five red pieces at the tip. - CloudRepositoryPicker: the Popover focuses the search field (initialFocus ref), not autoFocus; the list of repository buttons is a plain list (a listbox role on a list of buttons was wrong for assistive tech). - RepoRecoveryCard: the repository choices are a named <fieldset>, not a div with role="group"; its CSS removes the fieldset's border, padding and min width. - Spacing on the scale (4/8 px) and font sizes from the type scale (--text-caption 11 px, --text-detail 12 px, the same at interface scale 1). - vp fmt on the nine files; the three test files are byte-identical to #30711. Red at 7c549a4 (cd webviews): bun run check 5 red: check:design-tokens, check:type-scale, vp fmt --check, vp lint, vp check --no-fmt --no-lint Green here: bun run check exit 0. bun test of RepoRecoveryCard, backgroundTurns, subsessions and subagentOrder: all pass.
…d-webviews-floating-promises
…t-gap test pass tokens, browser lanes and format At origin/feat-cmux-next 265c68a, `bun run check` (and scripts/web-lint.sh) had three more red pieces from two later merges: - check:design-tokens: #30386 (f1f79b0) cloudStart.css. Spacing on the scale (gap 6/7 -> 8 px, padding 13 -> 12 px, 2/14 -> 4/12 px), and the two status dots take their height from `aspect-ratio: 1` instead of a calc() that sat beside the height scale; they stay 14 px and 6 px circles. - check:browser-lanes: #30297 (c7c9a16) test/agent-pane-composer-rest-gap.test.ts resized its probe from a requestAnimationFrame loop. The probe now resizes in window.cmuxAfterPaint's drive (the same frame callbacks); its ResizeObserver samples the gap as before. - vp fmt on the eight files these merges left unformatted. Red at 265c68a (cd webviews): bun run check red: check:browser-lanes, check:design-tokens, vp fmt --check Green here: bun run check exit 0. CMUX_BROWSER_TESTS=1 bun test ./test/agent-pane-composer-rest-gap.test.ts 3 pass. bun test CloudStartView.test.tsx 8 pass; summary-started-chats-scale.test.ts 2 pass.
…d-webviews-floating-promises
|
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 red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 87b4c90; does not block Shipped in:
|
|
Review (subagent, correctness first): SHIP at fcac2cb Independent review (webviews base-red owner's review subagent):
Commands (from webviews/, on this head merged with feat ffe1ad2):
Red on the base: at feat 3154610, |
…d-webviews-floating-promises
|
Review (subagent, correctness first): SHIP at fcac2cb The reviewer ran these at this head in webviews/:
What the reviewer confirmed:
|
…urn methods (generator output) #30775 (6c53035) added agent-session-turn-prepare and agent-session-turn-abandon to cmux-tui/crates/acpmux/spec/acpmux-protocol.json but did not run the webviews generator, so `bun run acpmux-protocol:check` (the last piece of `bun run check`) failed at feat-cmux-next 87b4c90: "acpmux protocol generated files are stale in src/agent-session/acpmux/protocol/generated: methods.ts". This commit is the output of `bun scripts/acpmux-protocol-codegen.ts` only (+4 lines). Red at 87b4c90 (cd webviews): bun run acpmux-protocol:check exit 1 (stale methods.ts) Green here: bun run acpmux-protocol:check exit 0
|
Review (subagent, correctness first): SHIP at 85be591 This reviews the change since the SHIP at fcac2cb:
|
|
Found 7 test failures on Blacksmith runners: Failures
|
…ane's table (pane-english base red) (#30935) #30801 gave the Cloud start checklist an English aria-label, "Cloud startup checklist", in CloudStartView.tsx. test/pane-english.test.ts "no user-visible English is written in the pane's sources" fails on feat-cmux-next for it (react-apps-check (6), runs 41307005642 and 41308229592). Read it from a new cloudStartup.checklist entry, alongside the other cloudStartup strings. Agent-Session: https://cmux.com/deeplink/agent?id=aid-2f629b93d5a20c58e6f8 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
bun run checkinwebviews/fails at the feat-cmux-next tip on every webviews push, soscripts/web-lint.shneedsCMUX_WEB_LINT_SKIP_REASON, and the CI web lint is red for everyone. This PR makes it exit 0 at this head. No lint rule is disabled, and no baseline grows.vp lint, andvp check --no-fmt --no-lint("0 errors and 4 warnings", exit 1)config/vite-plus/check.tssetsdenyWarnings: true, so the 4no-floating-promiseswarnings inApp.tsxfail both commands.requestFolderandchooseProjectreturnPromise<void>.voidat the 4 callers that start a pick and do not wait for it.pickFolderalready catches the host's refusal, so the promise has no host error to report.autoFocus,role="listbox"on a list of buttons,role="group"on a div), also red underdenyWarnings.initialFocus={ref}, the list is a plain<ul>, and the repository choices are a named<fieldset>(its border, padding and min width removed in CSS).check:design-tokensaspect-ratio: 1and notcalc(space + 2px), so they stay 14 px and 6 px circles.check:type-scalefont-size: 11px/12pxvar(--text-caption)/var(--text-detail). These are the same sizes at interface scale 1.check:browser-lanesrequestAnimationFrameloop in a browser testwindow.cmuxAfterPaint'sdrive, which runs in the same frame callbacks.vp fmt --checkvp fmt. The 3 test files that #30711 also formats are byte-identical to that PR.acpmux-protocol:check(appeared at feat 6c53035)methods.tsstale: the spec has 2 new Cloud turn methodsbun scripts/acpmux-protocol-codegen.ts(+4 lines inprotocol/generated/methods.ts).Red and green
All commands ran from
webviews/.7c549a483d05and265c68a569a,bun run checkexited 1. The red pieces werecheck:design-tokens,check:type-scale,vp fmt --check,vp lintandvp check --no-fmt --no-lint, then alsocheck:browser-lanes.bunx --bun vp lintshowed the 4no-floating-promiseswarnings atApp.tsxlines 11518, 11678, 12128 and 12555.87b4c905072,bun run acpmux-protocol:checkexited 1: "acpmux protocol generated files are stale in src/agent-session/acpmux/protocol/generated: methods.ts". At head85be59136f8(merged with87b4c905072),bun run checkexits 0 andscripts/web-lint.sh --base origin/feat-cmux-next --head HEADpasses; the push passed the pre-push hook with no skip reason.bun run checkexits 0, andscripts/web-lint.shpasses.Observed / Not run
bun testfor RepoRecoveryCard (3 pass), CloudStartView (8 pass), backgroundTurns (4 pass), subsessions (9 pass), subagentOrder (4 pass) and summary-started-chats-scale (2 pass).CMUX_BROWSER_TESTS=1 bun test ./test/agent-pane-composer-rest-gap.test.ts: 3 pass.prepush-gate.py: no new violations.scripts/gallery-compare.shcould not reach cmux-lawrence over ssh from this VM. The visual changes are 1–2 px spacing changes in the Cloud repository picker, the repository recovery card and the Cloud startup checklist. The gallery advisory run on this PR shows them.Changelog
none
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
bun run checkinwebviews/was red on every push at thefeat-cmux-nexttip, blocking web lint for everyone. This PR makes it exit 0 without disabling any lint rule or growing a baseline.Fixes
App.tsxthat start a pick without waiting for it are now explicitlyvoided, silencingno-floating-promises.initialFocusref instead ofautoFocus, and the repo list is a plain<ul>.<fieldset>, with its border, padding, and min width removed in CSS.var(--text-caption)/var(--text-detail)(the same sizes at interface scale 1).window.cmuxAfterPaint's drive instead of arequestAnimationFrameloop.methods.tsnow lists fix(acpmux): register Cloud turn methods and TLS provider #30775's two Cloud turn methods, so the protocol catalog check passes.vp fmt; the three test files are byte-identical to another PR's formatting.Written for commit 85be591. Summary will update on new commits.