-
Notifications
You must be signed in to change notification settings - Fork 125
Description
What can be improved?
Currently, the iCloud support is not implemented at all. One can indeed save a database file in an iCloud folder, but the intended funcionality will be broken: Every time the file is updated from another device, KeePassium will give an error: "File doesn't exist". One would need to re-open the database from iCould to fix this.
Furthermore, the current implementation results in iCloud falsely showing a switch for KeePassium to save its data to iCloud. However, if you turn this switch on, nothing will be saved. This is quite misleading for the user, as they might believe the data are safe on iCloud.
The solution you'd like
Ideally, one should give an option in settings to save data directly to iCloud drive as described here:
https://developer.apple.com/documentation/UIKit/synchronizing-documents-in-the-icloud-environment
https://developer.apple.com/documentation/foundation/icloud
This will automatically create a separate application folder in iCloud drive for KeePassium with the app icon. This folder will be accessible from the Files app, will be properly backed up to iCloud, and will not lead to conflicts when the file is updated from another device.
In addition, properly implementing iCloud support will make the setting hack "Use file transactions for writing databases" described in the manual unnecessary.
Additional context
I would recommend looking at how Obsidian implemented this feature. One can choose to save/create a Vault on iCloud drive (there is a switch in the user interface). In this case, one would immediately notice a new folder in the Files app with the Obsidian icon and all the files inside. The iCloud backup switch works properly in this case.