diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Resources/TelegramEngineResources.swift b/submodules/TelegramCore/Sources/TelegramEngine/Resources/TelegramEngineResources.swift index 09fa330ff9..18a0f80ff0 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Resources/TelegramEngineResources.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Resources/TelegramEngineResources.swift @@ -454,12 +454,16 @@ public extension TelegramEngine { resource: EngineMediaResource, pathExtension: String? = nil, waitUntilFetchStatus: Bool = false, + incremental: Bool = false, attemptSynchronously: Bool = false ) -> Signal { + let option: ResourceDataRequestOption = incremental + ? .incremental(waitUntilFetchStatus: waitUntilFetchStatus) + : .complete(waitUntilFetchStatus: waitUntilFetchStatus) return self.account.postbox.mediaBox.resourceData( resource._asResource(), pathExtension: pathExtension, - option: .complete(waitUntilFetchStatus: waitUntilFetchStatus), + option: option, attemptSynchronously: attemptSynchronously ) |> map { EngineMediaResource.ResourceData($0) } diff --git a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift index a881957c9a..befab1cc12 100644 --- a/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift +++ b/submodules/TelegramUI/Sources/ChatInterfaceStateContextMenus.swift @@ -1324,10 +1324,10 @@ func contextMenuForChatPresentationInterfaceState(chatPresentationInterfaceState if resourceAvailable { for media in message.media { if let image = media as? TelegramMediaImage, let largest = largestImageRepresentation(image.representations) { - let _ = (context.account.postbox.mediaBox.resourceData(largest.resource, option: .incremental(waitUntilFetchStatus: false)) + let _ = (context.engine.resources.data(resource: EngineMediaResource(largest.resource), incremental: true) |> take(1) |> deliverOnMainQueue).startStandalone(next: { data in - if data.complete, let imageData = try? Data(contentsOf: URL(fileURLWithPath: data.path)) { + if data.isComplete, let imageData = try? Data(contentsOf: URL(fileURLWithPath: data.path)) { if let image = UIImage(data: imageData) { if !messageText.isEmpty { copyTextWithEntities()