️(frontend) narrow canPublishTrack subscription to permissions

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.
This commit is contained in:
lebaudantoine
2026-07-16 00:19:08 +02:00
committed by aleb_the_flash
parent b7be0eabb0
commit 183b0fc697
@@ -1,15 +1,8 @@
import type { TrackSource } from '@livekit/protocol' import type { TrackSource } from '@livekit/protocol'
import { import { useLocalParticipantPermissions } from '@livekit/components-react'
useLocalParticipant,
useParticipantPermissions,
} from '@livekit/components-react'
export function useCanPublishTrack(trackSource: TrackSource): boolean { export function useCanPublishTrack(trackSource: TrackSource): boolean {
const { localParticipant } = useLocalParticipant() const permissions = useLocalParticipantPermissions()
const permissions = useParticipantPermissions({
participant: localParticipant,
})
return Boolean( return Boolean(
permissions?.canPublish && permissions?.canPublish &&
permissions?.canPublishSources?.includes(trackSource) permissions?.canPublishSources?.includes(trackSource)