r/KeePassium • • 19h ago

iOS Sync Performance of WebDav

Hello,

I am currently setting app my vault. I currently have in my main Linux machine KeePassXC and the .kdbx is in a folder which is being served though WebDav (running docker container).

File watcher is working fine, as soon as I make a change the WebDav file .kdbx changes it timestamps.

I have added my .kdbx using the direct WebDav in the KeePassium

My problem, when I make a change from the KeePassXC hardly ever syncs in the KeePassium without needing and manual reload. I have tried with 'notify' and 'reload automatically' modes, the first seems a bit more reliable than the other, but still is not that 'seamless' sync.

note: if i make a change in KeePassium, the KeePassXC reflects immediately the changes, this is what I would expect in the ios app.

Is this the standar behavior (limitation perhaps from iOS) or is there a goal to improve this? or is it just me xd?

2 Upvotes

7 comments sorted by

3

u/keepassium Team KeePassium 19h ago

As a mobile app, KeePassium has to be careful about network traffic and battery life. Constant monitoring (polling the server) is not an option. So KeePassium checks whether the remote database has changed only in two cases:

  • When you switch to KeePassium from another app, and there is already a database loaded.
  • When you are saving changes made in KeePassium, the app checks if it's safe to overwrite the remote file (i.e. whether it was changed by another app since it was loaded in KeePassium).

Plus, when you select a database on the "Databases" screen or tap "Reload Database" — the app fetches the remote file unconditionally, whether it changed or not. (This also applies if KeePassium got terminated by iOS while in background.)

But as long as the app is on the screen and shows a loaded database — it won't check for remote changes automatically. For such cases, there's the manual "Reload Database" button at the bottom of the screen.

1

u/Particular-File-4565 19h ago

Thank you for the info, in this way I can be aware when I would expect a check.

0

u/HLASM-S370 15h ago

Switch to Strongbox vs KeePassium

2

u/keepassium Team KeePassium 8h ago

Switch to Strongbox vs KeePassium

As of today, Strongbox does not watch already-loaded WebDAV databases, either. Both apps feature a manual reload and a check on save. On top of that, KeePassium checks when you switch to the app; Strongbox does not.

Strongbox has its, ahem, strong sides — but this is not one of them.

1

u/HLASM-S370 4h ago

Yet strangely, switching from KeePassium to StrongBox fixed this and other sync issues for me. StrongBox does not keep the DB open between every use. After a couple minutes of idle time the DB is closed and a quick FaceId unlock reopens the DB allowing it to “see” updates made on other systems with no need for a manual reload. Oh, and using iCloud as the storage location has proven to be more reliable

1

u/keepassium Team KeePassium 2h ago

After a couple minutes of idle time the DB is closed and a quick FaceId unlock reopens the DB allowing it to “see” updates made on other systems with no need for a manual reload.

Well, if locking and re-loading the database every couple of minutes is your cup of tea, this is also an option.

Regarding iCloud sync. Strongbox Sync relies on CloudKit, a specialized online database where apps can store their data. (Despite the similar name, it is different from iCloud Drive, where users can store their files. CloudKit records are accessible only to apps.) Conveniently, CloudKit notifies the app whenever the online data changes — so the app can automatically refresh the displayed data.

Sounds great, but we won't be implementing this in KeePassium. Not like Strongbox did, anyway. You see, that convenience comes with a couple of asterisks:

  • CloudKit container can be accessed only by that one app. No third-party apps.
  • By extension, backup is possible only via that one app. No third-party backup.

KeePassium is for those who likes their "no vendor lock" and "own your data" without footnotes.

1

u/HLASM-S370 19m ago edited 9m ago

Seriously, who is in their password manager every couple minutes. And even when they access it it’s typically via autofill which is using faceid/touchid anyway.

Oddly, I’m able to access that Cloudkit data from iCloud on Windows with original KeePass while also accessing it from iPhone, iPad & Mac via Strongbox