diff --git a/features/video-studio/packages/iphotos-sync/Sources/Services/PhotosLibraryReader.swift b/features/video-studio/packages/iphotos-sync/Sources/Services/PhotosLibraryReader.swift index c491c3760..e585c620b 100644 --- a/features/video-studio/packages/iphotos-sync/Sources/Services/PhotosLibraryReader.swift +++ b/features/video-studio/packages/iphotos-sync/Sources/Services/PhotosLibraryReader.swift @@ -305,10 +305,10 @@ class PhotosLibraryReader { let options = PHImageRequestOptions() options.version = .current options.deliveryMode = .highQualityFormat - // Do NOT allow network access — cloudphotod handles background downloads. - // Requesting downloads here contends with cloudphotod and triggers iCloud throttling. - // Photos that aren't locally available yet will return nil and be retried next cycle. - options.isNetworkAccessAllowed = false + // Allow network access so PHImageManager can trigger iCloud downloads on demand. + // Concurrent uploads are capped at 4, so the load on iCloud download infrastructure + // is minimal and doesn't meaningfully compete with cloudphotod's background downloads. + options.isNetworkAccessAllowed = true options.isSynchronous = false // Add progress handler for iCloud downloads @@ -398,8 +398,8 @@ class PhotosLibraryReader { let options = PHVideoRequestOptions() options.version = .current options.deliveryMode = .highQualityFormat - // Do NOT allow network access — same reason as requestImageData. - options.isNetworkAccessAllowed = false + // Allow network access — same reasoning as requestImageData. + options.isNetworkAccessAllowed = true // Add progress handler for iCloud downloads options.progressHandler = { progress, error, stop, info in