cmux NEXT: no "Bring your stuff to cmux" import cards on the New Tab page

Merged
TE
14d ago
+177-1046

Removes the "Bring your stuff to cmux" Claude Code and Codex import cards from the New Tab page. Importing stays in Settings › Import and in the command palette (Import from Other Apps…). This is PR 2 of 2. It is stacked on PR #24349 (the Chief front page), so this branch includes that PR's two commits until it lands; then base gets merged in here. The two halves are split to keep each under about 800 changed lines. This PR's own diff over #24349 is 34 files, +113/−499.

Leo, 2026-10-21 (relayed by claude-sr2):

"yeah the bring your stuff to cmux is extrmeely questionable idk why that's there + why they went to the chief thingy"

He was asked whether to remove it from the New Tab and the Chief completely, leaving import only in Settings and the command palette. He said:

"yes to both"

Leo-ask: ask-cd2e53c2ac

What changed

Removed

  • Swift: AgentPaneImportCards, the importCards page push and the importCards.act op (decoding, safe description, model, page host, bridge replay, AgentPageProvider).
  • Webviews: NewTabImportCards.tsx, its importCards.ts store, applyImportCards, the pageHost case and the dev-host stub.
  • Dead code:
    • ImportCardDeck's home/newTab surfaces, with their caps and 24 h linger. The deck now builds only the list Settings › Import shows, and cards() is exactly the old .settings path.
    • ImportSuggestionsCenter's push to the New Tab (follow()).
    • The row layout of ImportCards and its CSS.
    • The gallery's New Tab variants. Settings variants now cover the request, running, paused and dismiss states.
  • The string importSuggestions.list.title ("Bring your stuff to cmux"). Nothing uses it now.
  • CmuxNextImportCards no longer depends on CmuxNextAgentPane. This PR does not hand-edit ci-target-graph.json; the PR autofix regenerates it.

Kept

  • The scan, the import jobs and the import.list / import.card / import.suggest / import.open actions.
  • Settings › Import's card list (ImportSuggestionsCard, import_suggestions).
  • The palette's Import from Other Apps… (import.open).
  • The Debug Settings switch browserImport.suggestionCards. Its help text now names only Settings › Import.

Tests

  • ImportSuggestionRemovedTests.theNewTabHasNoImportCards: the agent page has no importCards.act op, and a page that posts one is refused as unsupported.
  • ImportCardDeckTests now tests the one list (Settings). ImportSuggestionsCenterClassicTests and ClassicMigrationTests read center.list().

Same command for red and green:

cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref <sha> --arg=suite --arg=Packages/macOS/CmuxNext --arg=<suites> --env CMUX_CI_XCODE_APP=/Applications/Xcode_26.6.app
  • Red: step 4d42875c at aa43f95f (theNewTabHasNoImportCards on #24349's head d3b1a519), --red. It fails at ImportSuggestionRemovedTests.swift:33 (AgentPageOps.all contains cmux.agent.importCards.act) and :34 (importCards.act decodes to .importCard, not .unsupported). The other two tests pass.
  • Green: at the head with ImportSuggestionRemovedTests, ImportCardDeckTests, ImportSuggestionsCenterClassicTests and ClassicMigrationTests. The result is posted as a comment on this PR.

Observed / Not run

  • Observed: cmux-ci compile-check --ref 19929c85a5a25b7199ff8508fda65ebac6d61366 --app passed in 63 s. python3 scripts/cmux-next/prepush-gate.py reported no new violations, and scripts/web-lint.sh passed on this webviews diff.
  • Observed: in the real app at the source of this head, the New Tab shows the greeting and composer with no import cards. The palette still lists Import from Other Apps… (captures below).
  • Not run: the full CmuxNextAppTests suite on the fleet (PR CI runs it).

Captures

At 31ed6709, which has the same app source as this head. Before (base), the New Tab showed "Bring your stuff to cmux" under the composer, with an "Import Google Chrome… Asked by Chief" card and a Claude Code card.

After, the New Tab shows the greeting, folder picker and composer, and no import cards:

LightDark
lightdark

After, the palette still lists Import from Other Apps…:

LightDark
lightdark

Changelog

  • Removed: the "Bring your stuff to cmux" import cards on the New Tab page. Import stays in Settings › Import and the command palette (Import from Other Apps…).

Agent session: cosmic-gray

🤖 Generated with Claude Code