From 8db44d8fb9983e52bb6eed460b4a649c2563d959 Mon Sep 17 00:00:00 2001 From: YoJames2019 Date: Tue, 17 Mar 2026 23:31:17 -0400 Subject: [PATCH 1/2] fix: do not attempt to join call on doubleclick if missing permissions --- src/app/features/room-nav/RoomNavItem.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/features/room-nav/RoomNavItem.tsx b/src/app/features/room-nav/RoomNavItem.tsx index b317b13abd..94aa57e4f3 100644 --- a/src/app/features/room-nav/RoomNavItem.tsx +++ b/src/app/features/room-nav/RoomNavItem.tsx @@ -59,6 +59,7 @@ import { callChatAtom } from '../../state/callEmbed'; import { useCallPreferencesAtom } from '../../state/hooks/callPreferences'; import { useAutoDiscoveryInfo } from '../../hooks/useAutoDiscoveryInfo'; import { livekitSupport } from '../../hooks/useLivekitSupport'; +import { StateEvent } from '../../../types/matrix/room'; type RoomNavItemMenuProps = { room: Room; @@ -286,9 +287,14 @@ export function RoomNavItem({ const callPref = useAtomValue(useCallPreferencesAtom()); const autoDiscoveryInfo = useAutoDiscoveryInfo(); + const powerLevels = usePowerLevels(room); + const creators = useRoomCreators(room); + const permissions = useRoomPermissions(creators, powerLevels); + const hasCallPermission = permissions.event(StateEvent.GroupCallMemberPrefix, mx.getSafeUserId()); + const handleStartCall: MouseEventHandler = (evt) => { // Do not join if no livekit support or call is not started by others - if (!livekitSupport(autoDiscoveryInfo) && callMembers.length === 0) { + if (!hasCallPermission || (!livekitSupport(autoDiscoveryInfo) && callMembers.length === 0)) { return; } From aec7d59479ae26a5ead8ae54216d585af8d4665f Mon Sep 17 00:00:00 2001 From: YoJames2019 Date: Wed, 18 Mar 2026 12:25:55 -0400 Subject: [PATCH 2/2] update comment --- src/app/features/room-nav/RoomNavItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/features/room-nav/RoomNavItem.tsx b/src/app/features/room-nav/RoomNavItem.tsx index 94aa57e4f3..61b24c422b 100644 --- a/src/app/features/room-nav/RoomNavItem.tsx +++ b/src/app/features/room-nav/RoomNavItem.tsx @@ -293,7 +293,7 @@ export function RoomNavItem({ const hasCallPermission = permissions.event(StateEvent.GroupCallMemberPrefix, mx.getSafeUserId()); const handleStartCall: MouseEventHandler = (evt) => { - // Do not join if no livekit support or call is not started by others + // Do not join if missing permissions or no livekit support and call is not started by others if (!hasCallPermission || (!livekitSupport(autoDiscoveryInfo) && callMembers.length === 0)) { return; }