From 9eee3f16ac02c2d3d0467d65e56116a9c4805fcd Mon Sep 17 00:00:00 2001 From: Ali <> Date: Tue, 28 Jul 2020 20:06:36 +0400 Subject: [PATCH] Mark file as pending if it has pending fetch --- submodules/Postbox/Sources/MediaBoxFile.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/submodules/Postbox/Sources/MediaBoxFile.swift b/submodules/Postbox/Sources/MediaBoxFile.swift index 670c1f6228..a7bd7cce60 100644 --- a/submodules/Postbox/Sources/MediaBoxFile.swift +++ b/submodules/Postbox/Sources/MediaBoxFile.swift @@ -599,7 +599,7 @@ final class MediaBoxPartialFile { private func immediateStatus(size: Int32?) -> MediaResourceStatus { let status: MediaResourceStatus - if self.fullRangeRequests.isEmpty { + if self.fullRangeRequests.isEmpty && self.currentFetch == nil { if let truncationSize = self.fileMap.truncationSize, self.fileMap.sum == truncationSize { status = .Local } else { @@ -650,6 +650,7 @@ final class MediaBoxPartialFile { if intervals.isEmpty { if let (_, disposable) = self.currentFetch { self.currentFetch = nil + self.updateStatuses() disposable.dispose() } } else { @@ -659,6 +660,7 @@ final class MediaBoxPartialFile { let promise = Promise<[(Range, MediaBoxFetchPriority)]>() let disposable = MetaDisposable() self.currentFetch = (promise, disposable) + self.updateStatuses() disposable.set((fetch(promise.get()) |> deliverOn(self.queue)).start(next: { [weak self] data in if let strongSelf = self {