Skip to content

fix: Onboarding biometry#90

Open
lebojo wants to merge 4 commits intomainfrom
fix/onboarding-touch-id
Open

fix: Onboarding biometry#90
lebojo wants to merge 4 commits intomainfrom
fix/onboarding-touch-id

Conversation

@lebojo
Copy link
Copy Markdown
Member

@lebojo lebojo commented Apr 28, 2026

This fix the strings for biometry instead of faceID in the app

  • Add the touch ID illustration

Copilot AI review requested due to automatic review settings April 28, 2026 14:35
@lebojo lebojo self-assigned this Apr 28, 2026
@github-actions
Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Empty biometric name

Constants.biometryContext.localizedReason is used as the biometric name in user-facing strings, but LAContext.localizedReason defaults to an empty string unless explicitly set by the developer. This causes onboarding and settings text such as "Do you want to enable %@?" to render with a missing noun. The biometric name should be derived from biometryType and mapped to properly localized strings rather than relying on localizedReason.

bottomView: OnboardingTextBottomView(
    title: AuthenticatorResourcesStrings.onBoardingSecureIdTitle(Constants.biometryContext.localizedReason),
    description: AuthenticatorResourcesStrings.onBoardingSecureIdDescription(Constants.biometryContext.localizedReason)
)

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates onboarding/settings copy to support both Face ID and Touch ID (biometry) via format placeholders, and adds a Touch ID illustration asset.

Changes:

  • Replaced Face ID–specific localization keys with biometry-based keys using %@ placeholders across supported locales.
  • Added Touch ID illustration assets (light/dark SVG) to the asset catalog.
  • Updated onboarding and settings UI to choose the appropriate biometry slide/label.

Reviewed changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
AuthenticatorResources/Localizable/sv.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/pt.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/pl.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/nl.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/nb.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/it.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/fr.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/fi.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/es.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/en.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/el.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/de.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Localizable/da.lproj/Localizable.strings Replace Face ID onboarding/unlock strings with biometry placeholder keys
AuthenticatorResources/Images.xcassets/Illustrations/touch-id.imageset/touch-id-light.svg Add Touch ID light SVG illustration
AuthenticatorResources/Images.xcassets/Illustrations/touch-id.imageset/touch-id-dark.svg Add Touch ID dark SVG illustration
AuthenticatorResources/Images.xcassets/Illustrations/touch-id.imageset/Contents.json Register Touch ID SVGs in the asset catalog
AuthenticatorFeatures/SettingsView/ToggleAppLockSettingsView.swift Update app-lock toggle label to use biometry placeholder formatting
AuthenticatorFeatures/OnboardingView/OnboardingTextBottomView.swift Make init(title:description:) accessible for formatted strings
AuthenticatorFeatures/OnboardingView/OnboardingSlides.swift Select Face ID vs Touch ID slide and use formatted biometry strings
AuthenticatorCore/Constants.swift Add a helper LAContext factory for determining biometry type

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread AuthenticatorFeatures/OnboardingView/OnboardingSlides.swift
Comment thread AuthenticatorCore/Constants.swift
Comment thread AuthenticatorResources/Localizable/el.lproj/Localizable.strings Outdated
Comment thread AuthenticatorResources/Localizable/it.lproj/Localizable.strings Outdated
Comment thread AuthenticatorFeatures/SettingsView/ToggleAppLockSettingsView.swift
Comment thread AuthenticatorFeatures/SettingsView/ToggleAppLockSettingsView.swift Outdated
Comment thread AuthenticatorFeatures/OnboardingView/OnboardingSlides.swift
Comment thread AuthenticatorFeatures/OnboardingView/OnboardingSlides.swift
Comment thread AuthenticatorFeatures/SettingsView/ToggleAppLockSettingsView.swift Outdated
@github-actions
Copy link
Copy Markdown

Failed to generate code suggestions for PR

@lebojo lebojo force-pushed the fix/onboarding-touch-id branch 3 times, most recently from f365d2b to 3e6365c Compare April 29, 2026 07:34
@github-actions
Copy link
Copy Markdown

Failed to generate code suggestions for PR

return .onboardingSuccessSlide
case .biometry:
return .onboardingFaceIdSlide
return Constants.biometryContext.biometryType == .faceID ? .onboardingFaceIdSlide : .onboardingTouchIdSlide
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should handle the case where it's neither Face ID nor Touch ID

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it will display the Touch ID icon, but the sentence will be correct.

I thought the Touch ID icon was somewhat universal for "biometry" stuff.

@lebojo lebojo force-pushed the fix/onboarding-touch-id branch from 3e6365c to a7f990e Compare May 5, 2026 07:01
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 5, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants