From c06525adb80d3a754e9b44acbd617b75ce0962b7 Mon Sep 17 00:00:00 2001 From: ZacharyZcR Date: Wed, 13 May 2026 03:30:02 +0800 Subject: [PATCH] fix: pass jumpHosts to terminal WebSocket connection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jumpHosts was defined on SSHHost but never included in the TerminalHostConfig interface or passed through Sessions → Terminal → NativeWebSocketManager. The backend received no jump host data so connections that require a jump server always failed on mobile. Fixes Termix-SSH/Support#422 --- app/tabs/sessions/Sessions.tsx | 1 + app/tabs/sessions/terminal/NativeWebSocketManager.ts | 1 + app/tabs/sessions/terminal/Terminal.tsx | 1 + 3 files changed, 3 insertions(+) diff --git a/app/tabs/sessions/Sessions.tsx b/app/tabs/sessions/Sessions.tsx index e679592..098f715 100644 --- a/app/tabs/sessions/Sessions.tsx +++ b/app/tabs/sessions/Sessions.tsx @@ -571,6 +571,7 @@ export default function Sessions() { credentialId: session.host.credentialId ? parseInt(session.host.credentialId.toString()) : undefined, + jumpHosts: session.host.jumpHosts, terminalConfig: session.host.terminalConfig, }} isVisible={session.id === activeSessionId} diff --git a/app/tabs/sessions/terminal/NativeWebSocketManager.ts b/app/tabs/sessions/terminal/NativeWebSocketManager.ts index 48b1563..222074d 100644 --- a/app/tabs/sessions/terminal/NativeWebSocketManager.ts +++ b/app/tabs/sessions/terminal/NativeWebSocketManager.ts @@ -12,6 +12,7 @@ export interface TerminalHostConfig { keyPassword?: string; keyType?: string; credentialId?: number; + jumpHosts?: { hostId: number }[]; } export type WsState = diff --git a/app/tabs/sessions/terminal/Terminal.tsx b/app/tabs/sessions/terminal/Terminal.tsx index 3c84ab3..f4220e1 100644 --- a/app/tabs/sessions/terminal/Terminal.tsx +++ b/app/tabs/sessions/terminal/Terminal.tsx @@ -45,6 +45,7 @@ interface TerminalProps { keyPassword?: string; keyType?: string; credentialId?: number; + jumpHosts?: { hostId: number }[]; terminalConfig?: Partial; }; isVisible: boolean;