mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-18 23:48:29 +02:00
Fix event content where the thread root event is a reply event
This commit is contained in:
@@ -204,6 +204,23 @@ final class ThreadListViewModel: ThreadListViewModelProtocol {
|
||||
guard let message = thread.rootMessage else {
|
||||
return nil
|
||||
}
|
||||
if message.isReply(), let newMessage = message.copy() as? MXEvent {
|
||||
var jsonDict = newMessage.isEncrypted ? newMessage.clear?.jsonDictionary() : newMessage.jsonDictionary()
|
||||
if var content = jsonDict?["content"] as? [String: Any] {
|
||||
content.removeValue(forKey: "format")
|
||||
content.removeValue(forKey: "formatted_body")
|
||||
content.removeValue(forKey: kMXEventRelationRelatesToKey)
|
||||
if let replyText = MXReplyEventParser().parse(newMessage)?.bodyParts.replyText {
|
||||
content["body"] = replyText
|
||||
}
|
||||
jsonDict?["content"] = content
|
||||
}
|
||||
let trimmedMessage = MXEvent(fromJSON: jsonDict)
|
||||
let formatterError = UnsafeMutablePointer<MXKEventFormatterError>.allocate(capacity: 1)
|
||||
return eventFormatter.attributedString(from: trimmedMessage,
|
||||
with: roomState,
|
||||
error: formatterError)
|
||||
}
|
||||
let formatterError = UnsafeMutablePointer<MXKEventFormatterError>.allocate(capacity: 1)
|
||||
return eventFormatter.attributedString(from: message,
|
||||
with: roomState,
|
||||
|
||||
Reference in New Issue
Block a user