From d068558c8fad3a0dd2afa56fc0f6049724a50f9c Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 17 Jul 2025 13:36:32 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8(frontend)=20explain=20duplicate=20?= =?UTF-8?q?identity=20disconnect=20on=20feedback=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add context to feedback page when user is disconnected for joining with same identity, which is forbidden by LiveKit. Improves user understanding of disconnection reasons. --- .../src/features/rooms/components/Conference.tsx | 4 +++- src/frontend/src/features/rooms/routes/Feedback.tsx | 12 ++++++++++-- src/frontend/src/locales/de/rooms.json | 5 ++++- src/frontend/src/locales/en/rooms.json | 5 ++++- src/frontend/src/locales/fr/rooms.json | 5 ++++- src/frontend/src/locales/nl/rooms.json | 5 ++++- src/frontend/src/routes.ts | 5 +++++ 7 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/frontend/src/features/rooms/components/Conference.tsx b/src/frontend/src/features/rooms/components/Conference.tsx index e96c4e46..3ee174c7 100644 --- a/src/frontend/src/features/rooms/components/Conference.tsx +++ b/src/frontend/src/features/rooms/components/Conference.tsx @@ -127,7 +127,9 @@ export const Conference = ({ })} onDisconnected={(e) => { if (e == DisconnectReason.CLIENT_INITIATED) { - navigateTo('feedback') + navigateTo('feedback', { duplicateIdentity: false }) + } else if (e == DisconnectReason.DUPLICATE_IDENTITY) { + navigateTo('feedback', { duplicateIdentity: true }) } }} > diff --git a/src/frontend/src/features/rooms/routes/Feedback.tsx b/src/frontend/src/features/rooms/routes/Feedback.tsx index 9cef5184..f23c2f15 100644 --- a/src/frontend/src/features/rooms/routes/Feedback.tsx +++ b/src/frontend/src/features/rooms/routes/Feedback.tsx @@ -3,7 +3,7 @@ import { Button } from '@/primitives' import { Screen } from '@/layout/Screen' import { Center, HStack, styled, VStack } from '@/styled-system/jsx' import { Rating } from '@/features/rooms/components/Rating.tsx' -import { useLocation } from 'wouter' +import { useLocation, useSearchParams } from 'wouter' // fixme - duplicated with home, refactor in a proper style const Heading = styled('h1', { @@ -16,17 +16,25 @@ const Heading = styled('h1', { lineHeight: '2.5rem', letterSpacing: '0', paddingBottom: '2rem', + textAlign: 'center', }, }) export const FeedbackRoute = () => { const { t } = useTranslation('rooms') const [, setLocation] = useLocation() + + const [searchParams] = useSearchParams() + return (
- {t('feedback.heading')} + + {t( + `feedback.heading.${searchParams.get('duplicateIdentity') ? 'duplicateIdentity' : 'normal'}` + )} +