Skip to content

Conversation

@pathoam
Copy link
Contributor

@pathoam pathoam commented Oct 10, 2025

This changeset verifies that the current environment can support basic functionality required to use the app properly and prevents users from creating an account on non-functional devices. In order to trigger the check, there is an env variable that can be set to always check, check high risk, or never. The high risk heuristic is based on devices that ship or previously did without robust built in passkey support, including chinese oems as well as the presence of google services on android and browser based check for passkey support on web. If the heuristic is triggered, or if the env var is set to always, it forces the user to immediately sign a dummy message with the new passkey to validate that it works before they can continue to the main app.

  • add passkeyDiagnostic helper (packages/app/utils/passkeyDiagnostic.ts) plus tests/docs. It caches Google Mobile Services availability on native, probes UVPAA on web, and normalizes error
    messaging/toasts.
  • update shared utilities: useCreateSendAccount caches the initial passkey credential and exposes diagnostic callbacks; useUser uses .maybeSingle() to stop 406 spam; fix checkbox prop
    destructuring.
  • wire the diagnostic flow into onboarding and sign-up screens with identical UX—status indicator, single toast, bright retry button, and suppression of “User clicked reject” overlays.

@pathoam pathoam requested a review from 0xBigBoss as a code owner October 10, 2025 18:14
@pathoam pathoam force-pushed the passkey-diagnostics branch 2 times, most recently from c33b383 to 9a8efca Compare October 10, 2025 23:32
Copy link
Collaborator

@youngkidwarrior youngkidwarrior left a comment

Choose a reason for hiding this comment

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

This looks good. A couple of NITs, but overall solid. Add those details about the risky vendors then go ahead and merge. Fix the NITs if you feel like it. Might save some headaches in the future

Copy link
Collaborator

youngkidwarrior commented Oct 12, 2025

Copy link
Collaborator

@youngkidwarrior youngkidwarrior left a comment

Choose a reason for hiding this comment

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

forgot. please update to use the expo devices package

@github-actions
Copy link

Vercel Unique URL: https://sendapp-3820yat7l-0xsend.vercel.app
Vercel Preview URL: sendapp-passkey-diagnostics-0xsend.vercel.app
Last Commit: e7a61d7

@pathoam pathoam merged commit fa7de71 into dev Oct 15, 2025
13 checks passed
@pathoam pathoam deleted the passkey-diagnostics branch October 15, 2025 04:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants