From 4ff8a9b83d1dbbccc6666d06b06e0ae54e2b2246 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 7 Jun 2022 11:05:53 -0700 Subject: [PATCH] When opening with a request id check core data first for an item --- .../Views/WebReader/WebReaderLoadingContainer.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift index 046d0673a..756a9b57c 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift @@ -1,3 +1,4 @@ +import CoreData import Models import Services import SwiftUI @@ -24,6 +25,16 @@ import Utils guard let username = username else { return } + let fetchRequest: NSFetchRequest = LinkedItem.fetchRequest() + fetchRequest.predicate = NSPredicate(format: "id == %@", requestID) + if let existingItem = try? dataService.viewContext.fetch(fetchRequest).first, + existingItem.serverSyncStatus == ServerSyncStatus.isNSync.rawValue + { + print("USING EXISTING ITEM", existingItem.serverSyncStatus) + item = existingItem + return + } + // If the page was locally created, make sure they are synced before we pull content await dataService.syncUnsyncedArticleContent(itemID: requestID) await fetchLinkedItem(dataService: dataService, requestID: requestID, username: username)