Merge commit '2e9bb7067e9f1596f29b986729822184145906db' into feature/4068_merge_foss_1_9_15

# Conflicts:
#	Config/AppVersion.xcconfig
#	Podfile.lock
#	Riot/Assets/de.lproj/Localizable.strings
#	Riot/Modules/Room/RoomViewController.m
#	RiotNSE/NotificationService.swift
#	fastlane/Fastfile
This commit is contained in:
Frank Rotermund
2023-01-16 12:11:51 +01:00
144 changed files with 2870 additions and 431 deletions
@@ -1916,8 +1916,15 @@ static NSArray<NSNumber*> *initialSyncSilentErrorsHTTPStatusCodes;
MXRoomSummary *summary = room.summary;
if (summary)
{
NSString *eventId = summary.lastMessage.eventId;
if (!eventId)
{
MXLogFailure(@"[MXKAccount] onDateTimeFormatUpdate: Missing event id");
continue;
}
dispatch_group_enter(dispatchGroup);
[summary.mxSession eventWithEventId:summary.lastMessage.eventId
[summary.mxSession eventWithEventId:eventId
inRoom:summary.roomId
success:^(MXEvent *event) {
@@ -148,6 +148,8 @@ static NSString *const kMXAppGroupID = @"group.org.matrix";
kMXEventTypeStringKeyVerificationDone,
kMXEventTypeStringPollStart,
kMXEventTypeStringPollStartMSC3381,
kMXEventTypeStringPollEnd,
kMXEventTypeStringPollEndMSC3381,
kMXEventTypeStringBeaconInfo,
kMXEventTypeStringBeaconInfoMSC3672
].mutableCopy;
@@ -181,6 +183,8 @@ static NSString *const kMXAppGroupID = @"group.org.matrix";
kMXEventTypeStringKeyVerificationDone,
kMXEventTypeStringPollStart,
kMXEventTypeStringPollStartMSC3381,
kMXEventTypeStringPollEnd,
kMXEventTypeStringPollEndMSC3381,
kMXEventTypeStringBeaconInfo,
kMXEventTypeStringBeaconInfoMSC3672
].mutableCopy;
@@ -2881,10 +2881,21 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
return NO;
}
if (event.eventType == MXEventTypePollStart) {
if (event.isTimelinePollEvent) {
return YES;
}
// Specific case for voice broadcast event
if (event.eventType == MXEventTypeCustom &&
[event.type isEqualToString:VoiceBroadcastSettings.voiceBroadcastInfoContentKeyType]) {
// Ensures that we only support reactions for a start event
VoiceBroadcastInfo* voiceBroadcastInfo = [VoiceBroadcastInfo modelFromJSON: event.content];
if ([VoiceBroadcastInfo isStartedFor: voiceBroadcastInfo.state]) {
return YES;
}
}
BOOL isRoomMessage = (event.eventType == MXEventTypeRoomMessage);
if (!isRoomMessage) {