From c7c7f1ab4247db99dd709558670356c794e5a515 Mon Sep 17 00:00:00 2001
From: Ajay Bura <32841439+ajbura@users.noreply.github.com>
Date: Sun, 26 Apr 2026 14:03:29 +0530
Subject: [PATCH] only show call button if user have permission
---
src/app/features/room/RoomViewHeader.tsx | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
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 && (