From 2eb7cb168714ede6e36c0999410d8fe30da12311 Mon Sep 17 00:00:00 2001 From: MacRimi Date: Wed, 10 Dec 2025 21:47:52 +0100 Subject: [PATCH] Update AppImage --- AppImage/components/script-terminal-modal.tsx | 50 ++++++++++++++----- AppImage/components/terminal-panel.tsx | 3 +- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/AppImage/components/script-terminal-modal.tsx b/AppImage/components/script-terminal-modal.tsx index 854feef..8bace2f 100644 --- a/AppImage/components/script-terminal-modal.tsx +++ b/AppImage/components/script-terminal-modal.tsx @@ -7,7 +7,8 @@ import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Loader2, Activity, GripHorizontal } from "lucide-react" -import { API_PORT } from "../lib/api-config" +import "xterm/css/xterm.css" +import { API_PORT } from "@/lib/api-config" interface WebInteraction { type: "yesno" | "menu" | "msgbox" | "input" | "inputbox" @@ -23,7 +24,7 @@ interface ScriptTerminalModalProps { onClose: () => void scriptPath: string scriptName: string - params?: Record + scriptDescription?: string title: string description: string } @@ -33,7 +34,7 @@ export function ScriptTerminalModal({ onClose, scriptPath, scriptName, - params = {}, + scriptDescription, title, description, }: ScriptTerminalModalProps) { @@ -42,7 +43,7 @@ export function ScriptTerminalModal({ const fitAddonRef = useRef(null) const sessionIdRef = useRef(Math.random().toString(36).substring(2, 8)) - const [isConnected, setIsConnected] = useState(true) + const [connectionStatus, setConnectionStatus] = useState<"connecting" | "online" | "offline">("connecting") const [isComplete, setIsComplete] = useState(false) const [exitCode, setExitCode] = useState(null) const [currentInteraction, setCurrentInteraction] = useState(null) @@ -161,13 +162,12 @@ export function ScriptTerminalModal({ wsRef.current = ws ws.onopen = () => { - setIsConnected(true) + setConnectionStatus("online") const initMessage = { script_path: scriptPath, params: { EXECUTION_MODE: "web", - ...params, }, } @@ -232,12 +232,12 @@ export function ScriptTerminalModal({ } ws.onerror = (error) => { - setIsConnected(false) + setConnectionStatus("offline") term.writeln("\x1b[31mWebSocket error occurred\x1b[0m") } ws.onclose = (event) => { - setIsConnected(false) + setConnectionStatus("offline") term.writeln("\x1b[33mConnection closed\x1b[0m") if (!isComplete) { @@ -254,7 +254,13 @@ export function ScriptTerminalModal({ checkConnectionInterval.current = setInterval(() => { if (ws) { - setIsConnected(ws.readyState === WebSocket.OPEN) + setConnectionStatus( + ws.readyState === WebSocket.OPEN + ? "online" + : ws.readyState === WebSocket.CONNECTING + ? "connecting" + : "offline", + ) } }, 500) @@ -333,7 +339,7 @@ export function ScriptTerminalModal({ setInteractionInput("") setCurrentInteraction(null) setIsWaitingNextInteraction(false) - setIsConnected(false) + setConnectionStatus("connecting") } }, [isOpen]) @@ -617,10 +623,28 @@ export function ScriptTerminalModal({
- {isConnected ? "Online" : "Offline"} + + {connectionStatus === "online" + ? "Online" + : connectionStatus === "connecting" + ? "Connecting..." + : "Offline"} +