mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 14:15:24 +00:00
Adds a hardcoded process:transport-owner tier so the terminal can own its WebSocket server and ssh2 clients, which cannot cross the worker boundary.
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
/**
|
|
* Frontend half of the ssh-terminal plugin.
|
|
*
|
|
* Registers the existing Terminal component through the extension seams that
|
|
* already exist in the shell (registerRailItem / registerTabComponent). The
|
|
* component itself is unchanged and still lives in src/ui/features/terminal -
|
|
* this only controls whether the shell knows about it.
|
|
*
|
|
* register() is called when the plugin is enabled, unregister() when it is
|
|
* disabled, so the tab and rail entry appear and disappear with the plugin.
|
|
*/
|
|
|
|
export const id = "ssh-terminal";
|
|
export const tabId = "terminal";
|
|
|
|
export async function register({
|
|
registerRailItem,
|
|
registerTabComponent,
|
|
icons,
|
|
}) {
|
|
registerTabComponent(tabId, () =>
|
|
import("@/features/terminal/Terminal").then((m) => ({
|
|
default: m.Terminal,
|
|
})),
|
|
);
|
|
|
|
registerRailItem({
|
|
id: tabId,
|
|
icon: icons.SquareTerminal,
|
|
labelKey: "nav.terminal",
|
|
kind: "tab",
|
|
});
|
|
}
|
|
|
|
export async function unregister({
|
|
unregisterRailItem,
|
|
unregisterTabComponent,
|
|
}) {
|
|
unregisterRailItem(tabId);
|
|
unregisterTabComponent(tabId);
|
|
}
|