mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Fix crash
This commit is contained in:
@@ -562,9 +562,7 @@ public final class CachedChannelData: CachedPeerData {
|
||||
|
||||
self.sendAsPeerId = decoder.decodeOptionalInt64ForKey("sendAsPeerId").flatMap(PeerId.init)
|
||||
|
||||
if let allowedReactions = decoder.decodeArray([MessageReaction.Reaction].self, forKey: "allowedReactionList") {
|
||||
self.allowedReactions = allowedReactions
|
||||
} else if let allowedReactions = decoder.decodeOptionalStringArrayForKey("allowedReactions") {
|
||||
if let allowedReactions = decoder.decodeOptionalStringArrayForKey("allowedReactions") {
|
||||
self.allowedReactions = allowedReactions.map(MessageReaction.Reaction.builtin)
|
||||
} else {
|
||||
self.allowedReactions = nil
|
||||
@@ -715,9 +713,16 @@ public final class CachedChannelData: CachedPeerData {
|
||||
}
|
||||
|
||||
if let allowedReactions = self.allowedReactions {
|
||||
encoder.encodeArray(allowedReactions, forKey: "allowedReactionList")
|
||||
encoder.encodeStringArray(allowedReactions.compactMap { item -> String? in
|
||||
switch item {
|
||||
case let .builtin(value):
|
||||
return value
|
||||
case .custom:
|
||||
return nil
|
||||
}
|
||||
}, forKey: "allowedReactions")
|
||||
} else {
|
||||
encoder.encodeNil(forKey: "allowedReactionList")
|
||||
encoder.encodeNil(forKey: "allowedReactions")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -180,9 +180,7 @@ public final class CachedGroupData: CachedPeerData {
|
||||
|
||||
self.inviteRequestsPending = decoder.decodeOptionalInt32ForKey("irp")
|
||||
|
||||
if let allowedReactions = decoder.decodeArray([MessageReaction.Reaction].self, forKey: "allowedReactionList") {
|
||||
self.allowedReactions = allowedReactions
|
||||
} else if let allowedReactions = decoder.decodeOptionalStringArrayForKey("allowedReactions") {
|
||||
if let allowedReactions = decoder.decodeOptionalStringArrayForKey("allowedReactions") {
|
||||
self.allowedReactions = allowedReactions.map(MessageReaction.Reaction.builtin)
|
||||
} else {
|
||||
self.allowedReactions = nil
|
||||
@@ -279,9 +277,16 @@ public final class CachedGroupData: CachedPeerData {
|
||||
}
|
||||
|
||||
if let allowedReactions = self.allowedReactions {
|
||||
encoder.encodeArray(allowedReactions, forKey: "allowedReactionList")
|
||||
encoder.encodeStringArray(allowedReactions.compactMap { item -> String? in
|
||||
switch item {
|
||||
case let .builtin(value):
|
||||
return value
|
||||
case .custom:
|
||||
return nil
|
||||
}
|
||||
}, forKey: "allowedReactions")
|
||||
} else {
|
||||
encoder.encodeNil(forKey: "allowedReactionList")
|
||||
encoder.encodeNil(forKey: "allowedReactions")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user