keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.89k stars 1.44k forks source link

Pin code popup hidden when wrong pin is typed #9785

Open rramillien opened 1 year ago

rramillien commented 1 year ago

Overview

When we open a new database, we type the database password and then a popup appears to type the PIN code. (I don't remember exactly, but I probably configured it to use a PIN code)

If we type the right PIN code (The windows one), everything works as expected. But if we make an error typing it, then the popup closes and the application do not respond.

In reality, the windows popup for PIN code is not closed but is behind the window of keepass. So, we think that the application is stuck, but it waits for the popup instead.

Steps to Reproduce

  1. Configure keepass to use a PIN code
  2. Close keepass (the whole application, not just the UI) and reopen it
  3. Type the password, the windows popup for PIN code appears.
  4. Type a wrong PIN code, the popup disappear (It is still here but behind keepass window)

Expected Behavior

On step 4. The windows popup stays in front on keepass window.

Actual Behavior

On step 4, the popup goes behind keepass window.

Context

On Windows Latest and previous version of keepass.

KeePassXC - 2.7.6 Revision: dd21def

Operating System: Windows 11

droidmonkey commented 1 year ago

I noticed this as well, disappointed in the terrible UX that windows has on this dialog.

JohnLGalt commented 1 year ago

Same behavior happens if you enter the database password and click anywhere in the KPXC UI while that Windows Hello dialog box is trying to load. It allows you to click OK, but acts like you entered the wrong PIN / key / face, and tries to reload - only it ends up behind the KPXC window at this point.

This is why I use dual monitors and move KPXC to the secondary monitor - because of this, which happens a lot, 2-3 times a week.

Even worse, even if you find it, you have to click OK 2-5 times , repeatedly, in order to get it to finally accept the PIN and enable quick unlock.

And it's even worse with face unlock.

droidmonkey commented 1 year ago

I have never experienced the behavior you describe @JohnLGalt. That sounds like a general failure of Windows Hello and not KeePassXC. You should try completely removing/disabling windows hello on your computer and then re-enrolling.

JohnLGalt commented 1 year ago

@droidmonkey It's not Windows Hello. I've clean installed Windows 11 at least 5 times since I started using KPXC, and since the time quick unlock was added, these 2 things happen repeatably. If I am careful enough to hit ENTER after typing my db pw and make sure I don't accidentally click on anything at all, Win Hello works fine. If I click somewhere in the interim, Windows Hello goes screwy as described above.

However, to the OPs problem, I've encountered that so much that I finally moved KPXC to a different monitor so the Hello dialog would not get hidden by KPXC.

I only mentioned the second issue because it is seemingly related to the first - typing in an incorrect PIN or not facing the camera for face unlock and it fails, and gets hidden. Accidentally typing in elsewhere / clicking elsewhere also fails, and Windows Hello refuses to acknowledge correct actions for multiple iterations, which means it is either hidden (as for the OP) or repeatedly bringing up the Hello authentication window when viewable (I have to keep clicking the OK button rapidly several times to get it to accept the results, and that usually leads to 2-3 iterations. f I click once, it comes back 4-5 times before accepting.

Hugo-Leung commented 1 year ago

I have a similar issue with unlocking KeepassXC with Windows Hello. In the 2.7.6, when I click reopen database on the browser plugin, the quick unlock is triggered automatically, but occasionally Windows Hello is hidden behind KeepassXC and/or other application.