Recent/saved sticker reference validation

This commit is contained in:
Isaac 2024-04-10 13:59:52 +04:00
parent 79502b3d6f
commit 7df240019c

View File

@ -141,18 +141,29 @@ func mediaContentToUpload(accountPeerId: PeerId, network: Network, postbox: Post
return uploadedMediaFileContent(network: network, postbox: postbox, auxiliaryMethods: auxiliaryMethods, transformOutgoingMessageMedia: transformOutgoingMessageMedia, messageMediaPreuploadManager: messageMediaPreuploadManager, forceReupload: true, isGrouped: isGrouped, passFetchProgress: false, forceNoBigParts: false, peerId: peerId, messageId: messageId, text: text, attributes: attributes, autoremoveMessageAttribute: autoremoveMessageAttribute, autoclearMessageAttribute: autoclearMessageAttribute, file: file)
} else {
if forceReupload {
let finalMediaReference: AnyMediaReference
let finalMediaReference: Signal<AnyMediaReference, NoError>
if let mediaReference = mediaReference {
finalMediaReference = mediaReference
} else if file.isSticker {
finalMediaReference = .single(mediaReference)
} else if file.isSticker || file.isCustomEmoji {
if let partialReference = file.partialReference {
finalMediaReference = partialReference.mediaReference(file)
finalMediaReference = .single(partialReference.mediaReference(file))
} else {
finalMediaReference = .standalone(media: file)
finalMediaReference = postbox.transaction { transaction -> AnyMediaReference in
if transaction.getOrderedItemListItem(collectionId: Namespaces.OrderedItemList.CloudRecentStickers, itemId: RecentMediaItemId(file.fileId).rawValue) != nil {
return .recentSticker(media: file)
} else if transaction.getOrderedItemListItem(collectionId: Namespaces.OrderedItemList.CloudSavedStickers, itemId: RecentMediaItemId(file.fileId).rawValue) != nil {
return .savedSticker(media: file)
}
return .standalone(media: file)
}
}
} else {
finalMediaReference = .savedGif(media: file)
finalMediaReference = .single(.savedGif(media: file))
}
return finalMediaReference
|> castError(PendingMessageUploadError.self)
|> mapToSignal { finalMediaReference in
return revalidateMediaResourceReference(accountPeerId: accountPeerId, postbox: postbox, network: network, revalidationContext: revalidationContext, info: TelegramCloudMediaResourceFetchInfo(reference: finalMediaReference.resourceReference(file.resource), preferBackgroundReferenceRevalidation: false, continueInBackground: false), resource: resource)
|> mapError { _ -> PendingMessageUploadError in
return .generic
@ -165,6 +176,7 @@ func mediaContentToUpload(accountPeerId: PeerId, network: Network, postbox: Post
}
}
}
}
var flags: Int32 = 0
var emojiSearchQuery: String?