-
-
Notifications
You must be signed in to change notification settings - Fork 668
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
biometric prompt sometimes appears twice #2222
Comments
I cannot reproduce this issue, what do you have set for |
session timeout is set to 600 WhatsApp.Video.2022-02-01.at.3.46.47.PM.mp4 |
still cant reproduce when its set to Edit: I see now the prompt looks like that because of the screen recording on the prompt, I see similar behavior when I take a screenshot. |
it does show the text and takes half the screen, but the recorder for some reason blacks out the screen (only in the recording) I can't even take a screenshot when the prompt is shown to prove it to you - the os blocks it haha |
I've had this same issue for a while now. I can't remember since which version this has been going on, but from memory at least in December I have had this issue. (always up to date on the latest stable release of what is in the play store) I'm on a Galaxy S10 btw. |
Im glad I'm not alone on this! |
Pixel 6/Android 12L same issue. *version beta-2218-e4c069f7-full
|
Just wanted to check in and see if this is still an issue for those experiencing it on the latest app version. |
To be perfectly honest - I got used to it so much that I didn't notice if it was fixed or not :-) I just run a couple of checks and it seems to have been fixed, but I think that the behavior was sporadic to begin with. I will close the issue for now and report back if something changes. |
I've found that this occasionally stil occurs. So I would not call it 'fixed'. Though since the biometric bypass on home networks was implemented interaction with the biometric prompt was reduced a lot, which just makes it a lot less annoying. |
At this point the only thing I can think of is to add a log statement here to see if the double prompt is actually coming from us or not. If we only see 1 log line here then I would assume the bug is in the library or the device. |
Been experiencing the same issue here for awhile. On both my old S22+ and now on my Pixel 7 Pro. |
Is this still an issue on the latest version of the app? A lot of this was reworked due to multiserver support and dependency updates. |
Didn't noticed it for a long while now so I guess it is solved :-) |
Just wanted to mention that this seems to be happening again. |
Then it's not just me |
re-opening, can someone please get updated logs? I think we have had a bit of changes in this area since logs were last shown so would be good to see if anything changed. |
I managed to reproduce for logging purposes, but when attempting to export the log from the companion app I just get I recall both methods to have worked previously though... I'm on version Edit: |
hmm dont see anything helpful there, might need to add some more logging around when we show the dialog in the activity 🤔 |
You said that you managed to reproduce the issue - can you describe how you reproduced it? If it is relatively easy or there is a specific set of circumstances that create it, that might be enough information to fix it. |
Indeed. I had managed to reproduce it 3 times since yesterday. It's a finicky thing though as I'm trying again now and am unable to do so 🤔. But I believe the duplicate biometric prompt to be best reproducible after having fully closed the app (i.e. cold starting it). Then upon the first popup of the biometric prompt quickly validate it (before the UI is fully loaded). Then shortly after the UI is loaded a new biometric prompt may appear. This time without the blurring. Currently building a test app with additional logging on this branch: biometric_prompt_logging. To see if that could provide more insight. |
Even with additional logging there's hardly anything to go on.
Without being followed by anything related to the callback handling of |
So when you added logging here where we actually open the biometric prompt you only saw 1 log line to show the actual prompt? |
also I wonder if its a bug in the library that we may be hitting if we dont see our log lines show up twice as expected. Looking at the issue tracker my search doesnt show anything but there are quite a bit of bugs. Maybe if we dont see our own logging there could be logging from the library to show where it got called from again. https://issuetracker.google.com/issues?q=status:open%20componentid:559537 |
The logging for
I should look back in old logs if this |
Interesting then that means we are probably getting notified about multiple window focus changes which may be causing an edge case? android/app/src/main/java/io/homeassistant/companion/android/webview/WebViewActivity.kt Lines 1030 to 1033 in a9b7dfd
Maybe we need to add a check to see if the prompt is shown to prevent multiple calls from being sent? The only other location we call this method seems less likely to be the cause android/app/src/main/java/io/homeassistant/companion/android/webview/WebViewPresenterImpl.kt Lines 134 to 141 in a9b7dfd
|
From my previous testing it seems that the I'll add a check to see if an unlock is already in progress to the |
After some more tinkering and a whole lot of logs it turns out that while the biometric prompt is open (or perhaps when its closing after success) another window focus changed event can happen. Though in regular operation multiple I've added a flag to the WebviewActivity that indicates when there is a pending unlock happening which is checked before triggering the biometric prompt. After checking the logs after a day of testing, this looks like a working fix for this issue. I'll open up a clean PR after removing all the redundant test logging. |
app: 2023.10.2-full Behavior wasn't changed to me: if you didn’t hit the first biometrics appearing, you will have to wait for the second one. It happens only when I start the app first time. |
Home Assistant Android version:
beta-2000-2e0700f7-full
Android version:
11
Phone model:
OnePlus 8T
Home Assistant version:
core-2022.2.0b5
Last working Home Assistant release (if known):
unknown
Description of problem:
I have a fingerprint lock setting set. Occasionally (but noticeable) when I open the application, I get the blurred screen and the biometric prompt created at
android/app/src/main/java/io/homeassistant/companion/android/webview/WebViewActivity.kt
Line 877 in be3b414
After I perform a successful login with my fingerprint, the blur is disabled, and then the prompt appears again immediately (with the same title, which means it has to originate from the same line of code above). At this point, I can click outside of the prompt to make it go away, or I can authenticate again, in any case, I gain access to the app (as I mentioned, the blur is already gone)
**Traceback:**
Additional information:
I looked at the logs (See above traceback), and the strange thing is, that when it happens, and I use my fingerprint in the second appearance, the logline from
android/app/src/main/java/io/homeassistant/companion/android/webview/WebViewActivity.kt
Line 859 in be3b414
doesn't appear twice, which baffles me...
I tried to look online and I ran roughly through the code and I can't see how this scenario is even possible...
In the attached logs above, the first appearance of
Authentication successful, unlocking app
marks an authentication that didn't have the second appearance in it. The second appearance ofAuthentication successful, unlocking app
is the time I opened the app and the issue happened.Please ping me if you need any more information.
The text was updated successfully, but these errors were encountered: