From ea7188059d31035b177820b553e415cddba60b35 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 6 Aug 2026 18:03:01 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20guard=20getRouteUrl('r?= =?UTF-8?q?oom',=20slug)=20against=20missing=20slug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit InviteDialog.tsx and Info.tsx were the last call sites calling getRouteUrl('room', slug) without a slug guard, unlike every other caller (e.g. useCopyRoomToClipboard). Compute roomUrl only when the slug exists (undefined in InviteDialog, '' in Info to keep its unguarded .replace safe). Guarding at the call site preserves the "no room data yet" state instead of returning a bogus "/" URL from room.to. Fix 019fd616-f158-7771-8cff-bac3090b8449 --- src/frontend/src/features/rooms/components/InviteDialog.tsx | 2 +- src/frontend/src/features/rooms/livekit/components/Info.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/features/rooms/components/InviteDialog.tsx b/src/frontend/src/features/rooms/components/InviteDialog.tsx index 06273ee7..5436c0c5 100644 --- a/src/frontend/src/features/rooms/components/InviteDialog.tsx +++ b/src/frontend/src/features/rooms/components/InviteDialog.tsx @@ -45,7 +45,7 @@ export const InviteDialog = ({ mode }: { mode: 'join' | 'create' }) => { const { t } = useTranslation('rooms', { keyPrefix: 'shareDialog' }) const roomData = useRoomData() - const roomUrl = getRouteUrl('room', roomData?.slug) + const roomUrl = roomData?.slug ? getRouteUrl('room', roomData.slug) : '' const telephony = useTelephony() diff --git a/src/frontend/src/features/rooms/livekit/components/Info.tsx b/src/frontend/src/features/rooms/livekit/components/Info.tsx index afab80e0..6054e562 100644 --- a/src/frontend/src/features/rooms/livekit/components/Info.tsx +++ b/src/frontend/src/features/rooms/livekit/components/Info.tsx @@ -14,7 +14,7 @@ export const Info = () => { const { t } = useTranslation('rooms', { keyPrefix: 'info' }) const data = useRoomData() - const roomUrl = getRouteUrl('room', data?.slug) + const roomUrl = data?.slug ? getRouteUrl('room', data.slug) : '' const telephony = useTelephony()