mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-08-25 07:26:52 +00:00
Fix remote desktop connection timeout (#1319)
This commit is contained in:
@@ -443,12 +443,6 @@ export const GuacamoleDisplay = forwardRef<
|
||||
const tunnel = new Guacamole.WebSocketTunnel(wsConnection.url);
|
||||
const client = new Guacamole.Client(tunnel);
|
||||
clientRef.current = client;
|
||||
let connectWatchdog: ReturnType<typeof setTimeout> | null = null;
|
||||
const clearConnectWatchdog = () => {
|
||||
if (!connectWatchdog) return;
|
||||
clearTimeout(connectWatchdog);
|
||||
connectWatchdog = null;
|
||||
};
|
||||
|
||||
const display = client.getDisplay();
|
||||
const displayElement = display.getElement();
|
||||
@@ -548,7 +542,6 @@ export const GuacamoleDisplay = forwardRef<
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
clearConnectWatchdog();
|
||||
isConnectingRef.current = false;
|
||||
setIsReady(true);
|
||||
onConnect?.();
|
||||
@@ -571,7 +564,6 @@ export const GuacamoleDisplay = forwardRef<
|
||||
case 4:
|
||||
break;
|
||||
case 5:
|
||||
clearConnectWatchdog();
|
||||
isConnectingRef.current = false;
|
||||
setIsReady(false);
|
||||
setHasError(true);
|
||||
@@ -585,7 +577,6 @@ export const GuacamoleDisplay = forwardRef<
|
||||
|
||||
client.onerror = (error: Guacamole.Status) => {
|
||||
if (!isMountedRef.current || clientRef.current !== client) return;
|
||||
clearConnectWatchdog();
|
||||
const errorMessage = error.message || t("guacamole.connectionError");
|
||||
setIsReady(false);
|
||||
setHasError(true);
|
||||
@@ -643,21 +634,8 @@ export const GuacamoleDisplay = forwardRef<
|
||||
};
|
||||
|
||||
try {
|
||||
connectWatchdog = setTimeout(() => {
|
||||
if (
|
||||
!isMountedRef.current ||
|
||||
clientRef.current !== client ||
|
||||
!isConnectingRef.current
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
disconnectClient();
|
||||
void connect();
|
||||
}, 8000);
|
||||
client.connect(wsConnection.query);
|
||||
} catch (error) {
|
||||
clearConnectWatchdog();
|
||||
isConnectingRef.current = false;
|
||||
if (!isMountedRef.current) return;
|
||||
setIsReady(false);
|
||||
@@ -671,7 +649,6 @@ export const GuacamoleDisplay = forwardRef<
|
||||
onError,
|
||||
refreshKeyboardHandlers,
|
||||
rescaleDisplay,
|
||||
disconnectClient,
|
||||
connectionConfig.protocol,
|
||||
connectionConfig.type,
|
||||
connectionConfig.dpi,
|
||||
|
||||
Reference in New Issue
Block a user