diff --git a/TelegramUI/ChatMessageInteractiveMediaNode.swift b/TelegramUI/ChatMessageInteractiveMediaNode.swift index 9d2f988fd7..32ee064938 100644 --- a/TelegramUI/ChatMessageInteractiveMediaNode.swift +++ b/TelegramUI/ChatMessageInteractiveMediaNode.swift @@ -328,7 +328,7 @@ final class ChatMessageInteractiveMediaNode: ASDisplayNode { if statusUpdated { if let image = media as? TelegramMediaImage { if message.flags.isSending { - updatedStatusSignal = combineLatest(chatMessagePhotoStatus(account: account, photoReference: .message(message: MessageReference(message), media: image)), account.pendingMessageManager.pendingMessageStatus(message.id)) + updatedStatusSignal = combineLatest(chatMessagePhotoStatus(account: account, messageId: message.id, photoReference: .message(message: MessageReference(message), media: image)), account.pendingMessageManager.pendingMessageStatus(message.id)) |> map { resourceStatus, pendingStatus -> MediaResourceStatus in if let pendingStatus = pendingStatus { var progress = pendingStatus.progress @@ -341,7 +341,7 @@ final class ChatMessageInteractiveMediaNode: ASDisplayNode { } } } else { - updatedStatusSignal = chatMessagePhotoStatus(account: account, photoReference: .message(message: MessageReference(message), media: image)) + updatedStatusSignal = chatMessagePhotoStatus(account: account, messageId: message.id, photoReference: .message(message: MessageReference(message), media: image)) } } else if let file = media as? TelegramMediaFile { updatedStatusSignal = combineLatest(messageMediaFileStatus(account: account, messageId: message.id, file: file), account.pendingMessageManager.pendingMessageStatus(message.id)) diff --git a/TelegramUI/PhotoResources.swift b/TelegramUI/PhotoResources.swift index 45f5b53f62..4ee3ea1c4a 100644 --- a/TelegramUI/PhotoResources.swift +++ b/TelegramUI/PhotoResources.swift @@ -1424,9 +1424,9 @@ func internalMediaGridMessageVideo(postbox: Postbox, videoReference: FileMediaRe } } -func chatMessagePhotoStatus(account: Account, photoReference: ImageMediaReference) -> Signal { +func chatMessagePhotoStatus(account: Account, messageId: MessageId, photoReference: ImageMediaReference) -> Signal { if let largestRepresentation = largestRepresentationForPhoto(photoReference.media) { - return account.postbox.mediaBox.resourceStatus(largestRepresentation.resource) + return account.telegramApplicationContext.fetchManager.fetchStatus(category: .image, location: .chat(messageId.peerId), locationKey: .messageId(messageId), resource: largestRepresentation.resource) } else { return .never() }