Fix crash in profile viewer
authorAjay Bura <ajbura@gmail.com>
Sun, 16 Jan 2022 12:47:20 +0000 (18:17 +0530)
committerAjay Bura <ajbura@gmail.com>
Sun, 16 Jan 2022 12:47:20 +0000 (18:17 +0530)
Signed-off-by: Ajay Bura <ajbura@gmail.com>
src/app/organisms/profile-viewer/ProfileViewer.jsx

index 23890125e5a133b18daf92c36269b3257edf524c..3af19c29b02d4e1adb40ac288e92294606d1092c 100644 (file)
@@ -38,7 +38,7 @@ function ModerationTools({
   const room = mx.getRoom(roomId);
   const roomMember = room.getMember(userId);
 
-  const myPowerLevel = room.getMember(mx.getUserId()).powerLevel;
+  const myPowerLevel = room.getMember(mx.getUserId())?.powerLevel || 0;
   const powerLevel = roomMember?.powerLevel || 0;
   const canIKick = (
     roomMember?.membership === 'join'
@@ -159,7 +159,7 @@ function ProfileFooter({ roomId, userId, onRequestClose }) {
   const [isInviting, setIsInviting] = useState(false);
   const [isInvited, setIsInvited] = useState(member?.membership === 'invite');
 
-  const myPowerlevel = room.getMember(mx.getUserId()).powerLevel;
+  const myPowerlevel = room.getMember(mx.getUserId())?.powerLevel || 0;
   const userPL = room.getMember(userId)?.powerLevel || 0;
   const canIKick = room.currentState.hasSufficientPowerLevelFor('kick', myPowerlevel) && userPL < myPowerlevel;
 
@@ -361,7 +361,7 @@ function ProfileViewer() {
     const avatarMxc = roomMember?.getMxcAvatarUrl?.() || mx.getUser(userId)?.avatarUrl;
     const avatarUrl = (avatarMxc && avatarMxc !== 'null') ? mx.mxcUrlToHttp(avatarMxc, 80, 80, 'crop') : null;
 
-    const powerLevel = roomMember.powerLevel || 0;
+    const powerLevel = roomMember?.powerLevel || 0;
     const myPowerLevel = room.getMember(mx.getUserId())?.powerLevel || 0;
 
     const canChangeRole = (