From 224b98fd9a94738560c9d97e7462981412e0a8cb Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Wed, 23 Jul 2025 10:42:38 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA(frontend)=20capture=20LiveKit=20ex?= =?UTF-8?q?ceptions=20in=20PostHog=20for=20debugging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test tracking signaling failures to determine root causes when connection fails. Will remove if it spams analytics - goal is understanding failure patterns and reasons. --- .../src/features/rooms/components/Conference.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/features/rooms/components/Conference.tsx b/src/frontend/src/features/rooms/components/Conference.tsx index e7b82d3e..a2dc831f 100644 --- a/src/frontend/src/features/rooms/components/Conference.tsx +++ b/src/frontend/src/features/rooms/components/Conference.tsx @@ -18,12 +18,12 @@ import { ApiRoom } from '../api/ApiRoom' import { useCreateRoom } from '../api/createRoom' import { InviteDialog } from './InviteDialog' import { VideoConference } from '../livekit/prefabs/VideoConference' -import posthog from 'posthog-js' import { css } from '@/styled-system/css' import { BackgroundProcessorFactory } from '../livekit/components/blur' import { LocalUserChoices } from '@/stores/userChoices' import { navigateTo } from '@/navigation/navigateTo' import { MediaDeviceErrorAlert } from './MediaDeviceErrorAlert' +import { usePostHog } from 'posthog-js/react' export const Conference = ({ roomId, @@ -36,9 +36,11 @@ export const Conference = ({ mode?: 'join' | 'create' initialRoomData?: ApiRoom }) => { + const posthog = usePostHog() + useEffect(() => { posthog.capture('visit-room', { slug: roomId }) - }, [roomId]) + }, [roomId, posthog]) const fetchKey = [keys.room, roomId] const { @@ -138,6 +140,9 @@ export const Conference = ({ className={css({ backgroundColor: 'primaryDark.50 !important', })} + onError={(e) => { + posthog.captureException(e) + }} onDisconnected={(e) => { if (e == DisconnectReason.CLIENT_INITIATED) { navigateTo('feedback', { duplicateIdentity: false })