From 6e7d3f10e138826138c5a294c087ce800fe0d462 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Thu, 16 Jul 2026 00:19:08 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F(frontend)=20narrow=20canPubl?= =?UTF-8?q?ishTrack=20subscription=20to=20permissions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit canPublishTrack was mistakenly subscribing to the whole local participant changes, so every component using this hook re-rendered on any local participant update, not only on permission changes. Fix it to subscribe only to the permission attributes. --- .../rooms/livekit/hooks/useCanPublishTrack.ts | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts b/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts index ab57f5ed..c500d6a7 100644 --- a/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts +++ b/src/frontend/src/features/rooms/livekit/hooks/useCanPublishTrack.ts @@ -1,15 +1,8 @@ import type { TrackSource } from '@livekit/protocol' -import { - useLocalParticipant, - useParticipantPermissions, -} from '@livekit/components-react' +import { useLocalParticipantPermissions } from '@livekit/components-react' export function useCanPublishTrack(trackSource: TrackSource): boolean { - const { localParticipant } = useLocalParticipant() - const permissions = useParticipantPermissions({ - participant: localParticipant, - }) - + const permissions = useLocalParticipantPermissions() return Boolean( permissions?.canPublish && permissions?.canPublishSources?.includes(trackSource)