Fix bug in creating dm

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-11-24 10:08:51 +05:30
parent bb6a64790d
commit 16f35d9a34

View file

@ -95,7 +95,8 @@ function ProfileFooter({ roomId, userId, onRequestClose }) {
const [isInvited, setIsInvited] = useState(member?.membership === 'invite'); const [isInvited, setIsInvited] = useState(member?.membership === 'invite');
const myPowerlevel = room.getMember(mx.getUserId()).powerLevel; const myPowerlevel = room.getMember(mx.getUserId()).powerLevel;
const canIKick = room.currentState.hasSufficientPowerLevelFor('kick', myPowerlevel); const userPL = room.getMember(userId).powerLevel || 0;
const canIKick = room.currentState.hasSufficientPowerLevelFor('kick', myPowerlevel) && userPL < myPowerlevel;
const onCreated = (dmRoomId) => { const onCreated = (dmRoomId) => {
if (isMountedRef.current === false) return; if (isMountedRef.current === false) return;
@ -104,11 +105,11 @@ function ProfileFooter({ roomId, userId, onRequestClose }) {
onRequestClose(); onRequestClose();
}; };
useEffect(() => () => { useEffect(() => {
isMountedRef.current = false;
const { roomList } = initMatrix; const { roomList } = initMatrix;
roomList.on(cons.events.roomList.ROOM_CREATED, onCreated); roomList.on(cons.events.roomList.ROOM_CREATED, onCreated);
return () => { return () => {
isMountedRef.current = false;
roomList.removeListener(cons.events.roomList.ROOM_CREATED, onCreated); roomList.removeListener(cons.events.roomList.ROOM_CREATED, onCreated);
}; };
}, []); }, []);