[PR #3078] [PM-6685] Fix fingerprint verification on unlocked accounts because of race condition #4009

Closed
opened 2025-11-26 23:39:35 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/bitwarden/android/pull/3078

State: closed
Merged: Yes


Type of change

  • Bug fix
  • New feature development
  • Tech debt (refactoring, code cleanup, dependency upgrades, etc)
  • Build/deploy pipeline (DevOps)
  • Other

Objective

Fix fingerprint verification on unlocked accounts because of race condition

Code changes

  • CredentialProviderViewController.Passkeys: Added a hack here to wait until ViewDidAppear happens using the ConditionedAwaiterManager for OnNeedUITask callback of user verification in order to have the UI displayed before trying to perform the biometrics check. In order for this to happen I've added a toast to be shown which forces the UI to be presented, was the easiest way I could come up to actually show the UI and trigger ViewDidAppear.
  • Fido2UserVerificationOptions: Changed OnNeedUITask to be async.

Screenshots

https://github.com/bitwarden/mobile/assets/15682323/7df9dd22-98d0-4c90-833b-7c9ec11e497d

Before you submit

  • Please check for formatting errors (dotnet format --verify-no-changes) (required)
  • Please add unit tests where it makes sense to do so (encouraged but not required)
  • If this change requires a documentation update - notify the documentation team
  • If this change has particular deployment requirements - notify the DevOps team
**Original Pull Request:** https://github.com/bitwarden/android/pull/3078 **State:** closed **Merged:** Yes --- ## Type of change - [X] Bug fix - [ ] New feature development - [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc) - [ ] Build/deploy pipeline (DevOps) - [ ] Other ## Objective <!--Describe what the purpose of this PR is. For example: what bug you're fixing or what new feature you're adding--> Fix fingerprint verification on unlocked accounts because of race condition ## Code changes <!--Explain the changes you've made to each file or major component. This should help the reviewer understand your changes--> <!--Also refer to any related changes or PRs in other repositories--> * **CredentialProviderViewController.Passkeys:** Added a hack here to wait until `ViewDidAppear` happens using the `ConditionedAwaiterManager` for `OnNeedUITask` callback of user verification in order to have the UI displayed before trying to perform the biometrics check. In order for this to happen I've added a toast to be shown which forces the UI to be presented, was the easiest way I could come up to actually show the UI and trigger `ViewDidAppear`. * **Fido2UserVerificationOptions:** Changed `OnNeedUITask` to be async. ## Screenshots <!--Required for any UI changes. Delete if not applicable--> https://github.com/bitwarden/mobile/assets/15682323/7df9dd22-98d0-4c90-833b-7c9ec11e497d ## Before you submit - Please check for formatting errors (`dotnet format --verify-no-changes`) (required) - Please add **unit tests** where it makes sense to do so (encouraged but not required) - If this change requires a **documentation update** - notify the documentation team - If this change has particular **deployment requirements** - notify the DevOps team
GiteaMirror added the pull-request label 2025-11-26 23:39:35 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#4009