diff --git a/src/app/features/room/RoomViewHeader.tsx b/src/app/features/room/RoomViewHeader.tsx index 86c410d40..956167c13 100644 --- a/src/app/features/room/RoomViewHeader.tsx +++ b/src/app/features/room/RoomViewHeader.tsx @@ -339,10 +339,10 @@ function CallButton() { fill="None" ref={triggerRef} onClick={handleOpenMenu} - disabled={inAnotherCall} + disabled={inAnotherCall || callStarted} aria-pressed={!!menuAnchor} > - + )} @@ -381,6 +381,11 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) { const screenSize = useScreenSizeContext(); const room = useRoom(); const space = useSpaceOptionally(); + const powerLevels = usePowerLevelsContext(); + const creators = useRoomCreators(room); + const permissions = useRoomPermissions(creators, powerLevels); + + const hasCallPermission = permissions.event(StateEvent.GroupCallMemberPrefix, mx.getSafeUserId()); const [menuAnchor, setMenuAnchor] = useState(); const [pinMenuAnchor, setPinMenuAnchor] = useState(); @@ -575,7 +580,7 @@ export function RoomViewHeader({ callView }: { callView?: boolean }) { } /> - {direct && } + {direct && hasCallPermission && } {screenSize === ScreenSize.Desktop && (