From f815db42464c2306679c4921476e3ce85a60d701 Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Fri, 12 Jun 2020 14:36:58 +0300 Subject: [PATCH 1/3] Get inviter from invite event instead of looping members --- .../Title/Preview/PreviewRoomTitleView.m | 27 +++---------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m b/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m index 1752e94c9..d5d1ccefc 100644 --- a/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m +++ b/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m @@ -183,29 +183,10 @@ { MXStrongifyAndReturnIfNil(self); - NSArray *members = roomMembers.members; - NSUInteger activeCount = 0; - NSUInteger memberCount = self.mxRoom.summary.membersCount.joined; - NSString *inviter = nil; - - for (MXRoomMember *mxMember in members) - { - if (mxMember.membership == MXMembershipJoin) - { - // Get the user that corresponds to this member - MXUser *user = [self.mxRoom.mxSession userWithUserId:mxMember.userId]; - // existing user ? - if (user && user.presence == MXPresenceOnline) - { - activeCount ++; - } - - // Presently only one member is available from invited room data - // This is the inviter - inviter = mxMember.displayname.length ? mxMember.displayname : mxMember.userId; - } - } - + MXRoomMember *myMember = [roomMembers memberWithUserId:self.mxRoom.mxSession.myUserId]; + NSString *inviterUserId = myMember.originalEvent.sender; + NSString *inviter = [roomMembers memberName:inviterUserId] ?: inviterUserId; + // FIXME: Display members status when it will be available self.roomMembers.text = nil; // if (memberCount) From 9601df51452a483d0e3c9a6a727633bc3fcebae7 Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Fri, 12 Jun 2020 14:38:06 +0300 Subject: [PATCH 2/3] Update CHANGES.rst --- CHANGES.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.rst b/CHANGES.rst index 58e551f3b..b32c7f492 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,7 @@ Improvements: Bug fix: * CallVC: Declined calls now properly reset call view controller, thanks to @Legi429 (#2877). + * PreviewRoomTitleView: Fix inviter display name (#2520). Changes in 0.11.5 (2020-05-18) =============================================== From a0bd6db5e877d275cb0e20295db4e2dafb95f937 Mon Sep 17 00:00:00 2001 From: ismailgulek Date: Fri, 12 Jun 2020 15:07:26 +0300 Subject: [PATCH 3/3] Check user in session before using userId --- .../Views/Title/Preview/PreviewRoomTitleView.m | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m b/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m index d5d1ccefc..983af68a5 100644 --- a/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m +++ b/Riot/Modules/Room/Views/Title/Preview/PreviewRoomTitleView.m @@ -183,9 +183,20 @@ { MXStrongifyAndReturnIfNil(self); - MXRoomMember *myMember = [roomMembers memberWithUserId:self.mxRoom.mxSession.myUserId]; + MXSession *mxSession = self.mxRoom.mxSession; + MXRoomMember *myMember = [roomMembers memberWithUserId:mxSession.myUserId]; NSString *inviterUserId = myMember.originalEvent.sender; - NSString *inviter = [roomMembers memberName:inviterUserId] ?: inviterUserId; + NSString *inviter = [roomMembers memberName:inviterUserId]; + // if not found, check the user in session + if (inviter.length == 0) + { + inviter = [mxSession userWithUserId:inviterUserId].displayname; + } + // if still not found, use the user ID + if (inviter.length == 0) + { + inviter = inviterUserId; + } // FIXME: Display members status when it will be available self.roomMembers.text = nil;