fix: Prompt for biometric access on iOS during wallet creation - cp-7.65.0#26002
fix: Prompt for biometric access on iOS during wallet creation - cp-7.65.0#26002
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
|
We also need similar hotfix for import SRP wallet |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #26002 +/- ##
==========================================
+ Coverage 80.70% 81.12% +0.42%
==========================================
Files 4361 4387 +26
Lines 113120 113337 +217
Branches 24093 24339 +246
==========================================
+ Hits 91296 91950 +654
+ Misses 15476 15007 -469
- Partials 6348 6380 +32 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Key changes:
Affected UI components:
Selected tags rationale:
The changes are high risk because they modify the core authentication layer that handles password storage and biometric authentication for all wallet creation and import operations. Performance Test Selection: |
|
|
Missing release label release-7.66.0 on PR. Adding release label release-7.66.0 on PR and removing other release labels(release-7.67.0), as PR was cherry-picked in branch 7.66.0. |



Description
This PR addresses a regression on 7.65.0 where biometrics access is no longer prompted on wallet creation for iOS. The change here adds that back, which should result in a more intuitive user experience + makes it consistent with Android. This is an improvement relative to the code that was removed in #24496 since we're now detecting the auth type prior to the password being stored rather than triggering two storage actions.
Changelog
CHANGELOG entry:
Related issues
Fixes: #25998
Manual testing steps
Allowing biometrics
Rejecting biometrics
Screenshots/Recordings
Before
After
Allowing biometrics
https://github.com/user-attachments/assets/9a05e870-b1fe-465e-ba8c-6b565198ed9e
Rejecting biometrics
https://github.com/user-attachments/assets/9ce0be47-2aaf-4ce3-bf6e-c0386559546c
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Touches authentication method selection and keychain password storage/fallback paths used during onboarding/import/reset, so mistakes could impact how users are prompted and how unlock methods are persisted; changes are well-covered by updated tests but span multiple critical flows.
Overview
Restores an explicit iOS biometric prompt during wallet creation/import by introducing
Authentication.requestBiometricsAccessControlForIOSand invoking it fromChoosePasswordandImportFromSecretRecoveryPhrase, falling back toPASSWORDwhen the user declines/cancels.Refactors password persistence by removing
updateAuthTypeStorageFlagsandstorePasswordWithFallback, makingAuthentication.storePasswordpublic and adding an optional fallback-to-password retry used bynewWalletAndKeychain/newWalletAndRestore/Reset Password. Updates OAuth rehydration and reset-password flows/tests accordingly, and adds/adjusts unit tests to cover iOS decline/success and fallback behavior.Written by Cursor Bugbot for commit 5639099. This will update automatically on new commits. Configure here.