keepassium / KeePassium

KeePass-compatible password manager for iOS
https://keepassium.com
Other
1.17k stars 103 forks source link

Download database file only if it has changed since last sync #373

Open maik-s opened 2 months ago

maik-s commented 2 months ago

What can be improved? KeePassium downloads the database file via WebDAV every time the app (or inapp overlay) is opened.

The solution you'd like The WebDav server provides a precise timestamp of the last file change. Hence, KeePassium can use this timestamp to download the file only if the WebDAV server's timestamp is newer than the last synced one.

Alternatives you've considered N/A

Additional context N/A

keepassium commented 2 months ago

Thank you for the suggestion.

I have been thinking about this for quite some time, and just wrote a long response why this is problematic:

…and deleted it.

Even if this caching is limited to direct connections, it is worth implementing and having in the queue. Let me just generalize it from WebDAV :)

keepassium commented 22 hours ago

Addressed in 1.53.154 (now in beta) via 3fc11acd93cddd2446e28c1820c06a1056dab66c.

If you keep the DB loaded in KeePassium, whenever you activate the app it will check whether the remote database has changed — and prompt you to reload, if so.

I understand this is different from your request (using a cache file instead of downloading the database at all), but this is the closes we'll get to it for the nearest future. Now KeePassium uses the remote database as a singular source of truth, and this will be so until we implement database merging. Then things will need to get a bit more flexible :)