diff --git a/src/components/views/right_panel/UserInfo.tsx b/src/components/views/right_panel/UserInfo.tsx index b862cc84d4..b1aff9ccd0 100644 --- a/src/components/views/right_panel/UserInfo.tsx +++ b/src/components/views/right_panel/UserInfo.tsx @@ -24,6 +24,7 @@ import {RoomMember} from 'matrix-js-sdk/src/models/room-member'; import {User} from 'matrix-js-sdk/src/models/user'; import {Room} from 'matrix-js-sdk/src/models/room'; import {EventTimeline} from 'matrix-js-sdk/src/models/event-timeline'; +import {MatrixEvent} from 'matrix-js-sdk/src/models/event'; import dis from '../../../dispatcher/dispatcher'; import Modal from '../../../Modal'; @@ -496,11 +497,11 @@ const isMuted = (member: RoomMember, powerLevelContent: IPowerLevelsContent) => export const useRoomPowerLevels = (cli: MatrixClient, room: Room) => { const [powerLevels, setPowerLevels] = useState({}); - const update = useCallback(() => { - if (!room) { - return; - } - const event = room.currentState.getStateEvents("m.room.power_levels", ""); + const update = useCallback((ev?: MatrixEvent) => { + if (!room) return; + if (ev && ev.getType() !== EventType.RoomPowerLevels) return; + + const event = room.currentState.getStateEvents(EventType.RoomPowerLevels, ""); if (event) { setPowerLevels(event.getContent()); } else { @@ -511,7 +512,7 @@ export const useRoomPowerLevels = (cli: MatrixClient, room: Room) => { }; }, [room]); - useEventEmitter(cli, "RoomState.members", update); + useEventEmitter(cli, "RoomState.events", update); useEffect(() => { update(); return () => {