mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-17 06:58:28 +02:00
Merge branch 'feature/6173_fix_status_events_create_room' into 'develop'
MESSENGER-6173 fix room creation status events not showing See merge request bwmessenger/bundesmessenger/bundesmessenger-ios!383
This commit is contained in:
@@ -396,14 +396,16 @@ NSString *const URLPreviewDidUpdateNotification = @"URLPreviewDidUpdateNotificat
|
||||
break;
|
||||
// bwi #5575 ACL events and membership events should be displayed (and could be filtered later)
|
||||
// this does not work at the moment but i'll leave it commented out for later reevaluation
|
||||
// case RoomBubbleCellDataTagACL:
|
||||
// case RoomBubbleCellDataTagRoomCreateConfiguration:
|
||||
// if (!self.collapsedAttributedTextMessage) {
|
||||
// hasNoDisplay = NO;
|
||||
// } else {
|
||||
// hasNoDisplay = [super hasNoDisplay];
|
||||
// }
|
||||
// break;
|
||||
// case RoomBubbleCellDataTagACL:
|
||||
// hasNoDisplay = NO;
|
||||
// break;
|
||||
// case RoomBubbleCellDataTagRoomCreateConfiguration:
|
||||
// if (!self.collapsedAttributedTextMessage) {
|
||||
// hasNoDisplay = NO;
|
||||
// } else {
|
||||
// hasNoDisplay = [super hasNoDisplay];
|
||||
// }
|
||||
// break;
|
||||
default:
|
||||
hasNoDisplay = [super hasNoDisplay];
|
||||
break;
|
||||
|
||||
@@ -413,6 +413,9 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
|
||||
MXEvent *roomCreateEvent = [events filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"type == %@", kMXEventTypeStringRoomCreate]].firstObject;
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -448,7 +451,7 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
|
||||
// TODO: Build a complete summary like Riot-web
|
||||
|
||||
// bwi #5575 correct texts for collapsed acl events
|
||||
else if (events[0].eventType == MXEventTypeRoomMember || events[0].eventType == MXEventTypeRoomServerACL)
|
||||
else if (aclEvent || roomMemberEvent || joinRuleEvent)
|
||||
{
|
||||
CollapsedACLEvents eventsType = [[FederationEventHelper shared] isCollapsedACLEventsWithEvents:events];
|
||||
switch (eventsType) {
|
||||
@@ -463,6 +466,7 @@ static NSString *const kEventFormatterTimeFormat = @"HH:mm";
|
||||
break;
|
||||
default:
|
||||
displayText = [VectorL10n eventFormatterMemberUpdates:events.count];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,22 +58,21 @@ 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
|
||||
for event in events {
|
||||
if event.eventType == .roomMember {
|
||||
memberEventCount += 1
|
||||
} else if event.eventType == .roomServerACL {
|
||||
if event.eventType != .roomServerACL {
|
||||
otherEventCount += 1
|
||||
} else {
|
||||
aclEventCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
if aclEventCount > 0 && memberEventCount == 0 {
|
||||
if aclEventCount > 0 && otherEventCount == 0 {
|
||||
return .all
|
||||
} else if aclEventCount > 0 && memberEventCount > 0 {
|
||||
return .mixed
|
||||
} else {
|
||||
} else if otherEventCount > 0 && aclEventCount == 0 {
|
||||
return .none
|
||||
} else {
|
||||
return .mixed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user