Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App overrides the database without user confirmation #1995

Open
auanasgheps opened this issue Feb 20, 2025 · 0 comments
Open

App overrides the database without user confirmation #1995

auanasgheps opened this issue Feb 20, 2025 · 0 comments
Labels

Comments

@auanasgheps
Copy link

auanasgheps commented Feb 20, 2025

Describe the bug

Hi, I've seen this issue multiple times, but I finally managed to analize it.

I use a Keepass DB on Google Drive and access/edit it from 3 clients: 2 PC and one Android device using KeePassDX (amazing app by the way, using the Pro version).

The app is accessing the DB via the system file manager, then Google Drive option.

When saving a change done locally, the application overrides the DB, ignoring any other change made externally. This can be a huge problem, as I'm about to explain.

The Google Drive sync, for wathever reason, it's not very reactive. This means that when I open the DB on KPDX via Google Drive, often it's not the latest version. I understand that this may not be in your control, so I'm not really complaining about this.

In this scenario (outdated DB in KeePass DX), if I make a change and save, KeePass DX will blindly override the DB, hence losing the changes made previously on the PC.

This has caused some data loss, thankfully I think I always realized in time to recover the data using the Google Drive version history.

The KeePass desktop behaviour is to check the remote DB before saving, providing the option to either sync or override (and a user option to always syncronize).

This is an issue but also a Feature Request, so handle it how you really prefer.

To Reproduce

Steps to reproduce the behavior:

  1. Host the KeePass DB on Google Drive, access it from a PC and an Android device running KeePassDX.
  2. Close the DB on the Android device
  3. Make a change on a PC and save/sync the changes.
  4. Open the DB on KeePass DX. It will likely use a cached version.
  5. Make a change in Keepass DX
  6. KeePass DX will override the DB, losing the change done previously on PC.

Expected behavior

The app should always sync the DB with one of these methods bases on the feasibility:

  • Always sync the DB before opening it
  • Before saving the DB, check for changes with the remote DB. This is the KeePass behaviour on desktop
    • Optionally provide a user choice to either sync or override changes.

KeePass Database

  • Created with: Windows KeePass a long, long time ago
  • Version: KeePass 2.57.1. DB v2 KBDX 4.1
  • Location: Google Drive, via the built-in system file manager
  • File provider (content:// URI): content://com.google.android.apps.docs.storage/documents/<encoded path>
  • Size: 723 Kb
  • Contains attachment: Not sure.

KeePassDX:

  • Version: 4.0.8
  • Build: Pro
  • Language: Italian

Android:

  • Device: OnePlus 8T
  • Version: Android 14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant