diff --git a/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift b/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift index 9603c2d28d..b35e858e96 100644 --- a/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift +++ b/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift @@ -533,8 +533,8 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) case let .messageEntityCode(offset, length): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) - case let .messageEntityPre(offset, length, _): - result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) + case let .messageEntityPre(offset, length, language): + result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language))) case let .messageEntityTextUrl(offset, length, url): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) case let .messageEntityMentionName(offset, length, userId): diff --git a/submodules/TelegramCore/Sources/State/ProcessSecretChatIncomingDecryptedOperations.swift b/submodules/TelegramCore/Sources/State/ProcessSecretChatIncomingDecryptedOperations.swift index f110c457ca..fe35e55b5d 100644 --- a/submodules/TelegramCore/Sources/State/ProcessSecretChatIncomingDecryptedOperations.swift +++ b/submodules/TelegramCore/Sources/State/ProcessSecretChatIncomingDecryptedOperations.swift @@ -732,8 +732,8 @@ private func parseEntities(_ entities: [SecretApi46.MessageEntity]?) -> TextEnti result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) case let .messageEntityCode(offset, length): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) - case let .messageEntityPre(offset, length, _): - result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) + case let .messageEntityPre(offset, length, language): + result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language))) case let .messageEntityTextUrl(offset, length, url): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) case .messageEntityUnknown: @@ -945,8 +945,8 @@ private func parseEntities(_ entities: [SecretApi73.MessageEntity]) -> TextEntit result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) case let .messageEntityCode(offset, length): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) - case let .messageEntityPre(offset, length, _): - result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) + case let .messageEntityPre(offset, length, language): + result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language))) case let .messageEntityTextUrl(offset, length, url): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) case .messageEntityUnknown: @@ -1177,8 +1177,8 @@ private func parseEntities(_ entities: [SecretApi101.MessageEntity]) -> TextEnti result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) case let .messageEntityCode(offset, length): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) - case let .messageEntityPre(offset, length, _): - result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) + case let .messageEntityPre(offset, length, language): + result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language))) case let .messageEntityTextUrl(offset, length, url): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) case let .messageEntityStrike(offset, length): @@ -1214,8 +1214,8 @@ private func parseEntities(_ entities: [SecretApi144.MessageEntity]) -> TextEnti result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Italic)) case let .messageEntityCode(offset, length): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Code)) - case let .messageEntityPre(offset, length, _): - result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre)) + case let .messageEntityPre(offset, length, language): + result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Pre(language: language))) case let .messageEntityTextUrl(offset, length, url): result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .TextUrl(url: url))) case let .messageEntityStrike(offset, length): diff --git a/submodules/TelegramCore/Sources/SyncCore/SyncCore_TextEntitiesMessageAttribute.swift b/submodules/TelegramCore/Sources/SyncCore/SyncCore_TextEntitiesMessageAttribute.swift index 424fbfc7b8..b6b81056e7 100644 --- a/submodules/TelegramCore/Sources/SyncCore/SyncCore_TextEntitiesMessageAttribute.swift +++ b/submodules/TelegramCore/Sources/SyncCore/SyncCore_TextEntitiesMessageAttribute.swift @@ -13,7 +13,7 @@ public enum MessageTextEntityType: Equatable { case Bold case Italic case Code - case Pre + case Pre(language: String?) case TextUrl(url: String) case TextMention(peerId: PeerId) case PhoneNumber @@ -56,7 +56,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable { case 8: self.type = .Code case 9: - self.type = .Pre + self.type = .Pre(language: decoder.decodeOptionalStringForKey("language")) case 10: self.type = .TextUrl(url: decoder.decodeStringForKey("url", orElse: "")) case 11: @@ -112,7 +112,7 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable { case 8: self.type = .Code case 9: - self.type = .Pre + self.type = .Pre(language: try? container.decodeIfPresent(String.self, forKey: "language")) case 10: let url = (try? container.decode(String.self, forKey: "url")) ?? "" self.type = .TextUrl(url: url) @@ -163,8 +163,13 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable { encoder.encodeInt32(7, forKey: "_rawValue") case .Code: encoder.encodeInt32(8, forKey: "_rawValue") - case .Pre: + case let .Pre(language): encoder.encodeInt32(9, forKey: "_rawValue") + if let language = language { + encoder.encodeString(language, forKey: "language") + } else { + encoder.encodeNil(forKey: "language") + } case let .TextUrl(url): encoder.encodeInt32(10, forKey: "_rawValue") encoder.encodeString(url, forKey: "url") @@ -221,8 +226,9 @@ public struct MessageTextEntity: PostboxCoding, Codable, Equatable { try container.encode(7 as Int32, forKey: "_rawValue") case .Code: try container.encode(8 as Int32, forKey: "_rawValue") - case .Pre: + case let .Pre(language): try container.encode(9 as Int32, forKey: "_rawValue") + try container.encodeIfPresent(language, forKey: "language") case let .TextUrl(url): try container.encode(10 as Int32, forKey: "_rawValue") try container.encode(url, forKey: "url")