Clarify logic, add comment

This commit is contained in:
Eric Bailey
2026-07-02 09:59:58 -05:00
parent 0d22614904
commit 590281f44f
2 changed files with 10 additions and 2 deletions
@@ -419,6 +419,11 @@ function AccessSection() {
}, [control, ax, hasInitiated])
const onPressVerify = useCallback(async () => {
const did = currentAccount?.did
// Just for typescript, this screen won't be shown without a logged in user
if (!did) return
/*
* In regions that permit on-device verification, try the native age API
* first. We tag the result with the current region (device assurance is
@@ -434,7 +439,6 @@ function AccessSection() {
* a session DID.
*/
if (allowsDeviceVerification) {
const did = currentAccount?.did
// Show a loading state while the OS age prompt is up.
setIsVerifyingDevice(true)
let signals: AgeRange.AgeRangeResponse | undefined
@@ -443,7 +447,7 @@ function AccessSection() {
} finally {
setIsVerifyingDevice(false)
}
if (signals && did) {
if (signals) {
const {assuredAge} = getAgeAssuranceDataFromDeviceSignals(
region,
signals,
+4
View File
@@ -501,6 +501,10 @@ export function createDeviceSignalsQueryKey({did}: {did: string}) {
*
* Native-only: on web `expo-age-range` returns a misleading default (e.g.
* `{lowerBound: 18}`), so we never call it there — web users fall back to KWS.
*
* If this method throws for whatever reason, we catch and log the error and
* return undefined. The caller should treat undefined as "no device signals
* available" and fall back to KWS.
*/
export async function getDeviceSignals(): Promise<
AgeRange.AgeRangeResponse | undefined