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)