Repository navigation
cmux NEXT: first-run New Tab opens harness setup and shows No project / Browse - #26084
Conversation
|
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)
Passes: CI passes on CI passes on Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 1a3add7; does not block Gallery before/after for |
|
Bead |
|
Found 2 test failures on Blacksmith runners: Failures
|
|
Owned by an agent session · session |
New Tab regression suite: 6 tests pass in cmux-ci run 40482530157. Added gallery variants for Cards and Minimal project choices. Agent-Session: https://cmux.com/deeplink/agent?id=aid-fe641d6bf0659eb61cfc
…st-run-newtab-recovery
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
What it doesThe lane's first-run journey note says:
Risk: low to medium. This changes New Tab behaviour only when no harness is installed or no project has been chosen. Existing users with a harness and a project see no change. ProvenanceA Codex UX lane wrote this on a VM that couldn't publish: its GitHub broker had no token and it had no push access. claude-sr2's helper copied the commit off that VM and cherry-picked it onto the latest Agent session: agent session 🤖 Generated with Claude Code
VerificationFocused New Tab regression tests passed in cmux-ci run 40482530157 (6 pass, 0 fail) before the current base merge; final exact-head tests are running in cmux-ci run 40486435611 for a028ec5. The pre-push gate passed at the merged head. The full web lint reports only unchanged base findings: SendScrollSetting.gallery.tsx type-scale, settings channelsCard.test.tsx/store.ts formatting, existing App.tsx hook dependency warnings, and stale generated ACPMUX methods. The exact changed files format and typecheck cleanly. Gallery: agent-pane.first-run/project-card, agent-pane.first-run/minimal, agent-pane.first-run/minimal-projects The fleet gallery capture script exercised all three variants in dark and light with public-safe fixture text. The first capture run produced before/after images for the project-card and minimal-projects states; its final variant rerun is cmux-ci run 40486435611 after the readiness fix. Review (): SHIP at a028ec5 ChangelogFixed: New Tab guides first chats into harness setup and a project or no-project choice. ProofGallery variants and fleet captures cover the clean project card and Minimal layouts in dark and light. agent-identity footer |
I can't find a request in this comment, so I haven't changed anything. It's a copy of the PR description, and the "Tag @codesmith-bot" line in the footer is what triggered me. Tell me what you want done here, for example a review of the diff, a fix for the failing Blacksmith tests, or screenshots for the first-run states. |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Orphaned: no activity for 15 h, and no lane holds a lease on it. The orphan sweep could not merge |
…st-run-newtab-recovery # Conflicts: # webviews/src/agent-session/acpmux/App.tsx # webviews/src/agent-session/acpmux/newtab/NewTabScreen.tsx # webviews/test/new-tab-add-harness-chip.test.tsx
Base's auth preflight (#26643) refuses askChat while the target harness's sign-in check is pending. Setup has just made the harness ready, so Start Chat's resume hit that window and dropped the draft (three first-run Start Chat tests timed out). Hold the resume until the check answers; a sign-in it finds missing still keeps the draft with its note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f8805b2d0f3b1303441e
…st-run-newtab-recovery # Conflicts: # webviews/src/agent-session/acpmux/App.tsx # webviews/src/agent-session/acpmux/newtab/NewTabScreen.test.tsx # webviews/src/agent-session/acpmux/newtab/NewTabScreen.tsx
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
…check Wait while the check for the harness setup just made ready is pending, not another selected harness's. A resume whose target changes while it waits is dropped: nothing is sent, the draft stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-f8805b2d0f3b1303441e
|
Review (Codex gpt-6-astra high, fast; independent, via review-router): SHIP at 8ad19e6 No findings. The conflict resolutions keep base's props and branch order. The setup resume's wait is keyed to its own harness's sign-in target, is dropped when that target changes, sends no duplicates, and keeps the draft when the check finds no sign-in. |
…st-run-newtab-recovery # Conflicts: # webviews/src/agent-session/acpmux/App.tsx # webviews/src/agent-session/acpmux/newtab/NewTabScreen.test.tsx
|
Review (Codex gpt-6-astra high, fast; carried): SHIP at 43358be Carried from the independent SHIP at 8ad19e6. This head only merges |
|
Shipped in:
|
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
New Tab now opens harness setup when a user starts a chat without an installed harness. Closing setup preserves the draft, attachments, and project choice. Start Chat after setup continues that pending chat with the selected harness and the same draft, attachments, and project. A clean project card shows Browse and No project.
Requested notes:
The adopted first-run specification:
Explicit address navigation and search choices retain their existing actions. The New Tab page uses React Activity during setup to preserve state and suspend hidden input listeners without changing the layout.
Risk: contained New Tab routing and setup lifecycle changes. The main regression risks are draft loss and keyboard handling while setup is open; focused tests cover those paths.
Gallery: agent-pane.first-run/project-card, agent-pane.first-run/minimal, agent-pane.first-run/minimal-projects
The project-card version keeps the existing environment card and exposes its empty state actions. The design reference is Claude Code's new-session project/composer arrangement; cmux colours and glass are preserved.
Verification
At
49dfe8a29c6a2768d5e9bdb817e9a82f0c09e4e6, run 40550998124 verified the exact tree (7c087b55f9c88c72f9913a8bdef45727424bc6eb): formatting, scoped lint with zero warnings/errors, typecheck of 2,880 files, and all 41 focused tests. Tests cover setup continuations, rejected sandbox starts, interrupted video metadata reads, stale replies, and retained metadata. Run 40518495825 also covers prompt/image/project preservation and reproduces the reload-hold and inherited-home Browse regressions with their fixes removed.Setup's parent protects the hidden draft from automatic reloads. Start Chat resumes after attachment effects reconnect, and a refused start releases the create guard. Interrupted video reads retry on reveal; settled reads remain complete. The submission wait counts reads before their effects restart, so setup cannot send the draft during the reveal step. The browser regression reproduces early submission with the fix removed in run 40559612546, and passes with the fix in run 40560351009. The latter exposed an old hidden-state count assertion, now updated to distinguish pending work from an active host request.
Exact-head gallery run 40552650597 has nine broken states matching the actual-base reproduction in run 40547039412. Its streaming interaction took 17,349 ms against a 2,000 ms budget; base took 17,461 ms. The computer-search case passed on retry. Release guard failures also reproduce on base: highlight digest validation, Sparkle helper validation, and the appcast fixture. The two cancelled static/autofix checks are not passing receipts.
Current head:
25df5157dea5504f3ba408f0020c560a9c77eaed. The final focused suite is run 40560916680, pending. The video fix passed formatting, lint and typechecking in run 40557947333; that run then stopped on an unavailable historical file before executing tests. Review (codex gpt-6-astra xhigh, review-26084h): SHIP at 25df515No remaining review findings.
Adopted head
8ad19e615927d2a9d888d35fcdf1eaf2fad258a5App.tsx(base's NewTabScreen propsonCmuxCommand,onImportFile,importError,importSandboxedandonPlusCommandcarried onto the Activity-wrapped page),NewTabScreen.tsxandNewTabScreen.test.tsx(both sides' tests kept).new-tab-add-harness-chip.test.tsxis gone, because base deleted it.Before / after
The same
agent-pane.first-run/project-cardgallery entry rendered with the base and changed project card:Light before · Light after · Minimal variant · Minimal projects variant
Refreshed public-safe before/after captures completed in run 40547032803, using the same inherited-home fixture with base
2e489426cba445b3e0a2ab820fba1425b1b4f77cand head850c3886e3c45b9e031bb536d3b53f060af04623. All 12 gallery captures completed without errors.Changelog
Fixed: New Tab guides first chats into harness setup and a project or no-project choice.
Agent session: agent session