From e4f0a87a641b8053401e87ec958dd3b669cf0c3d Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sun, 26 Apr 2020 06:03:07 -0500 Subject: [PATCH] Fetch zone changes immediately after making them to keep us better in sync --- .../CloudKit/CloudKitAccountDelegate.swift | 18 ++++++++++++------ .../CloudKit/CloudKitAccountZoneDelegate.swift | 12 ++++++++---- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift b/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift index 6f235ffa9..783240940 100644 --- a/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift +++ b/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift @@ -632,8 +632,10 @@ private extension CloudKitAccountDelegate { self.articlesZone.deleteArticles(deletedArticles) { _ in self.refreshProgress.completeTask() self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in - self.refreshProgress.completeTask() - completion() + self.articlesZone.fetchChangesInZone() { _ in + self.refreshProgress.completeTask() + completion() + } } } @@ -684,8 +686,10 @@ private extension CloudKitAccountDelegate { self.articlesZone.deleteArticles(deletedArticles) { _ in self.refreshProgress.completeTask() self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in - self.refreshProgress.clear() - completion(.success(feed)) + self.articlesZone.fetchChangesInZone() { _ in + self.refreshProgress.clear() + completion(.success(feed)) + } } } @@ -765,8 +769,10 @@ private extension CloudKitAccountDelegate { self.articlesZone.deleteArticles(deletedArticles) { _ in self.refreshProgress.completeTask() self.articlesZone.saveNewArticles(newAndUpdatedArticles) { _ in - self.refreshProgress.clear() - completion(.success(feed)) + self.articlesZone.fetchChangesInZone() { _ in + self.refreshProgress.clear() + completion(.success(feed)) + } } } diff --git a/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift b/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift index 8fe7702b3..1b2ba0f30 100644 --- a/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift +++ b/Frameworks/Account/CloudKit/CloudKitAccountZoneDelegate.swift @@ -222,8 +222,10 @@ private extension CloudKitAcountZoneDelegate { self.articlesZone?.deleteArticles(deletedArticles) { _ in self.refreshProgress?.completeTask() self.articlesZone?.saveNewArticles(newAndUpdatedArticles) { _ in - self.refreshProgress?.completeTask() - completion(webFeed) + self.articlesZone?.fetchChangesInZone() { _ in + self.refreshProgress?.completeTask() + completion(webFeed) + } } } @@ -265,8 +267,10 @@ private extension CloudKitAcountZoneDelegate { self.articlesZone?.deleteArticles(deletedArticles) { _ in self.refreshProgress?.completeTask() self.articlesZone?.saveNewArticles(newAndUpdatedArticles) { _ in - self.refreshProgress?.completeTask() - completion(webFeed) + self.articlesZone?.fetchChangesInZone() { _ in + self.refreshProgress?.completeTask() + completion(webFeed) + } } } case .failure: