Fix typo, improve sent media cache

This commit is contained in:
Ali
2022-12-30 15:42:52 +04:00
parent 296a6bba8f
commit d8083e7c61
4 changed files with 92 additions and 39 deletions

View File

@@ -41,7 +41,7 @@ func applyMediaResourceChanges(from: Media, to: Media, postbox: Postbox, force:
}
}
func applyUpdateMessage(postbox: Postbox, stateManager: AccountStateManager, message: Message, result: Api.Updates, accountPeerId: PeerId) -> Signal<Void, NoError> {
func applyUpdateMessage(postbox: Postbox, stateManager: AccountStateManager, message: Message, cacheReferenceKey: CachedSentMediaReferenceKey?, result: Api.Updates, accountPeerId: PeerId) -> Signal<Void, NoError> {
return postbox.transaction { transaction -> Void in
let messageId: Int32?
var apiMessage: Api.Message?
@@ -284,6 +284,27 @@ func applyUpdateMessage(postbox: Postbox, stateManager: AccountStateManager, mes
}
}
}
if updatedMessage.id.namespace == Namespaces.Message.Cloud, let cacheReferenceKey = cacheReferenceKey {
var storeMedia: Media?
var mediaCount = 0
for media in updatedMessage.media {
if let image = media as? TelegramMediaImage {
storeMedia = image
mediaCount += 1
} else if let file = media as? TelegramMediaFile {
storeMedia = file
mediaCount += 1
}
}
if mediaCount > 1 {
storeMedia = nil
}
if let storeMedia = storeMedia {
storeCachedSentMediaReference(transaction: transaction, key: cacheReferenceKey, media: storeMedia)
}
}
}
for file in sentStickers {
if let entry = CodableEntry(RecentMediaItem(file)) {