From 501cfc8d0f56123443f93696f4aa07f7b69e4306 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 30 Jun 2025 21:00:38 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20use=20feature=20detect?= =?UTF-8?q?ion=20for=20adaptiveStream=20and=20dynacast?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace hardcoded true values with supportsAdaptiveStream() and supportsDynacast() checks. LiveKit SDK supports broad browser range but requires specific APIs - modern features need explicit compatibility checks. Prevents enabling unsupported WebRTC features on incompatible browsers, which could led to a poor user experience. One alternative solution could be to install polyfills. --- src/frontend/src/features/rooms/components/Conference.tsx | 6 ++++-- 1 file changed, 4 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..15903b2c 100644 --- a/src/frontend/src/features/rooms/components/Conference.tsx +++ b/src/frontend/src/features/rooms/components/Conference.tsx @@ -7,6 +7,8 @@ import { MediaDeviceFailure, Room, RoomOptions, + supportsAdaptiveStream, + supportsDynacast, } from 'livekit-client' import { keys } from '@/api/queryKeys' import { queryClient } from '@/api/queryClient' @@ -74,8 +76,8 @@ export const Conference = ({ const roomOptions = useMemo((): RoomOptions => { return { - adaptiveStream: true, - dynacast: true, + adaptiveStream: supportsAdaptiveStream(), + dynacast: supportsDynacast(), publishDefaults: { videoCodec: 'vp9', },