KeePassDX icon indicating copy to clipboard operation
KeePassDX copied to clipboard

Allow setting an interval to refresh database when saved in cloud

Open TechD123 opened this issue 2 years ago • 1 comments

The problem It often takes up to fifteen seconds to open the password database from Nextcloud. AFAIK, this is due to KeePassDX requesting the newest version of the database every single time I want to, say, autofill a password (even though there is no newer version available).

Describe the solution you'd like It might make more sense to automatically update the database every x hours. This wouldn't be the default behavior of the app, but an advanced setting for those saving their databases in a cloud storage, accessed by KeePassDX via the Storage Access Framework.

When a user enables this feature for a specific database, the database is no longer downloaded on unlock – instead, the database merely has to be unlocked, significantly reducing the time a user has to wait.

Describe alternatives you've considered Perhaps KeePassDX could somehow check if there is a newer version available upon unlock, instead of defaulting to always downloading the database. This wouldn't be as smooth as the above though, as there would still be cases where the database has to be downloaded before unlocking. Ideally, you would combine the two approaches: keep the database up to date in the background, but only when there actually is a new version.

Thank you for working on a free software project!

TechD123 avatar Aug 22 '23 14:08 TechD123

AFAIK, this is due to KeePassDX requesting the newest version of the database every single time I want to,

KeePassDX simply retrieves the data provided by the URI, there is no update request as such. If you press the update button while the database is open, it simply retrieves the data from the stream once again. This means that if they're new, they're updated.

It might make more sense to automatically update the database every x hours.

It's not the data editor's job to do this (here KeePassDX) but your cloud application's.

When a user enables this feature for a specific database, the database is no longer downloaded on unlock – instead, the database merely has to be unlocked, significantly reducing the time a user has to wait.

Here you're talking about a cache, and once again it's not up to this editor to keep this cache. It's simply the behavior of the cloud app you've chosen.

Perhaps KeePassDX could somehow check if there is a newer version available upon unlock, instead of defaulting to always downloading the database.

This is not possible. There is no stored data indicating the revision number of a database in KeePassDX. This corresponds to the file metadata managed by your file manager. KeePassDX only retrieves data content via imputstream, and has no notion of downloading from an external protocol.

J-Jamet avatar Aug 22 '23 20:08 J-Jamet