From 6a22f7ab3654579ff8a50add34d5194c70d03ee2 Mon Sep 17 00:00:00 2001 From: JanNiklas Grabowski Date: Tue, 2 Jul 2024 16:55:42 +0200 Subject: [PATCH] MESSENGER-6173 fix status event wrong text --- Riot/Utils/EventFormatter.m | 7 +++++-- bwi/Federation/FederationEventHelper.swift | 22 +++++++++++++--------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Riot/Utils/EventFormatter.m b/Riot/Utils/EventFormatter.m index ff5b90279..9694da434 100644 --- a/Riot/Utils/EventFormatter.m +++ b/Riot/Utils/EventFormatter.m @@ -415,6 +415,7 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm"; MXEvent *callInviteEvent = [events filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"type == %@", kMXEventTypeStringCallInvite]].firstObject; MXEvent *aclEvent = [events filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"type == %@", kMXEventTypeStringRoomServerACL]].firstObject; MXEvent *roomMemberEvent = [events filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"type == %@", kMXEventTypeStringRoomMember]].firstObject; + MXEvent *joinRuleEvent = [events filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"type == %@", kMXEventTypeStringRoomJoinRules]].firstObject; if (roomCreateEvent) { @@ -455,7 +456,6 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm"; CollapsedACLEvents eventsType = [[FederationEventHelper shared] isCollapsedACLEventsWithEvents:events]; switch (eventsType) { case CollapsedACLEventsNone: - displayText = [VectorL10n eventFormatterMemberUpdates:events.count]; break; case CollapsedACLEventsMixed: displayText = [BWIL10n eventFormatterAclAndOtherCollapsed:events.count]; @@ -463,8 +463,11 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm"; case CollapsedACLEventsAll: displayText = [BWIL10n eventFormatterAclCollapsed:events.count]; break; - default: + case CollapsedACLEventsOnlyMember: displayText = [VectorL10n eventFormatterMemberUpdates:events.count]; + break; + default: + break; } } } diff --git a/bwi/Federation/FederationEventHelper.swift b/bwi/Federation/FederationEventHelper.swift index d566b19c1..062334bc1 100644 --- a/bwi/Federation/FederationEventHelper.swift +++ b/bwi/Federation/FederationEventHelper.swift @@ -21,6 +21,7 @@ import Foundation case none = 0 case mixed = 1 case all = 2 + case onlyMember = 3 } @objc class FederationEventHelper: NSObject { @@ -58,22 +59,25 @@ import Foundation } @objc func isCollapsedACLEvents( events: [MXEvent]) -> CollapsedACLEvents { - var aclEventCount = 0, memberEventCount = 0 - //events[0].eventType == MXEventTypeRoomMember || events[0].eventType == MXEventTypeRoomServerACL + var aclEventCount = 0, otherEventCount = 0, memberEventCount = 0 for event in events { - if event.eventType == .roomMember { - memberEventCount += 1 - } else if event.eventType == .roomServerACL { + if event.eventType == .roomServerACL { aclEventCount += 1 + } else if event.eventType == .roomMember { + memberEventCount += 1 + } else { + otherEventCount += 1 } } - if aclEventCount > 0 && memberEventCount == 0 { + if aclEventCount > 0 && otherEventCount == 0 && memberEventCount == 0 { return .all - } else if aclEventCount > 0 && memberEventCount > 0 { - return .mixed - } else { + } else if otherEventCount > 0 && aclEventCount == 0 && memberEventCount == 0 { return .none + } else if memberEventCount > 0 && otherEventCount == 0 && aclEventCount == 0 { + return .onlyMember + } else { + return .mixed } } }