Skip to content

Quiet cloud terminal creation tabs - #12979

Merged
lawrencecchen merged 4 commits into
mainfrom
feat-cloud-terminal-label
Sep 20, 2026
Merged

lawrencecchen merged 4 commits into
mainfrom
feat-cloud-terminal-label

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Cloud terminals opened with Cmd+D or Cmd+T initially show terminal without a tab spinner. Both cloud insertion paths reuse the localized cloud terminal label, and creation/retry no longer toggles tab loading. Pane-level failure and retry behavior remains intact.

Validation: python3 tests/test_ios_appstore_lane_identity.py passes after merging main. git diff --check passes. GitHub macOS checks and controller build are pending; live cloud UI verification is not yet complete.

@cursor

cursor Bot commented Sep 19, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@coderabbitai

coderabbitai Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: f208fa5f-6abd-4997-8524-641c10a0c8c3

📥 Commits

Reviewing files that changed from the base of the PR and between 9c2ba78 and 89a7a14.

📒 Files selected for processing (2)
  • Sources/Surfaces/Workspace+CloudManualMirror.swift
  • Sources/Surfaces/Workspace+CloudTerminalReservation.swift

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

Cloud manual-mirror tabs now use the localized title "terminal" and never show loading indicators. Cloud-terminal reservation failure and retry handling no longer changes tab loading state.

Changes

Cloud terminal tab behavior

Layer / File(s) Summary
Manual-mirror tab creation and loading state
Sources/Surfaces/Workspace+CloudManualMirror.swift
Cloud manual-mirror tabs use a shared localized title, start without loading indicators, and ignore loading-state updates.
Quiet reservation failure and retry
Sources/Surfaces/Workspace+CloudTerminalReservation.swift
Reservation failure and retry handling no longer drives the tab-strip spinner. Comments describe pane-level status and quiet tab behavior.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: austinywang


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 2 warnings)

Check name Status Explanation Resolution
Cmux Full Internationalization ❌ Error The PR introduces the user-facing tab title terminal through String(localized: "panel.cloudTerminal.title", defaultValue: "terminal"), so it uses the required localization API. However, the author… Add panel.cloudTerminal.title to Resources/Localizable.xcstrings with the English value terminal and a genuine translated value for each of the 20 existing locale codes. Keep the Swift key and catalog key identical.
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The description explains the main behavior change and reports validation results. It omits the required Demo Video, Review Trigger, and Checklist sections, and it does not provide completed manual UI … Add the Demo Video section with a video or attachment, include the Review Trigger block, complete the Checklist, and document the manual cloud UI verification status or results under Testing.
✅ Passed checks (22 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Cmux Cloud Persistent Session And Early Input ✅ Passed PASS. The reviewed range changes only Cloud manual-mirror tab titles and tab-strip loading state. It does not add a client, transport, event socket, snapshot refresh, readiness wait, or auth/idempoten…
Cmux Swift Actor Isolation ✅ Passed PASS. The diff changes only two existing @MainActor Workspace extensions. It adds one private localized String helper used only by MainActor UI insertion methods. It adds no value models, servic…
Cmux Swift Blocking Runtime ✅ Passed The pull request does not introduce or expand blocking or timing-based synchronization. The authoritative diff only changes tab titles/loading flags, makes setCloudManualMirrorTabLoading a no-op, an…
Cmux Browser Automation Off-Main ✅ Passed PASS. The authoritative diff changes only Sources/Surfaces/Workspace+CloudManualMirror.swift and Sources/Surfaces/Workspace+CloudTerminalReservation.swift. The rule-scoped files, `Sources/Terminal…
Cmux Expensive Synchronous Load ✅ Passed PASS: The diff only changes cloud terminal tab titles and loading-state updates in two @MainActor workspace extensions. It adds no agent-history loader, file read, directory scan, JSON/JSONL parsing, …
Cmux Cache Substitution Correctness ✅ Passed PASS. The diff does not replace an authoritative persistence read with a cache. It changes the cloud tab title from panel.displayTitle to the intentional localized initial label terminal, and it f…
Cmux No Hacky Sleeps ✅ Passed PASS. The pull request changes only two .swift files. The custom check applies to TypeScript, JavaScript, shell, and non-Swift build/runtime scripts. The added Swift lines contain no sleep, timer, p…
Cmux Algorithmic Complexity ✅ Passed PASS. The authoritative diff changes tab titles, loading flags, comments, and a no-op loading seam. It adds no loops, nested scans, sorting, filtering, joins, or slower algorithms. The existing `allPa…
Cmux Swift Concurrency ✅ Passed The pull request does not introduce or materially expand any legacy async pattern covered by the check. The authoritative diff only changes cloud-terminal tab titles and loading-state behavior, replac…
Cmux Swift @Concurrent ✅ Passed PASS. The diff changes only synchronous methods and properties inside @MainActor Workspace extensions. It introduces no async, nonisolated, or @concurrent declaration, and it removes tab-loa…
Cmux Swift Package Boundaries ✅ Passed PASS: The diff does not introduce or materially expand independently testable domain logic in the app target. It changes a private localized tab title, Bonsplit tab loading flags, and the existing `Wo…
Cmux Swiftpm Lockfiles ✅ Passed PASS. The reviewed range changes only Sources/Surfaces/Workspace+CloudManualMirror.swift and Sources/Surfaces/Workspace+CloudTerminalReservation.swift. The patch contains no Package.swift, `Pack…
Cmux Swift Logging ✅ Passed PASS: The pull request changes only cloud terminal tab titles/loading behavior and related comments. The authoritative diff adds no print, debugPrint, dump, NSLog, file/stdout logging, `Logger…
Cmux User-Facing Error Privacy ✅ Passed PASS: The diff does not add or change user-facing error, alert, command-output, API-error, or recovery copy. The only new user-visible text is the generic localized tab title fallback “terminal”. The …
Cmux Swiftui State Layout ✅ Passed PASS: The pull request changes only two @MainActor extension Workspace files that import AppKit and contain no SwiftUI views, @Observable, ObservableObject, @Published, GeometryReader, lazy/…
Cmux Architecture Rethink ✅ Passed PASS: The diff is a small local correctness fix. It centralizes the terminal title and forces isLoading: false in both shared cloud tab insertion paths. It removes tab loading mutations from failu…
Cmux Swift Auxiliary Window Close Shortcuts ✅ Passed PASS — The pull request changes cloud terminal tab creation and pane retry/loading behavior in Workspace+CloudManualMirror.swift and Workspace+CloudTerminalReservation.swift. The diff adds no `NSW…
Cmux Source Artifacts ✅ Passed The pull request changes only two hand-written Swift source files under Sources/Surfaces/. The diff contains product behavior changes for cloud terminal tab titles and loading state. It adds no logs…
Cmux No Test Or Debug Seam In Production Source ✅ Passed PASS. The PR changes only production cloud-terminal behavior and adds no test/debug seam. The added cloudManualMirrorTabTitle property is a private product title value. The changed `setCloudManualMi…
Title check ✅ Passed The title clearly and concisely describes the main change: cloud terminal creation tabs remain quiet during creation and retry.
Full details: Cmux Full Internationalization

Explanation

The PR introduces the user-facing tab title terminal through String(localized: "panel.cloudTerminal.title", defaultValue: "terminal"), so it uses the required localization API. However, the authoritative head has no panel.cloudTerminal.title entry in Resources/Localizable.xcstrings, and the PR changes no catalog file. This violates the rule requiring a matching catalog entry with translations for every supported locale. The affected catalog currently contains 20 locale codes: ar, bs, da, de, en, es, fr, it, ja, km, ko, nb, pl, pt-BR, ru, th, tr, uk, zh-Hans, and zh-Hant.

Full details: Description check

Explanation

The description explains the main behavior change and reports validation results. It omits the required Demo Video, Review Trigger, and Checklist sections, and it does not provide completed manual UI verification.

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Sep 19, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Fleet build instructions for this PR, head 6ed6b68f159e4da01f0b511a117d3ba4c585c897:

JOB_JSON=$(~/.local/bin/cmux-ci submit --kind cmux --command 'CMUX_FLEET_BUILD_TAG=pr-12979-6ed6b68f /Users/Shared/cmux-build-fleet/recipes/cmux.sh https://github.com/manaflow-ai/cmux.git 6ed6b68f159e4da01f0b511a117d3ba4c585c897' --artifact artifacts/cmux.app.zip --workspace https://github.com/manaflow-ai/cmux/pull/12979 --source-digest 6ed6b68f159e4da01f0b511a117d3ba4c585c897 --cache-key cmux:pr-12979 --min-free-bytes 268435456000 --label cmux --label ram48)
JOB_ID=$(python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])' <<<"$JOB_JSON")
~/.local/bin/cmux-ci wait "$JOB_ID" --receipt artifacts/fleet/$JOB_ID.json
~/.local/bin/cmux-ci publish-hq "$JOB_ID"

The job survives disconnects. Do not resubmit after a wait timeout; rerun cmux-ci wait with the same ID. The artifact receipt records worker, queue/build/package/upload times, cache state, and disk before/after cleanup. The build is exact-head and does not include uncommitted edits.

@lawrencecchen

Copy link
Copy Markdown
Contributor Author

Verified macOS fleet artifact for 6ed6b68: pr-12979-6ed6b68f. HQ restores/downloads this exact artifact on click.

Job 24a99779ff31e94342ee05cf. Active execution/cleanup: 967.4s; queue/setup: 1.7s. Free disk: 257.9 → 257.1 GiB. Workspace reset: True.

This proves a macOS app build and publication; it does not prove iOS, tests, or UI behavior. Fetch the durable receipt with cmux-ci wait 24a99779ff31e94342ee05cf --receipt artifacts/fleet/24a99779ff31e94342ee05cf.json. Do not resubmit this completed build. If the head changes, rebuild the new exact SHA.

@lawrencecchen
lawrencecchen merged commit 22d913e into main Sep 20, 2026
39 of 41 checks passed
rustybret pushed a commit to rustybret/bmux that referenced this pull request Sep 20, 2026
e3f22bd ci: run slow and history-dependent guards beside workflow-guard-tests (manaflow-ai#13097)
974c2c4 Normalize Cloud tree machine icon spacing (manaflow-ai#13081)
10d13a6 test: align cloud rename parity with optimistic tree (manaflow-ai#13092)
be7692c ci: start the agent notification lane only for the suites it runs (manaflow-ai#13067)
2bda736 ci: run web validation for the merge queue (manaflow-ai#13069)
39f1328 ci: cancel superseded pull request runs in three macOS workflows (manaflow-ai#13064)
80ee5dc ci: skip blocked internal TestFlight polls (manaflow-ai#13062)
cbb3477 ci: stop routing workflow plumbing changes to macOS (manaflow-ai#13083)
22d913e Quiet cloud terminal creation tabs (manaflow-ai#12979)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant