diff --git a/web/src/hooks/useTerminalSocket.ts b/web/src/hooks/useTerminalSocket.ts index 225ff64b..4789aeed 100644 --- a/web/src/hooks/useTerminalSocket.ts +++ b/web/src/hooks/useTerminalSocket.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useRef, useState } from 'react' -import { io, type Socket } from 'socket.io-client' +import { Manager, type Socket } from 'socket.io-client' type TerminalConnectionState = | { status: 'idle' } @@ -116,8 +116,7 @@ export function useTerminalSocket(options: UseTerminalSocketOptions): { return } - const socket = io(`${baseUrlRef.current}/terminal`, { - auth: { token }, + const manager = new Manager(baseUrlRef.current, { path: '/socket.io/', reconnection: true, reconnectionAttempts: Infinity, @@ -126,6 +125,9 @@ export function useTerminalSocket(options: UseTerminalSocketOptions): { transports: ['polling', 'websocket'], autoConnect: false }) + const socket = manager.socket('/terminal', { + auth: { token } + }) socketRef.current = socket setState({ status: 'connecting' })