Added html body to text messages and rendering through Apple's default NSAttributedString.DocumentType.html parser

This commit is contained in:
Stefan Ceriu
2022-03-22 10:09:46 +02:00
parent d201ca1ad8
commit 5c7761e851
12 changed files with 77 additions and 45 deletions
@@ -20,8 +20,8 @@ struct ImageRoomMessage: RoomMessageProtocol {
message.baseMessage().id()
}
var content: String {
message.baseMessage().content()
var body: String {
message.baseMessage().body()
}
var sender: String {
@@ -10,7 +10,7 @@ import Foundation
protocol RoomMessageProtocol {
var id: String { get }
var content: String { get }
var body: String { get }
var sender: String { get }
var originServerTs: Date { get }
}
@@ -21,8 +21,12 @@ struct TextRoomMessage: RoomMessageProtocol {
message.baseMessage().id()
}
var content: String {
message.baseMessage().content()
var body: String {
message.baseMessage().body()
}
var htmlBody: String? {
message.htmlBody()
}
var sender: String {
+25 -21
View File
@@ -49,31 +49,35 @@ class RoomProxy: RoomProxyProtocol, Equatable {
}
var id: String {
return room.id()
}
var isDirect: Bool {
return room.isDirect()
}
var isPublic: Bool {
return room.isPublic()
}
var isSpace: Bool {
return room.isSpace()
}
var isEncrypted: Bool {
return room.isEncrypted()
room.id()
}
var name: String? {
return room.name()
room.name()
}
var topic: String? {
return room.topic()
room.topic()
}
var isDirect: Bool {
room.isDirect()
}
var isPublic: Bool {
room.isPublic()
}
var isSpace: Bool {
room.isSpace()
}
var isEncrypted: Bool {
room.isEncrypted()
}
var isTombstoned: Bool {
room.isTombstoned()
}
var lastMessage: String? {
@@ -154,7 +158,7 @@ class RoomProxy: RoomProxyProtocol, Equatable {
DispatchQueue.main.async {
callback?(.success(messages))
if self.lastMessage == nil {
self.lastMessage = messages.last?.content ?? ""
self.lastMessage = messages.last?.body ?? ""
}
}
}
@@ -170,7 +174,7 @@ class RoomProxy: RoomProxyProtocol, Equatable {
fileprivate func appendMessage(_ message: AnyMessage) {
let message = self.messageFactory.buildRoomMessageFrom(message)
lastMessage = message.content
lastMessage = message.body
callbacks.send(.addedMessage(message))
}