From 964538eb43dc2e5394ac816d1bce5deb6950f0ca Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sat, 31 Jan 2026 17:02:11 +0100 Subject: [PATCH] Update lxc-terminal-modal.tsx --- AppImage/components/lxc-terminal-modal.tsx | 23 +++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/AppImage/components/lxc-terminal-modal.tsx b/AppImage/components/lxc-terminal-modal.tsx index d31a1a92..fa718f17 100644 --- a/AppImage/components/lxc-terminal-modal.tsx +++ b/AppImage/components/lxc-terminal-modal.tsx @@ -94,9 +94,19 @@ export function LxcTerminalModal({ // Initialize terminal useEffect(() => { - if (!isOpen || !terminalContainerRef.current) return + if (!isOpen) return + + // Small delay to ensure Dialog content is rendered + const initTimeout = setTimeout(() => { + if (!terminalContainerRef.current) { + console.log("[v0] Terminal container not ready") + return + } + initTerminal() + }, 100) const initTerminal = async () => { + console.log("[v0] Initializing LXC terminal for vmid:", vmid) const [TerminalClass, FitAddonClass] = await Promise.all([ import("xterm").then((mod) => mod.Terminal), import("xterm-addon-fit").then((mod) => mod.FitAddon), @@ -152,10 +162,12 @@ export function LxcTerminalModal({ // Connect WebSocket const wsUrl = getWebSocketUrl() + console.log("[v0] LXC Terminal connecting to:", wsUrl) const ws = new WebSocket(wsUrl) wsRef.current = ws ws.onopen = () => { + console.log("[v0] LXC Terminal WebSocket connected") setConnectionStatus("online") // Start heartbeat ping @@ -195,12 +207,14 @@ export function LxcTerminalModal({ term.write(event.data) } - ws.onerror = () => { + ws.onerror = (error) => { + console.log("[v0] LXC Terminal WebSocket error:", error) setConnectionStatus("offline") term.writeln("\r\n\x1b[31m[ERROR] WebSocket connection error\x1b[0m") } - ws.onclose = () => { + ws.onclose = (event) => { + console.log("[v0] LXC Terminal WebSocket closed:", event.code, event.reason) setConnectionStatus("offline") if (pingIntervalRef.current) { clearInterval(pingIntervalRef.current) @@ -215,9 +229,8 @@ export function LxcTerminalModal({ }) } - initTerminal() - return () => { + clearTimeout(initTimeout) if (pingIntervalRef.current) { clearInterval(pingIntervalRef.current) }