diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html index d511686..dd576d3 100644 --- a/zebra-report/zebra-spaces.html +++ b/zebra-report/zebra-spaces.html @@ -752,6 +752,12 @@ async function handleSignal(raw){ case 'peer-joined': members.set(m.uuid, { uuid:m.uuid, pubkey:m.pubkey, handle:m.handle, role:m.role, joined_at: Date.now()/1000 }); logLine('', m.handle+' joined as '+m.role); + /* if the original host rejoined during their grace window, the room + * is rescued — drop the "space closing" status from our top bar */ + if (m.role === 'host'){ + hostUUID = m.uuid; + setStatus('connected as '+myRole, 'ok'); + } /* establish mesh PC if both us and them are speakers (or mods). * present-member-offers: existing speaker offers when a new speaker * arrives. deterministic by uuid string compare. */ @@ -862,6 +868,7 @@ async function handleSignal(raw){ { const mm = members.get(m.new_host_uuid); if (mm){ mm.role = 'host'; if (m.new_host_uuid === myUUID){ myRole = 'host'; setStatus('connected as host','ok'); onRoleChanged('cohost','host'); } + else { setStatus('connected as '+myRole, 'ok'); } /* clears the space-closing warning */ logLine('', (mm.handle||shortHex(m.new_host_uuid))+' is now host'); } renderRoom(); } @@ -1215,8 +1222,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');