Skip to content

Quiet cloud terminal creation tabs - #12979

Open
lawrencecchen wants to merge 1 commit into
mainfrom
feat-cloud-terminal-label
Open

lawrencecchen wants to merge 1 commit 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 now use the initial label terminal and keep the tab strip free of the creation spinner. The existing pane-level failure and retry behavior remains unchanged.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Previously, cloud terminals opened with Cmd+D or Cmd+T showed their display title and a tab-strip spinner while being created. They now open with the label terminal and keep the tab strip quiet; failure and retry still surface in the pane itself.

Written for commit 89a7a14. Summary will update on new commits.

Review in cubic

Summary by CodeRabbit

  • Bug Fixes
    • Cloud terminal tabs now display the localized “terminal” title consistently.
    • Tab-strip loading indicators remain stable while cloud terminal reservations fail or are retried.
    • Loading indicators are no longer shown during cloud manual-mirror tab creation.

@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

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.
Description check ⚠️ Warning The description explains the main change and its preserved behavior, but it omits the required Testing, Demo Video, Review Trigger, and Checklist sections. Add the required Testing, Demo Video, Review Trigger, and Checklist sections. Document test results and manual verification, provide a demo video or attachment for this UI change, include the review trigger block, and complete the checklist…
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.
✅ Passed checks (22 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: cloud terminal creation tabs no longer show creation activity.
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…
Full details: Description check

Resolution

Add the required Testing, Demo Video, Review Trigger, and Checklist sections. Document test results and manual verification, provide a demo video or attachment for this UI change, include the review trigger block, and complete the checklist.

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.

  • 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.

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