diff --git a/Riot/Modules/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m b/Riot/Modules/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m index be5eec092..40e5e38ee 100644 --- a/Riot/Modules/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m +++ b/Riot/Modules/MatrixKit/Utils/EventFormatter/MXKEventFormatter.m @@ -1262,18 +1262,19 @@ static NSString *const kHTMLATagRegexPattern = @"([^<]*)"; } else if (eventThreadId && !RiotSettings.shared.enableThreads) { + NSString *repliedEventId = event.relatesTo.inReplyTo.eventId ?: eventThreadId; isHTML = YES; MXJSONModelSetString(body, event.content[kMXMessageBodyKey]); - MXEvent *threadRootEvent = [mxSession.store eventWithEventId:eventThreadId - inRoom:event.roomId]; + MXEvent *repliedEvent = [mxSession.store eventWithEventId:repliedEventId + inRoom:event.roomId]; - NSString *threadRootEventContent; - MXJSONModelSetString(threadRootEventContent, threadRootEvent.content[kMXMessageBodyKey]); + NSString *repliedEventContent; + MXJSONModelSetString(repliedEventContent, repliedEvent.content[kMXMessageBodyKey]); body = [NSString stringWithFormat:@"
In reply to %@
%@
%@", - [MXTools permalinkToEvent:eventThreadId inRoom:event.roomId], - [MXTools permalinkToUserWithUserId:threadRootEvent.sender], - threadRootEvent.sender, - threadRootEventContent, + [MXTools permalinkToEvent:repliedEventId inRoom:event.roomId], + [MXTools permalinkToUserWithUserId:repliedEvent.sender], + repliedEvent.sender, + repliedEventContent, body]; } @@ -1359,9 +1360,7 @@ static NSString *const kHTMLATagRegexPattern = @"([^<]*)"; // For replies, look for the end of the parent message // This helps us insert the emote prefix in the right place - NSDictionary *relatesTo; - MXJSONModelSetDictionary(relatesTo, event.content[@"m.relates_to"]); - if ([relatesTo[@"m.in_reply_to"] isKindOfClass:NSDictionary.class] || (event.isInThread && !RiotSettings.shared.enableThreads)) + if (event.relatesTo.inReplyTo || (event.isInThread && !RiotSettings.shared.enableThreads)) { [attributedDisplayText enumerateAttribute:kMXKToolsBlockquoteMarkAttribute inRange:NSMakeRange(0, attributedDisplayText.length)