@switchlabs/verify-ai-react-native 2.4.16 → 2.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -340,6 +340,16 @@ export function VerifyAIScanner({ onCapture, policy, onResult, onError, onClose,
340
340
  }
341
341
  catch (err) {
342
342
  const error = normalizeScannerError(err);
343
+ const message = error.message || '';
344
+ const isMissingModule = error.code === 'MODULE_NOT_FOUND' ||
345
+ /cannot find module/i.test(message) ||
346
+ /unable to resolve module/i.test(message) ||
347
+ /requireNativeModule/i.test(message);
348
+ if (isMissingModule) {
349
+ // expo-sensors is an optional peer dep. Host apps that don't bundle it
350
+ // simply lose Android orientation tracking — that's expected, not a failure.
351
+ return;
352
+ }
343
353
  lastAndroidOrientationErrorAtRef.current = new Date().toISOString();
344
354
  lastAndroidOrientationErrorRef.current = error.message;
345
355
  trackAndroidOrientationEvent('camera_android_accelerometer_start_failure', error);
@@ -348,7 +358,7 @@ export function VerifyAIScanner({ onCapture, policy, onResult, onError, onClose,
348
358
  if (cancelled)
349
359
  return;
350
360
  if (!Accelerometer) {
351
- trackAndroidOrientationEvent('camera_android_accelerometer_start_failure', 'expo-sensors Accelerometer is unavailable');
361
+ // Module loaded but no Accelerometer export — same expected-absence case.
352
362
  return;
353
363
  }
354
364
  const startedAt = new Date().toISOString();
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "2.4.16";
1
+ export declare const SDK_VERSION = "2.4.17";
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export const SDK_VERSION = '2.4.16';
1
+ export const SDK_VERSION = '2.4.17';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@switchlabs/verify-ai-react-native",
3
- "version": "2.4.16",
3
+ "version": "2.4.17",
4
4
  "description": "React Native SDK for Verify AI - photo verification with AI vision processing",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -460,6 +460,17 @@ export function VerifyAIScanner({
460
460
  Accelerometer = mod?.Accelerometer ?? null;
461
461
  } catch (err) {
462
462
  const error = normalizeScannerError(err);
463
+ const message = error.message || '';
464
+ const isMissingModule =
465
+ (error as { code?: string }).code === 'MODULE_NOT_FOUND' ||
466
+ /cannot find module/i.test(message) ||
467
+ /unable to resolve module/i.test(message) ||
468
+ /requireNativeModule/i.test(message);
469
+ if (isMissingModule) {
470
+ // expo-sensors is an optional peer dep. Host apps that don't bundle it
471
+ // simply lose Android orientation tracking — that's expected, not a failure.
472
+ return;
473
+ }
463
474
  lastAndroidOrientationErrorAtRef.current = new Date().toISOString();
464
475
  lastAndroidOrientationErrorRef.current = error.message;
465
476
  trackAndroidOrientationEvent('camera_android_accelerometer_start_failure', error);
@@ -467,10 +478,7 @@ export function VerifyAIScanner({
467
478
  }
468
479
  if (cancelled) return;
469
480
  if (!Accelerometer) {
470
- trackAndroidOrientationEvent(
471
- 'camera_android_accelerometer_start_failure',
472
- 'expo-sensors Accelerometer is unavailable',
473
- );
481
+ // Module loaded but no Accelerometer export — same expected-absence case.
474
482
  return;
475
483
  }
476
484
 
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const SDK_VERSION = '2.4.16';
1
+ export const SDK_VERSION = '2.4.17';