From 8fc85797a7715bce0319298e6f8d08619f75cd4f Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Mon, 13 Jan 2020 12:29:03 +0000 Subject: [PATCH 1/2] Guard against missing members in avatars Part of https://github.com/vector-im/riot-web/issues/11744 --- src/Avatar.js | 19 +++++++++++-------- src/components/views/avatars/MemberAvatar.js | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Avatar.js b/src/Avatar.js index 17860698cb..a529ca5588 100644 --- a/src/Avatar.js +++ b/src/Avatar.js @@ -21,14 +21,17 @@ import DMRoomMap from './utils/DMRoomMap'; module.exports = { avatarUrlForMember: function(member, width, height, resizeMethod) { - let url = member.getAvatarUrl( - MatrixClientPeg.get().getHomeserverUrl(), - Math.floor(width * window.devicePixelRatio), - Math.floor(height * window.devicePixelRatio), - resizeMethod, - false, - false, - ); + let url; + if (member && member.getAvatarUrl) { + url = member.getAvatarUrl( + MatrixClientPeg.get().getHomeserverUrl(), + Math.floor(width * window.devicePixelRatio), + Math.floor(height * window.devicePixelRatio), + resizeMethod, + false, + false, + ); + } if (!url) { // member can be null here currently since on invites, the JS SDK // does not have enough info to build a RoomMember object for diff --git a/src/components/views/avatars/MemberAvatar.js b/src/components/views/avatars/MemberAvatar.js index 383bab5e79..8b6d41eb9f 100644 --- a/src/components/views/avatars/MemberAvatar.js +++ b/src/components/views/avatars/MemberAvatar.js @@ -55,7 +55,7 @@ module.exports = createReactClass({ }, _getState: function(props) { - if (props.member) { + if (props.member && props.member.name) { return { name: props.member.name, title: props.title || props.member.userId, From 66b55495bb02433b00b3faf60dcfaadb28a41577 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Sun, 5 Jan 2020 20:30:01 +0000 Subject: [PATCH 2/2] Fix right panel buttons highlighting Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/structures/GroupView.js | 2 +- src/components/views/right_panel/HeaderButtons.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/structures/GroupView.js b/src/components/structures/GroupView.js index 9df4630136..50b63b94b1 100644 --- a/src/components/structures/GroupView.js +++ b/src/components/structures/GroupView.js @@ -1299,7 +1299,7 @@ export default createReactClass({ ); } - const rightPanel = !RightPanelStore.getSharedInstance().isOpenForGroup + const rightPanel = RightPanelStore.getSharedInstance().isOpenForGroup ? : undefined; diff --git a/src/components/views/right_panel/HeaderButtons.js b/src/components/views/right_panel/HeaderButtons.js index ebe1f5f915..dbcae4529a 100644 --- a/src/components/views/right_panel/HeaderButtons.js +++ b/src/components/views/right_panel/HeaderButtons.js @@ -74,7 +74,7 @@ export default class HeaderButtons extends React.Component { const rps = RightPanelStore.getSharedInstance(); if (this.state.headerKind === HEADER_KIND_ROOM) { this.setState({phase: rps.visibleRoomPanelPhase}); - } else if (this.state.head === HEADER_KIND_GROUP) { + } else if (this.state.headerKind === HEADER_KIND_GROUP) { this.setState({phase: rps.visibleGroupPanelPhase}); } }