From ab83a32d7ba31ddc4e87608a45ee35e8b4f56146 Mon Sep 17 00:00:00 2001 From: maro Date: Wed, 16 Sep 2026 21:55:34 +0200 Subject: [PATCH] fix: initialize hash-based test meetings without storage --- components/meeting/CallRoom.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/components/meeting/CallRoom.tsx b/components/meeting/CallRoom.tsx index 1345079..0613648 100644 --- a/components/meeting/CallRoom.tsx +++ b/components/meeting/CallRoom.tsx @@ -70,9 +70,19 @@ export function CallRoom({ slug }: { slug: string }) { const intentionalCloseRef = useRef(false); useEffect(() => { - const raw = sessionStorage.getItem(MEETING_SESSION_KEY); const hashToken = new URLSearchParams(window.location.hash.replace(/^#/, "")).get("token"); - const rawSession = hashToken ? JSON.stringify({ token: hashToken }) : raw; + let rawSession: string | null = hashToken ? JSON.stringify({ token: hashToken }) : null; + + // Hash-based links (for example the admin test call) must work even when + // browser privacy settings deny access to Web Storage. + if (!rawSession) { + try { + rawSession = sessionStorage.getItem(MEETING_SESSION_KEY); + } catch { + rawSession = null; + } + } + if (!rawSession) { queueMicrotask(() => { setPhase("error");