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

Commit 77b0add

Browse files
authored
Fix power selector not showing up in user info when some power levels fields are missing (#8297)
1 parent d5887bf commit 77b0add

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

src/components/views/right_panel/UserInfo.tsx

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -921,14 +921,9 @@ function useRoomPermissions(cli: MatrixClient, room: Room, user: RoomMember): IR
921921
canEdit: false,
922922
canInvite: false,
923923
});
924-
const updateRoomPermissions = useCallback(() => {
925-
if (!room) {
926-
return;
927-
}
928924

929-
const powerLevelEvent = room.currentState.getStateEvents("m.room.power_levels", "");
930-
if (!powerLevelEvent) return;
931-
const powerLevels = powerLevelEvent.getContent();
925+
const updateRoomPermissions = useCallback(() => {
926+
const powerLevels = room?.currentState.getStateEvents(EventType.RoomPowerLevels, "")?.getContent();
932927
if (!powerLevels) return;
933928

934929
const me = room.getMember(cli.getUserId());
@@ -940,17 +935,14 @@ function useRoomPermissions(cli: MatrixClient, room: Room, user: RoomMember): IR
940935

941936
let modifyLevelMax = -1;
942937
if (canAffectUser) {
943-
const editPowerLevel = (
944-
(powerLevels.events ? powerLevels.events["m.room.power_levels"] : null) ||
945-
powerLevels.state_default
946-
);
947-
if (me.powerLevel >= editPowerLevel && (isMe || me.powerLevel > them.powerLevel)) {
938+
const editPowerLevel = powerLevels.events?.[EventType.RoomPowerLevels] ?? powerLevels.state_default ?? 50;
939+
if (me.powerLevel >= editPowerLevel) {
948940
modifyLevelMax = me.powerLevel;
949941
}
950942
}
951943

952944
setRoomPermissions({
953-
canInvite: me.powerLevel >= powerLevels.invite,
945+
canInvite: me.powerLevel >= (powerLevels.invite ?? 50),
954946
canEdit: modifyLevelMax >= 0,
955947
modifyLevelMax,
956948
});

0 commit comments

Comments
 (0)