passepartout-apple/Passepartout/Shared
Davide f8e623e1fe
Fix regressions with CloudKit synchronization (#1029)
The remote container is shared by ProfileManager and
PreferencesManager, but it must be the same for CloudKit sync
to work properly.

Externalize the logic of onEligibleFeatures() so that the
AppContext singleton can update the managers (and their
repositories) with the new remote store.

Now that the remote profile repository is reloaded every time that
eligible features change, the .removeDuplicates() may also be
restored. Just add a .dropFirst() to skip the initially empty
value of eligible features. Even when features are eventually empty,
a value is always emitted after IAPManager.reloadReceipt()

Lastly, enable Core Data lightweight migration.

Regressions from #1017
2024-12-20 10:05:07 +01:00
..
Dependencies.swift Separate App/Tunnel responsibilities (#984) 2024-12-08 18:56:39 +01:00
Dependencies+CoreData.swift Separate App/Tunnel responsibilities (#984) 2024-12-08 18:56:39 +01:00
Dependencies+IAPManager.swift Unify paywall and eligibility (#1018) 2024-12-16 21:45:36 +01:00
Dependencies+PassepartoutKit.swift Fix regressions with CloudKit synchronization (#1029) 2024-12-20 10:05:07 +01:00