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

Commit 1572a53

Browse files
committed
Fix useRoomPowerLevels hook
1 parent ee9e1a7 commit 1572a53

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/components/views/right_panel/UserInfo.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {RoomMember} from 'matrix-js-sdk/src/models/room-member';
2424
import {User} from 'matrix-js-sdk/src/models/user';
2525
import {Room} from 'matrix-js-sdk/src/models/room';
2626
import {EventTimeline} from 'matrix-js-sdk/src/models/event-timeline';
27+
import {MatrixEvent} from 'matrix-js-sdk/src/models/event';
2728

2829
import dis from '../../../dispatcher/dispatcher';
2930
import Modal from '../../../Modal';
@@ -496,11 +497,11 @@ const isMuted = (member: RoomMember, powerLevelContent: IPowerLevelsContent) =>
496497
export const useRoomPowerLevels = (cli: MatrixClient, room: Room) => {
497498
const [powerLevels, setPowerLevels] = useState<IPowerLevelsContent>({});
498499

499-
const update = useCallback(() => {
500-
if (!room) {
501-
return;
502-
}
503-
const event = room.currentState.getStateEvents("m.room.power_levels", "");
500+
const update = useCallback((ev?: MatrixEvent) => {
501+
if (!room) return;
502+
if (ev && ev.getType() !== EventType.RoomPowerLevels) return;
503+
504+
const event = room.currentState.getStateEvents(EventType.RoomPowerLevels, "");
504505
if (event) {
505506
setPowerLevels(event.getContent());
506507
} else {
@@ -511,7 +512,7 @@ export const useRoomPowerLevels = (cli: MatrixClient, room: Room) => {
511512
};
512513
}, [room]);
513514

514-
useEventEmitter(cli, "RoomState.members", update);
515+
useEventEmitter(cli, "RoomState.events", update);
515516
useEffect(() => {
516517
update();
517518
return () => {

0 commit comments

Comments
 (0)