Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Fix space admin check false positive on multiple admins #6824

Merged
merged 2 commits into from
Sep 27, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/components/views/dialogs/LeaveSpaceDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,13 @@ interface IProps {
}

const isOnlyAdmin = (room: Room): boolean => {
return !room.getJoinedMembers().some(member => {
return member.userId !== room.client.credentials.userId && member.powerLevelNorm === 100;
const userId = room.client.getUserId();
if (room.getMember(userId).powerLevelNorm !== 100) {
return false; // user is not an admin
}
return room.getJoinedMembers().every(member => {
// return true if every other member has a lower power level (we are highest)
Palid marked this conversation as resolved.
Show resolved Hide resolved
return member.userId === userId || member.powerLevelNorm < 100;
});
};

Expand Down