feat: move the terminal fully into the ssh-terminal plugin (B9)

This commit is contained in:
LukeGus committed 2026-09-23 21:41:22 -05:00
1 parent 535126fd1b
commit 79d77678c9
309 files changed
+41789 -14958

No files matched your search

+7 -75
View File
@@ -1,10 +1,6 @@
{
"$comment": "Literals src/ui may still spell that name a plugin id or a plugin-owned view. Each is data or the core terminal, not knowledge of a plugin. Checked by scripts/check-shell-plugin-ids.cjs; D1 and Phase B empty it.",
"$comment": "Literals src/ui may still spell that name a plugin id or a plugin-owned view. Each is data, not knowledge of a plugin. Checked by scripts/check-shell-plugin-ids.cjs; D1 and Phase B empty it.",
"files": {
"src/ui/AppShell.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/api/collab-api.ts": {
"literals": ["rdp", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
@@ -17,70 +13,14 @@
"literals": ["rdp", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/contexts/ConnectionDefaultsContext.tsx": {
"literals": ["rdp", "terminal"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/features/collab/CollabRoomTab.tsx": {
"literals": ["rdp", "ssh-terminal", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it. The core terminal opens its own websocket, served by the ssh-terminal plugin, until the terminal moves into it in Phase B."
},
"src/ui/features/homepage/widgets/QuickConnectWidget.tsx": {
"literals": ["files", "terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered. A default widget config value (connectionTypes), not a code branch on the plugin: quick connect offers terminal and files by default regardless of which plugins are enabled."
},
"src/ui/features/session-sharing/SharedSessionView.tsx": {
"literals": ["ssh-terminal"],
"reason": "The core terminal opens its own websocket, served by the ssh-terminal plugin, until the terminal moves into it in Phase B."
},
"src/ui/features/terminal/Terminal.tsx": {
"literals": ["ssh-terminal", "terminal"],
"reason": "The core terminal opens its own websocket, served by the ssh-terminal plugin, until the terminal moves into it in Phase B. The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/features/terminal/TerminalTabContent.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/features/terminal/TerminalToolbar.tsx": {
"literals": ["files", "terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered. The toolbar's \"open file manager here\" button needs the terminal's current working directory before opening the tab, so it special-cases the files host action instead of using the generic opener; folds into the terminal's own Phase B step."
},
"src/ui/features/tmux-monitor/TmuxMonitor.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
"literals": ["rdp", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/lib/connection-origin.ts": {
"literals": ["rdp", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/lib/host-connection-tabs.ts": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/onboarding/steps/WelcomeStep.tsx": {
"literals": ["files", "terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered. The fixed 3-item first-run welcome card (hosts, terminal, files) is core promotional copy, not an extensible list a plugin contributes to."
},
"src/ui/shell/TabBar.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/shell/TabContext.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/sidebar/ConnectionDefaultsSettings.tsx": {
"literals": ["rdp", "terminal"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/sidebar/ConnectionsPanel.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/sidebar/HostEditor.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/sidebar/HostEditorData.ts": {
"literals": ["docker", "rdp", "telnet", "vnc"],
"reason": "Host data: the enableDocker column filter and the container runtime name, until Phase B moves them. Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
@@ -89,25 +29,17 @@
"literals": ["rdp", "telnet", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/sidebar/HostManagerTabs.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
},
"src/ui/sidebar/HostsPanel.tsx": {
"literals": ["docker", "rdp", "telnet", "terminal", "vnc"],
"reason": "Host data: the enableDocker column filter and the container runtime name, until Phase B moves them. Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it. The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
"literals": ["docker", "rdp", "telnet", "vnc"],
"reason": "Host data: the enableDocker column filter and the container runtime name, until Phase B moves them. Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableTelnet, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/sidebar/QuickConnectPanel.tsx": {
"literals": ["files", "rdp", "terminal", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it. The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered. The quick-connect-for-an-unsaved-host flow offers a fixed terminal/files button pair, not an extensible list a plugin contributes to."
"literals": ["files", "rdp", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it. The quick-connect-for-an-unsaved-host flow offers a fixed Files button next to the default connect button, not an extensible list a plugin contributes to."
},
"src/ui/sidebar/quick-connect-host.ts": {
"literals": ["rdp", "vnc"],
"reason": "Host protocol value (connectionType, enableRdp, session protocol), a host column until Phase B moves it. Host protocol value (connectionType, enableVnc, session protocol), a host column until Phase B moves it."
},
"src/ui/sidebar/tree/HostItem/HostItem.tsx": {
"literals": ["terminal"],
"reason": "The terminal tab type. The terminal component, split view and file-manager hooks stay in core until the terminal's Phase B step; the ssh-terminal plugin only decides whether it is offered."
}
}
}