Merge branch 'ismail/5068_start_thread' into ismail/5096_thread_notifications

This commit is contained in:
ismailgulek
2022-01-17 11:39:25 +03:00
300 changed files with 6263 additions and 923 deletions
@@ -2062,6 +2062,29 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
}
}
- (void)sendLocationWithLatitude:(double)latitude
longitude:(double)longitude
description:(NSString *)description
success:(void (^)(NSString *))success
failure:(void (^)(NSError *))failure
{
__block MXEvent *localEchoEvent = nil;
// Make the request to the homeserver
[_room sendLocationWithLatitude:latitude
longitude:longitude
description:description
localEcho:&localEchoEvent
success:success failure:failure];
if (localEchoEvent)
{
// Make the data source digest this fake local echo message
[self queueEventForProcessing:localEchoEvent withRoomState:self.roomState direction:MXTimelineDirectionForwards];
[self processQueuedEvents:nil];
}
}
- (void)sendEventOfType:(MXEventTypeString)eventTypeString content:(NSDictionary<NSString*, id>*)msgContent success:(void (^)(NSString *eventId))success failure:(void (^)(NSError *error))failure
{
__block MXEvent *localEchoEvent = nil;
@@ -2099,7 +2122,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
else if ([event.type isEqualToString:kMXEventTypeStringRoomMessage])
{
// And retry the send the message according to its type
NSString *msgType = event.content[@"msgtype"];
NSString *msgType = event.content[kMXMessageTypeKey];
if ([msgType isEqualToString:kMXMessageTypeText] || [msgType isEqualToString:kMXMessageTypeEmote])
{
// Resend the Matrix event by reusing the existing echo
@@ -2860,7 +2883,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
return NO;
}
NSString *messageType = event.content[@"msgtype"];
NSString *messageType = event.content[kMXMessageTypeKey];
if (messageType == nil || [messageType isEqualToString:@"m.bad.encrypted"]) {
return NO;
}
@@ -4058,7 +4081,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
if ([self canPerformActionOnEvent:event])
{
NSString *messageType = event.content[@"msgtype"];
NSString *messageType = event.content[kMXMessageTypeKey];
if ([messageType isEqualToString:kMXMessageTypeKeyVerificationRequest])
{
@@ -4101,7 +4124,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
{
MXEvent *event = [self eventWithEventId:eventId];
BOOL isRoomMessage = event.eventType == MXEventTypeRoomMessage;
NSString *messageType = event.content[@"msgtype"];
NSString *messageType = event.content[kMXMessageTypeKey];
return isRoomMessage
&& ([messageType isEqualToString:kMXMessageTypeText] || [messageType isEqualToString:kMXMessageTypeEmote])
@@ -4122,7 +4145,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
}
else
{
editableTextMessage = event.content[@"body"];
editableTextMessage = event.content[kMXMessageBodyKey];
}
return editableTextMessage;
@@ -4239,7 +4262,7 @@ typedef NS_ENUM (NSUInteger, MXKRoomDataSourceError) {
NSString *sanitizedText = [self sanitizedMessageText:text];
NSString *formattedText = [self htmlMessageFromSanitizedText:sanitizedText];
NSString *eventBody = event.content[@"body"];
NSString *eventBody = event.content[kMXMessageBodyKey];
NSString *eventFormattedBody = event.content[@"formatted_body"];
if (![sanitizedText isEqualToString:eventBody] && (!eventFormattedBody || ![formattedText isEqualToString:eventFormattedBody]))