mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-30 07:05:24 +00:00
feat: wire remote-desktop plugin into core and rename i18n keys
Repoints core consumers (dispatcher, collab, session-sharing, tab utils) at the plugin, adds isTabTypeAvailable gating for rdp/vnc/ telnet, widens hostCapability to accept an array, and renames the guacamole i18n namespace to remoteDesktop.
This commit is contained in:
1 parent
c6bcfdb80d
commit
76b2e5739a
41 files changed
+361
-686
No files matched your search
+5
-26
@@ -299,11 +299,11 @@ async function provisionLocalDesktopUserIfNeeded(): Promise<void> {
|
||||
// ssh-terminal, docker and host-metrics plugins start their own servers,
|
||||
// so disabling any of them stops its WS/HTTP server. See
|
||||
// plugins/ssh-terminal, plugins/docker and plugins/host-metrics.
|
||||
// AI and Proxmox are also absent for the same reason: each plugin
|
||||
// registers its router with its own dispatcher in database.ts on
|
||||
// activate (/ai, /proxmox), so disabling either makes its routes 404
|
||||
// instead of leaving a dead import here. See plugins/ai and
|
||||
// plugins/proxmox.
|
||||
// AI, Proxmox and Remote Desktop are also absent for the same reason:
|
||||
// each plugin registers its router with its own dispatcher in
|
||||
// database.ts on activate (/ai, /proxmox, /guacamole), so disabling any
|
||||
// of them makes its routes 404 instead of leaving a dead import here.
|
||||
// See plugins/ai, plugins/proxmox and plugins/remote-desktop.
|
||||
await import("./hosts/tunnel/index.js");
|
||||
await import("./hosts/file-manager/index.js");
|
||||
await import("./hosts/tmux/index.js");
|
||||
@@ -322,27 +322,6 @@ async function provisionLocalDesktopUserIfNeeded(): Promise<void> {
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize Guacamole server for RDP/VNC/Telnet support
|
||||
const guacEnabled = getCurrentSettingValue("guac_enabled") !== "false";
|
||||
|
||||
if (process.env.ENABLE_GUACAMOLE !== "false" && guacEnabled) {
|
||||
import("./hosts/guacamole/guacamole-server.js")
|
||||
.then(() => {
|
||||
systemLogger.info("Guacamole server initialized", {
|
||||
operation: "guac_init",
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
systemLogger.warn(
|
||||
"Failed to initialize Guacamole server (guacd may not be available)",
|
||||
{
|
||||
operation: "guac_init_skip",
|
||||
error: getErrorMessage(error),
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// After metrics, which the automation triggers and headless polling hook into.
|
||||
const { startAutomationScheduler } =
|
||||
await import("./automations/scheduler.js");
|
||||
|
||||
Reference in new issue
Block a user