diff --git a/frontend/src/Home.tsx b/frontend/src/Home.tsx index 9f74e65..96dd33f 100644 --- a/frontend/src/Home.tsx +++ b/frontend/src/Home.tsx @@ -71,23 +71,25 @@ export default function Home() { /* WebSocket connect event handler*/ useEffect(() => { - const sub = socket$.subscribe({ - next: () => { - dispatch(connected()) - setCustomArgs(localStorage.getItem('last-input-args') ?? '') - setFilenameOverride(localStorage.getItem('last-filename-override') ?? '') - }, - error: () => { - setSocketHasError(true) - setShowBackdrop(false) - }, - complete: () => { - setSocketHasError(true) - setShowBackdrop(false) - }, - }) - return () => sub.unsubscribe() - }, [socket$]) + if (!status.connected) { + const sub = socket$.subscribe({ + next: () => { + dispatch(connected()) + setCustomArgs(localStorage.getItem('last-input-args') ?? '') + setFilenameOverride(localStorage.getItem('last-filename-override') ?? '') + }, + error: () => { + setSocketHasError(true) + setShowBackdrop(false) + }, + complete: () => { + setSocketHasError(true) + setShowBackdrop(false) + }, + }) + return () => sub.unsubscribe() + } + }, [socket$, status.connected]) useEffect(() => { if (status.connected) { @@ -405,4 +407,4 @@ export default function Home() { ); -} \ No newline at end of file +}