PhilippC / keepass2android

Password manager app for Android
https://play.google.com/store/apps/details?id=keepass2android.keepass2android
GNU General Public License v3.0
4.7k stars 378 forks source link

Fingerprint authentication jumps after each new synchronization #594

Open LeonCame opened 5 years ago

LeonCame commented 5 years ago

Hello,

hi, i have disabled unnecessary caches for me, i just sync the bdd.kdbx via synchthing. (I use keepass 2.38 on PC). Unfortunately, randomly if the database has been modified (on PC) / and updated by synchthing, Keepass can no longer authenticate with the fingerprint reader.

I also observe synchronization conflicts reported by synchthing, whereas I never modify the BDD on Android. I edit only on PC. I would like Keepass2android to stop modifying my database while I only read, never write!

Android 7.0 (root).

Thank you for all you do !

PhilippC commented 5 years ago

Does the android path change after synchronization? (I.e. do you see many recent files in the recent files list when you click "Change database") Keepass2Android does not modify the file unless you make changes. I cannot explain the behavior your describe.

LeonCame commented 5 years ago

Hello, no the path never change. I synch the DB with 1 PC, 1 Tablet android 6 and 1 Phone Android 7.0 I just set "read only" in syncthing for mobile devices, which should make conflicts impossible now.

I'm waiting to see if the fingerprint problem comes up again, and if so I'll try to give more information and take pictures of the phone with the tablet (since the screen prints are disabled).

LeonCame commented 5 years ago

The problem reappeared quickly even without syncing. So I think the sync is for nothing.

01 02

Below the log 28102018 175502.txt

I also use EDS Full (sovworks) with fingerprint unlocking, never a problem. EDS files are in the same directory as Keepass files and are part of the same batch for sync.

syldub69 commented 5 years ago

Hi, I experienced the same things one week ago on my brand new Redmi Note 6 Pro / Android 8.1 / Keepass2Android Offline v1.05d. My database file location never changes locally (the synchronization overwrites the file). But the issue disappeared without changing any option in Keepass2Android... I don't know why. Now fingerprints stays OK even after the database cache is updated...

LeonCame commented 5 years ago

Another observation: if I stay in airplane mode (with the wifi enabled), and I validate the fingerprint, it works well as long as I stay in airplane mode. The problem reappears as soon as I turn on the gsm network but not immediately, the unlocking works a few times before jumping again.

LeonCame commented 5 years ago

I think that I found a palliative solution:

I just wait 5 to 8 seconds between the moment when the application has just opened and the finger on the fingerprint sensor and it seems that the problem is solved with this timing.

The problem may come from the fact that, all is not ready if I put the finger too quickly after opening the app ...

My database must currently weigh 1MB. My keyboard (swype which is perhaps a little heavy) must also open (depending on whether it is in memory or not). For the rest my smartphone is optimized and rather refined.

If I can afford a suggestion: the keyboard may not be called always by keepass, when opening and a fingerprint is filled.

A big thank you for your work!

PhilippC commented 5 years ago

can you please try to disable pre-loading of the database (in app settings/file handling)?

LeonCame commented 5 years ago

The pre-loading was already disabled. (box unchecked since long time). Thanks