From 73ab2136313a9b5eea23759ab4995c16c03607e1 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sat, 14 Jan 2023 12:39:36 -0500 Subject: [PATCH] Fix sync errors due to local conflicts and all items from a feed being deleted --- .../Persistence/PersistentContainer.swift | 2 + .../Reader.xcdatamodeld/.xccurrentversion | 2 +- .../Reader 2.xcdatamodel/contents | 2 +- .../Reader 3.xcdatamodel/contents | 39 +++++++++++++++++++ 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 3.xcdatamodel/contents diff --git a/Persistence/Sources/Persistence/PersistentContainer.swift b/Persistence/Sources/Persistence/PersistentContainer.swift index a0094a8..1e3f53a 100644 --- a/Persistence/Sources/Persistence/PersistentContainer.swift +++ b/Persistence/Sources/Persistence/PersistentContainer.swift @@ -23,6 +23,7 @@ public class PersistentContainer: NSPersistentContainer, @unchecked Sendable { // if it's parented to the viewContext, it blocks the viewContext (and potentially the main thread) when it needs to look things up context.persistentStoreCoordinator = self.persistentStoreCoordinator context.automaticallyMergesChangesFromParent = true + context.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump return context }() @@ -65,6 +66,7 @@ public class PersistentContainer: NSPersistentContainer, @unchecked Sendable { } viewContext.automaticallyMergesChangesFromParent = true + viewContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump } @MainActor diff --git a/Persistence/Sources/Persistence/Reader.xcdatamodeld/.xccurrentversion b/Persistence/Sources/Persistence/Reader.xcdatamodeld/.xccurrentversion index df1af3e..a193a52 100644 --- a/Persistence/Sources/Persistence/Reader.xcdatamodeld/.xccurrentversion +++ b/Persistence/Sources/Persistence/Reader.xcdatamodeld/.xccurrentversion @@ -3,6 +3,6 @@ _XCCurrentVersionName - Reader 2.xcdatamodel + Reader 3.xcdatamodel diff --git a/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 2.xcdatamodel/contents b/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 2.xcdatamodel/contents index 85b33d3..cf611f1 100644 --- a/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 2.xcdatamodel/contents +++ b/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 2.xcdatamodel/contents @@ -1,5 +1,5 @@ - + diff --git a/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 3.xcdatamodel/contents b/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 3.xcdatamodel/contents new file mode 100644 index 0000000..e5ff54c --- /dev/null +++ b/Persistence/Sources/Persistence/Reader.xcdatamodeld/Reader 3.xcdatamodel/contents @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file