Add per-tab remote indicator and Disconnect SSH tab context action
Merged
AU
3mo ago+126+126+012345678901234567890123456789-10-10-01234567890123456789
Re-lands the never-merged ssh-pane-remote-indicator branch (f3b3658, built for manaflow-ai/cmux#5949), rebased onto current main:
Tab/TabItemgainshowsRemoteIndicator(rendered as a smallnetworkglyph after the tab title, with accessibility text), threaded throughcreateTab/updateTab/splitPane.- New
TabContextAction.disconnectRemote, shown only when the host'stabContextDisconnectRemoteAvailabilityProviderreturns true. Localized en + ja.
Rebase-specific integration on top of the original commit:
updateTab's no-op guard (#160) now also comparesshowsRemoteIndicator, so an indicator-only update is not skipped.TabContextMenuState(post-#161 shape) carriescanDisconnectRemoteas a defaulted init parameter, and the@MainActorconvenience init feeds it from the provider.
Consumed by pane-scoped cmux ssh --pane (manaflow-ai/cmux#7521). The cmux submodule pointer will reference this commit once it lands on main.
🤖 Generated with Claude Code
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.
Summary by cubic
Add a per-tab remote connection indicator and an optional “Disconnect SSH” tab context action so hosts can signal remote tabs and let users disconnect from SSH.
-
New Features
- Tabs support
showsRemoteIndicator; shown as a small “network” icon next to the title with an accessibility label. Available viacreateTab,updateTab, andsplitPane. - New context action
disconnectRemote(“Disconnect SSH”), shown only whentabContextDisconnectRemoteAvailabilityProviderreturns true. Localized in en and ja. updateTabnow updates when onlyshowsRemoteIndicatorchanges.
- Tabs support
-
Migration
- Set
showsRemoteIndicatorwhen creating or updating tabs that are connected remotely. - Implement
tabContextDisconnectRemoteAvailabilityProviderto surface the “Disconnect SSH” menu item. - Handle the new
TabContextAction.disconnectRemotein your context menu action handler.
- Set
Summary by CodeRabbit
-
New Features
- Tabs can now display a remote connection indicator when connected over SSH.
- A new “Disconnect SSH” option appears in the tab menu when available.
-
Bug Fixes
- Remote connection status now stays visible across tab updates and split-pane actions.
- Existing content continues to load correctly even when older saved data doesn’t include the new status field.
-
Documentation / Localization
- Added new user-facing text in English and Japanese for remote connection status and disconnect actions.