You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
KeePassDX keeps loading an old version of a file synced to google drive, and I can't get it to load the most recently changed version.
It shows the correct most-recent-change date when I try to select it on google drive through KeePassDX, indicating that KeePassDX does know that the file has changed. But every time I try to load it, it just loads the old version of the file! Even after uninstalling and re-installing KeePassDX, which I figured would clear any local cache that it might be reading from, it's still loading the old version of the file!
All my other devices correctly load the newest version of the file. It's only KeePassDX on Android that seems to have the old version stuck in its brain.
As a sanity check, I tried manually downloading the kdbx file from Google Drive onto my phone's filesystem, and then browsing for it in KeePassDX. That correctly loaded the newest version, which confirms that the latest version is present on Google Drive. So there's something wrong with how KeePassDX is treating Google Drive synced files.
I should also mention that, before I discovered this problem, I made some changes to my password database inside KeePassDX, which didn't get properly pushed to Google Drive. So now there's some "diverging history" between the version on my phone and the version on Google Drive, which may be what's preventing it from properly syncing.
To Reproduce
Steps to reproduce the behavior:
Create a new password database on a separate device and upload it to Google Drive.
In KeePassDX, open that password database by syncing through Google Drive(NOT through manually downloading it)
Start making a change to the password database in KeePassDX, but don't let it save that change to Google Drive yet.
On a separate device, open the password database by syncing through Google Drive(again, NOT through manually downloading it) and make a change. Let the change be pushed back to Google Drive.
This should have caused the version on Google Drive to be mismatched with the file currently being edited by KeePassDX
In case this matters, I used KeeWeb to make this edit.
Back on your Android device, finish editing the file in KeePassDX and close it.
There are now two versions of your password database with conflicting changes. One is on Google Drive, and the other is cached somewhere on your phone.
Close KeePassDX, reopen it, and open your password database through Google Drive.
Instead of opening the version of the database on Google Drive, it will open the version that's cached on your phone. Any further changes you make in KeePassDX will be written to this cached version, and will never be pushed to Google Drive.
Expected behavior
I expected one of the following options to happen:
KeePassDX "wins" the conflict and uploads its changes to Google Drive, overwriting the changes made by the other device and causing them to be lost.
Google Drive "wins" the conflict and overwrites the changes that were being made in KeePassDX, causing them to be lost.
KeePassDX recognizes that the password database was changed simultaneously, and gives you the ability to "merge" them like git.
Instead, KeePassDX chose the "safer", though unintuitive, option of operating exclusively on its local cache for the rest of time, permanently preventing me from ever getting them back in sync. I also would have expected that deleting KeePassDX would have also deleted this mysterious "cached version" it keeps using, but that didn't happen either.
KeePass Database
Created with: Who knows? I originally created this database years ago.
Version: 2
Location: Google Drive
File provider (content:// URI): IDK
Size: 29.33kb
Contains attachment: No
KeePassDX (please complete the following information):
Version: 3.1.0
Build: Free
Language: English
Android (please complete the following information):
Device: Samsung Galaxy Note 10+
Version: 11
Additional context
I have no clue if the steps to reproduce will actually reproduce it. The truth is, I don't know how or when exactly I got in this state. For all I know, it could have stopped syncing before I made any conflicting changes.
The text was updated successfully, but these errors were encountered:
And to get back to this issue. You keep talking about caching in KeePassDX, but the fact is that there is none. The only cache that exists is the one in Google Drive that keeps a conflicting version in memory that can't be uploaded.
The merge you want will be present in KeePassDX version 3.2 but obviously can't solve the Google Drive problems.
Describe the bug
KeePassDX keeps loading an old version of a file synced to google drive, and I can't get it to load the most recently changed version.
It shows the correct most-recent-change date when I try to select it on google drive through KeePassDX, indicating that KeePassDX does know that the file has changed. But every time I try to load it, it just loads the old version of the file! Even after uninstalling and re-installing KeePassDX, which I figured would clear any local cache that it might be reading from, it's still loading the old version of the file!
All my other devices correctly load the newest version of the file. It's only KeePassDX on Android that seems to have the old version stuck in its brain.
As a sanity check, I tried manually downloading the kdbx file from Google Drive onto my phone's filesystem, and then browsing for it in KeePassDX. That correctly loaded the newest version, which confirms that the latest version is present on Google Drive. So there's something wrong with how KeePassDX is treating Google Drive synced files.
I should also mention that, before I discovered this problem, I made some changes to my password database inside KeePassDX, which didn't get properly pushed to Google Drive. So now there's some "diverging history" between the version on my phone and the version on Google Drive, which may be what's preventing it from properly syncing.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expected one of the following options to happen:
Instead, KeePassDX chose the "safer", though unintuitive, option of operating exclusively on its local cache for the rest of time, permanently preventing me from ever getting them back in sync. I also would have expected that deleting KeePassDX would have also deleted this mysterious "cached version" it keeps using, but that didn't happen either.
KeePass Database
content://
URI): IDKKeePassDX (please complete the following information):
Android (please complete the following information):
Additional context
I have no clue if the steps to reproduce will actually reproduce it. The truth is, I don't know how or when exactly I got in this state. For all I know, it could have stopped syncing before I made any conflicting changes.
The text was updated successfully, but these errors were encountered: