Revert "Cloud: add repository picker and recovery UI"

LA
5d ago
+180-9860

Summary

Reverts #30357 (7d5f3ae84cc), opened by gh-merge-green --revert.

Changelog

none

Takes back #30357: CmuxNextApp +76 lines, a banned as! (AgentPaneCloudRepositoryRequest.swift) and new design-token rows turned three feat tip checks red; re-land with the code in a package, no as!, and design tokens.

Observed / Not run

Observed (head 871b26ce792, base 265c68a569a):

  • The tree is the exact inverse of 7d5f3ae84cc: git revert 7d5f3ae84cc on the base applies with no conflict and gives the same tree.
  • python3 scripts/cmux-next/prepush-gate.py: arch-ratchet app_lines -76 (CmuxNextApp -76), no new violations; the as! file is deleted.
  • bun scripts/check-design-tokens.ts: the 7 rows of #30357 (conversation.css, sessionInfo.css) go away. 6 cloudStart.css rows stay; they come from #30386 and are red on base.
  • No identifier that #30357 added stays in the tree after the revert.
  • Web lint base reds that stay (not from this revert): check:browser-lanes (agent-pane-composer-rest-gap.test.ts), check:design-tokens (cloudStart.css), vp fmt --check (11 files not in this diff), vp lint warnings (App.tsx floating promises). The push used CMUX_WEB_LINT_SKIP_REASON for these.
  • cmux-tui/spec/sdk-schema.json and cmux-tui/spec/api-compat.surface.json at the head have the exact pre-#30357 bytes (git blob b163280083628ad6d486555daec1c0c85bbc7193 and 30b68e08a37c80bb878684abc44aa3b3079f4bbd, the same as at 7d5f3ae84cc^). #30357 changed sdk-schema.json without a refresh of api-compat.surface.json, which made the api-compat check red on feat; with this revert the two files agree again, so api-compat goes green. Fleet api-compat run: job 6075ba1f8b020796a4f428fa.
  • Fleet compile-check (CmuxNext, app, cmux-tui, recipe 2) passed at the head: job 09230353fb07d99adfa48db5.

Merge of feat-cmux-next (head 9b662b2a80d)

  • Merged feat tip 87b4c905072 with scripts/merge-main.sh --base feat-cmux-next (plain merge, no force push).
  • Conflicts: conversation.css and sessionInfo.css, because #30738 removed a cursor: pointer line inside the blocks of #30357. I kept the revert side. Check: the merge's diff from feat in conversation.css is exactly the lines #30357 added minus that cursor line; sessionInfo.css is byte-identical to its pre-#30357 state. Later feat changes (#30297, #30436 mask rules) are kept.
  • AgentPageChats.swift auto-merged with #28090 (chat windows) in separate hunks.
  • #30775 changed cmux-tui/spec/api-compat.surface.json after #30357. The merge first left that file as on feat, and sdk-schema.json is at its pre-#30357 bytes. api-compat at 9b662b2a80d failed (job 078f9dc64b1b1d164d7a9e03): #30775 had recorded only the cloud-environment request and response of #30357 in the snapshot, so the revert looked like a removal. Commit 38906d2c691 restores api-compat.surface.json to its pre-#30357 bytes (blob 30b68e08a37); the --write mode cannot do this, because it refuses while a break has no rule, and no rule is needed for a message that never shipped (it was behind the cloud-environments-v1 capability). At head 38906d2c691: api-compat job 2b7fc43d952a53fa54230045, compile job c8014cdf4e8d4fe5228b0293.
  • prepush-gate.py at the new head: app_lines -76, no new violations. scripts/web-lint.sh passes.

Not run on this VM: Swift and Rust compile and tests (fleet compile-check follows).

Second merge of feat-cmux-next (head 209178a1bc1)

  • Merged feat tip 68cab886b0d with scripts/merge-main.sh --base feat-cmux-next (git 2.47 with PCRE; the gate's arch ratchet ran: app_lines -76, no new violations).
  • Conflicts came from #30801 (token, a11y and format fixes inside #30357's files) and #30359 (two lines in EnvironmentSheet.tsx and environment.css). All of them are in code that #30357 added, so the revert side wins: the 7 files #30357 added stay deleted; sessionInfo.css and EnvironmentSection.tsx are byte-identical to their pre-#30357 state; conversation.css differs from feat only by the .cv-repo-recovery* block of #30357.
  • #30801's other changes (App.tsx, CloudStartView, tests and more) merged cleanly and are kept. No code at the head uses an identifier that #30357 added.
  • cd webviews && bun run check exits 0 at this head.
  • Fleet at 209178a1bc1: compile job 8b662ec6a5a16c1551d842d0, api-compat job 26c55fecdaf636f8da1ce47b.

Third merge of feat-cmux-next (head c8a4bc238db)

  • Merged feat tip a2abfa7bfbb. #30834 (Localize Cloud repository UI and recovery) edited only code that #30357 added: RepoRecoveryCard.tsx and CloudRepositoryPicker.tsx stay deleted, and EnvironmentSection.tsx keeps its pre-#30357 bytes.
  • The 27 cloudRepository.* keys that #30834 added to webviews/src/agent-session/acpmux/Localizable.xcstrings are used only by the deleted UI. This merge removes them (the inverse of #30834's catalog hunk); the catalog is byte-identical to its pre-#30834 state. A re-land restores them together with the UI.
  • cd webviews && bun run check exits 0; the gate shows app_lines -76 and no new violations.
  • Fleet at c8a4bc238db: compile job d33271f00e1e231aa80d18db, api-compat job f9dcc219c5ec9da06bc7b1d4.

Fourth merge of feat-cmux-next (head 631ce6050d1)

  • Merged feat tip 56fa05806f3. #30824 added a pr: line to release-notes/next/highlights/cloud-environment-editor.md, the highlight of #30357; it stays deleted, because the feature it announces is reverted.
  • #30792 (revert of #30386) and #30578 merged cleanly. AgentPaneCloudStart.swift and App.tsx differ from feat by exactly the inverse of #30357 (same patch-id).
  • cd webviews && bun run check exits 0; the gate shows app_lines -76 and no new violations.
  • Fleet at 631ce6050d1: compile job 03d4ec6e991bf87b9a1316f2, api-compat job bd7190150b2f6378866fd01f.

Fifth merge of feat-cmux-next (head 575f206c361)

  • GitHub showed CONFLICTING at 631ce6050d1. Merged feat tip ffed4d8b34a.
  • AgentTabs+Wiring.swift: #28065 changed the AgentTabStore(...) init next to #30357's cloudRepositoryLocal closure. Kept #28065's init; the diff from feat is exactly the 7 lines of that closure.
  • #30831 changed a #30357 line in EnvironmentSection.tsx and added a test of #30357's attached-repository rows to webviews/test/session-info-environment.test.tsx. Both files keep their pre-#30357 bytes (the test covers code this PR removes).
  • AgentTabs.swift (#28065) and App.tsx / conversation.css (#30561) merged cleanly; AgentTabs.swift and App.tsx differ from feat by exactly the inverse of #30357 (same patch-id).
  • cd webviews && bun run check exits 0; the gate shows app_lines -76 and no new violations.
  • Fleet at 575f206c361 (submitted after the push reached GitHub): compile job d2917eef02bfe5e359a5f3f6, api-compat job 3884f3a89a56eb5672c4ab52.