-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix FactoryReset to not remove CloudKit related cache #1136
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -152,8 +152,6 @@ extension CloudBackupClient { | |
} | ||
|
||
let savedRecord = try await uploadProfileSnapshotToICloud(profileSnapshot, id: profile.id, existingRecord: backedUpRecord) | ||
// Migration completed, deleting old copy | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @kugel3 Before merging this, I want to actually understand the reasoning behind deleting the profile from the secure storage. IMO, the Wallet should be able to locate the profile in secure storage even after the "backup migration". To me, it is wrong to assume that backup migration means uploading the profile from the Keychain to the cloud container and then deleting it from the Keychain. The SecureStorage(KeyChain) is the actual local storage of the Profile, and the profile should not be suddenly gone. A more correct interpretation of migration maybe is:
Probably I am missing something as you have worked a lot more on this feature. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I didn't see this comment before, but it was decided last week to not actually delete non-current profiles when they are "migrated". Matt still wants to delete the currently used profile from backup, but it just hit me that I am not sure we even can do that. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Keep in mind that this code only applies to non-current profiles. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Interesting that you mention non-current profiles. In the context of SelectBackup, aren't all profiles non-current? I don't see the migration function to be called from anywhere else than from SelectBackup. I guess what we have to do to remove the backup from cloud, is to disable iCloud sync of the profile in SecureStorage, which we should do anyway. |
||
try secureStorageClient.deleteProfile(profile.id) | ||
|
||
return savedRecord | ||
} | ||
|
@@ -173,11 +171,6 @@ extension CloudBackupClient { | |
}, | ||
loadAllProfiles: { | ||
try await fetchAllProfileRecords().map(extractProfile) | ||
}, | ||
backupProfile: { | ||
let profile = await profileStore.profile | ||
let existingRecord = try? await fetchProfileRecord(.init(recordName: profile.id.uuidString)) | ||
return try await uploadProfileToICloud(profile, existingRecord: existingRecord) | ||
} | ||
) | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we delete the
removeAll
fromDiskPersistenceClient
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did choose to still have it, in case we do really need to clear the whole
caches
directory.