From 340232b724bcbb334077102357e80710d1b3c894 Mon Sep 17 00:00:00 2001 From: Mitchell-Johnson Date: Fri, 18 Sep 2026 11:36:04 -0700 Subject: [PATCH] Header dot: don't go red on machine switch; reflect remote reachability Co-Authored-By: Claude Fable 5.1 --- web/src/Shell.tsx | 4 ++-- web/src/TerminalPane.tsx | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/web/src/Shell.tsx b/web/src/Shell.tsx index 51811b9..ece8160 100644 --- a/web/src/Shell.tsx +++ b/web/src/Shell.tsx @@ -75,7 +75,7 @@ export default function Shell({ me: hubMe, onLoggedOut }: { me: Me; onLoggedOut: // Switching machines: reset everything that belongs to a host, then re-fetch its identity. const switchMachine = (name: string | null) => { setMachine(name); sessionStorage.setItem('hamlab.machine', name ?? ''); if (!name) sessionStorage.removeItem('hamlab.machine') - handles.current = {}; setTerms([]); setActive(null); setRemoteMe(null); setRemoteErr(''); setDrawer(false) + handles.current = {}; setTerms([]); setActive(null); setRemoteMe(null); setRemoteErr(''); setDrawer(false); setOnline(true) setMachineState(name) if (view === 'machines') setView('dashboard') } @@ -136,7 +136,7 @@ export default function Shell({ me: hubMe, onLoggedOut }: { me: Me; onLoggedOut: {machine && remoteErr && offline} {me.load} - + logout diff --git a/web/src/TerminalPane.tsx b/web/src/TerminalPane.tsx index fca9f3a..1c7ccd0 100644 --- a/web/src/TerminalPane.tsx +++ b/web/src/TerminalPane.tsx @@ -80,9 +80,8 @@ export default function TerminalPane({ id, active, register, onStatus, onExit }: } catch { /* ignore */ } } sock.onclose = () => { - if (ws !== sock) return + if (ws !== sock || closed) return cbs.current.onStatus(false) - if (closed) return setConn('reconnecting') retryTimer = window.setTimeout(connect, Math.min(1000 * 2 ** retry++, 15000)) }