@switchlabs/verify-ai-react-native 2.3.0 → 2.3.2

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.
@@ -313,7 +313,7 @@ export class VerifyAIRequestError extends Error {
313
313
  return this.status >= 500;
314
314
  }
315
315
  get isRetryable() {
316
- return this.status === 408 || this.status === 429 || this.status >= 500;
316
+ return this.status === 0 || this.status === 408 || this.status === 429 || this.status >= 500;
317
317
  }
318
318
  get upgradeUrl() {
319
319
  return this.body.upgrade_url;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Built-in bike silhouette overlay for the scanner guide frame.
3
+ *
4
+ * Renders a white bike silhouette from an embedded PNG asset.
5
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
10
+ * ```
11
+ */
12
+ export declare function BikeOverlay(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Image } from 'react-native';
3
+ import { BIKE_PNG_BASE64 } from './overlayAssets';
4
+ /**
5
+ * Built-in bike silhouette overlay for the scanner guide frame.
6
+ *
7
+ * Renders a white bike silhouette from an embedded PNG asset.
8
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
13
+ * ```
14
+ */
15
+ export function BikeOverlay() {
16
+ return (_jsx(Image, { source: { uri: `data:image/png;base64,${BIKE_PNG_BASE64}` }, style: { width: '100%', height: '100%' }, resizeMode: "contain" }));
17
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Built-in scooter silhouette overlay for the scanner guide frame.
3
+ *
4
+ * Renders a white scooter silhouette from an embedded PNG asset.
5
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
10
+ * ```
11
+ */
12
+ export declare function ScooterOverlay(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Image } from 'react-native';
3
+ import { SCOOTER_PNG_BASE64 } from './overlayAssets';
4
+ /**
5
+ * Built-in scooter silhouette overlay for the scanner guide frame.
6
+ *
7
+ * Renders a white scooter silhouette from an embedded PNG asset.
8
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
13
+ * ```
14
+ */
15
+ export function ScooterOverlay() {
16
+ return (_jsx(Image, { source: { uri: `data:image/png;base64,${SCOOTER_PNG_BASE64}` }, style: { width: '100%', height: '100%' }, resizeMode: "contain" }));
17
+ }
@@ -85,6 +85,7 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
85
85
  const [exhausted, setExhausted] = useState(false);
86
86
  const [terminated, setTerminated] = useState(false);
87
87
  const [cameraReady, setCameraReady] = useState(false);
88
+ const [cameraKey, setCameraKey] = useState(0);
88
89
  const cameraReadyRef = useRef(false);
89
90
  const cameraInitFailedRef = useRef(false);
90
91
  const permissionDeniedTrackedRef = useRef(false);
@@ -118,7 +119,10 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
118
119
  error,
119
120
  });
120
121
  }, [onError, telemetry]);
121
- // Startup watchdog — if camera hasn't fired onCameraReady within 5s, report timeout
122
+ // Startup watchdog — if camera hasn't fired onCameraReady within 3s, force remount.
123
+ // On iOS the native AVCaptureSession sometimes fails to start its preview layer on first
124
+ // mount (e.g. during navigation transitions). Changing the key forces React to destroy and
125
+ // recreate the CameraView, which starts a fresh native session.
122
126
  useEffect(() => {
123
127
  if (!permission?.granted || terminated)
124
128
  return;
@@ -126,12 +130,16 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
126
130
  if (!cameraReadyRef.current && !cameraInitFailedRef.current) {
127
131
  telemetry?.track('camera_preview_timeout', {
128
132
  component: 'scanner',
129
- error: 'Camera did not initialize within 5 seconds',
133
+ error: 'Camera did not initialize within 3 seconds — remounting',
130
134
  });
135
+ // Reset state and bump key to force a fresh CameraView mount
136
+ setCameraReady(false);
137
+ cameraReadyRef.current = false;
138
+ setCameraKey((k) => k + 1);
131
139
  }
132
- }, 5000);
140
+ }, 3000);
133
141
  return () => clearTimeout(timer);
134
- }, [permission?.granted, terminated, telemetry]);
142
+ }, [permission?.granted, terminated, cameraKey, telemetry]);
135
143
  // Track permission denied
136
144
  useEffect(() => {
137
145
  if (permission &&
@@ -355,7 +363,7 @@ export function VerifyAIScanner({ onCapture, onResult, onError, overlay, style,
355
363
  styles.captureButton,
356
364
  (!cameraReady || status === 'capturing' || status === 'processing') &&
357
365
  styles.captureButtonDisabled,
358
- ], onPress: handleCapture, disabled: !cameraReady || status === 'capturing' || status === 'processing', activeOpacity: 0.7, children: _jsx(View, { style: styles.captureButtonInner }) }) }))] }))] })] }) }) }));
366
+ ], onPress: handleCapture, disabled: !cameraReady || status === 'capturing' || status === 'processing', activeOpacity: 0.7, children: _jsx(View, { style: styles.captureButtonInner }) }) }))] }))] })] }) }, cameraKey) }));
359
367
  }
360
368
  const CORNER_SIZE = 30;
361
369
  const CORNER_THICKNESS = 3;
@@ -0,0 +1,4 @@
1
+ /** Base64-encoded scooter silhouette PNG. */
2
+ export declare const SCOOTER_PNG_BASE64 = "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";
3
+ /** Base64-encoded bike silhouette PNG. */
4
+ export declare const BIKE_PNG_BASE64 = "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";
@@ -0,0 +1,6 @@
1
+ // Auto-generated — do not edit manually.
2
+ // White silhouette PNGs (800×800, RGBA) encoded as base64.
3
+ /** Base64-encoded scooter silhouette PNG. */
4
+ export const SCOOTER_PNG_BASE64 = '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';
5
+ /** Base64-encoded bike silhouette PNG. */
6
+ export const BIKE_PNG_BASE64 = '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';
package/lib/scanner.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export { VerifyAIScanner } from './components/VerifyAIScanner';
2
2
  export type { VerifyAIScannerProps } from './components/VerifyAIScanner';
3
+ export { BikeOverlay } from './components/BikeOverlay';
4
+ export { ScooterOverlay } from './components/ScooterOverlay';
package/lib/scanner.js CHANGED
@@ -1 +1,3 @@
1
1
  export { VerifyAIScanner } from './components/VerifyAIScanner';
2
+ export { BikeOverlay } from './components/BikeOverlay';
3
+ export { ScooterOverlay } from './components/ScooterOverlay';
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "2.3.0";
1
+ export declare const SDK_VERSION = "2.3.2";
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export const SDK_VERSION = '2.3.0';
1
+ export const SDK_VERSION = '2.3.2';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@switchlabs/verify-ai-react-native",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
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",
@@ -388,7 +388,7 @@ export class VerifyAIRequestError extends Error {
388
388
  }
389
389
 
390
390
  get isRetryable(): boolean {
391
- return this.status === 408 || this.status === 429 || this.status >= 500;
391
+ return this.status === 0 || this.status === 408 || this.status === 429 || this.status >= 500;
392
392
  }
393
393
 
394
394
  get upgradeUrl(): string | undefined {
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Image } from 'react-native';
3
+ import { BIKE_PNG_BASE64 } from './overlayAssets';
4
+
5
+ /**
6
+ * Built-in bike silhouette overlay for the scanner guide frame.
7
+ *
8
+ * Renders a white bike silhouette from an embedded PNG asset.
9
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * overlay={{ guideOverlayContent: <BikeOverlay />, guideOverlayOpacity: 0.3 }}
14
+ * ```
15
+ */
16
+ export function BikeOverlay() {
17
+ return (
18
+ <Image
19
+ source={{ uri: `data:image/png;base64,${BIKE_PNG_BASE64}` }}
20
+ style={{ width: '100%', height: '100%' }}
21
+ resizeMode="contain"
22
+ />
23
+ );
24
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Image } from 'react-native';
3
+ import { SCOOTER_PNG_BASE64 } from './overlayAssets';
4
+
5
+ /**
6
+ * Built-in scooter silhouette overlay for the scanner guide frame.
7
+ *
8
+ * Renders a white scooter silhouette from an embedded PNG asset.
9
+ * Pass as `guideOverlayContent` in `ScannerOverlayConfig`.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * overlay={{ guideOverlayContent: <ScooterOverlay />, guideOverlayOpacity: 0.3 }}
14
+ * ```
15
+ */
16
+ export function ScooterOverlay() {
17
+ return (
18
+ <Image
19
+ source={{ uri: `data:image/png;base64,${SCOOTER_PNG_BASE64}` }}
20
+ style={{ width: '100%', height: '100%' }}
21
+ resizeMode="contain"
22
+ />
23
+ );
24
+ }
@@ -147,6 +147,7 @@ export function VerifyAIScanner({
147
147
  const [exhausted, setExhausted] = useState(false);
148
148
  const [terminated, setTerminated] = useState(false);
149
149
  const [cameraReady, setCameraReady] = useState(false);
150
+ const [cameraKey, setCameraKey] = useState(0);
150
151
  const cameraReadyRef = useRef(false);
151
152
  const cameraInitFailedRef = useRef(false);
152
153
  const permissionDeniedTrackedRef = useRef(false);
@@ -185,7 +186,10 @@ export function VerifyAIScanner({
185
186
  });
186
187
  }, [onError, telemetry]);
187
188
 
188
- // Startup watchdog — if camera hasn't fired onCameraReady within 5s, report timeout
189
+ // Startup watchdog — if camera hasn't fired onCameraReady within 3s, force remount.
190
+ // On iOS the native AVCaptureSession sometimes fails to start its preview layer on first
191
+ // mount (e.g. during navigation transitions). Changing the key forces React to destroy and
192
+ // recreate the CameraView, which starts a fresh native session.
189
193
  useEffect(() => {
190
194
  if (!permission?.granted || terminated) return;
191
195
 
@@ -193,13 +197,17 @@ export function VerifyAIScanner({
193
197
  if (!cameraReadyRef.current && !cameraInitFailedRef.current) {
194
198
  telemetry?.track('camera_preview_timeout', {
195
199
  component: 'scanner',
196
- error: 'Camera did not initialize within 5 seconds',
200
+ error: 'Camera did not initialize within 3 seconds — remounting',
197
201
  });
202
+ // Reset state and bump key to force a fresh CameraView mount
203
+ setCameraReady(false);
204
+ cameraReadyRef.current = false;
205
+ setCameraKey((k) => k + 1);
198
206
  }
199
- }, 5000);
207
+ }, 3000);
200
208
 
201
209
  return () => clearTimeout(timer);
202
- }, [permission?.granted, terminated, telemetry]);
210
+ }, [permission?.granted, terminated, cameraKey, telemetry]);
203
211
 
204
212
  // Track permission denied
205
213
  useEffect(() => {
@@ -419,7 +427,7 @@ export function VerifyAIScanner({
419
427
 
420
428
  return (
421
429
  <View style={[styles.container, style]}>
422
- <CameraView ref={cameraRef} style={styles.camera} facing="back" enableTorch={!terminated && enableTorch} onCameraReady={onCameraReady} onMountError={onMountError}>
430
+ <CameraView key={cameraKey} ref={cameraRef} style={styles.camera} facing="back" enableTorch={!terminated && enableTorch} onCameraReady={onCameraReady} onMountError={onMountError}>
423
431
  {/* Overlay */}
424
432
  <View style={styles.overlay}>
425
433
  {overlay?.title && (
@@ -0,0 +1,8 @@
1
+ // Auto-generated — do not edit manually.
2
+ // White silhouette PNGs (800×800, RGBA) encoded as base64.
3
+
4
+ /** Base64-encoded scooter silhouette PNG. */
5
+ export const SCOOTER_PNG_BASE64 = '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';
6
+
7
+ /** Base64-encoded bike silhouette PNG. */
8
+ export const BIKE_PNG_BASE64 = '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';
package/src/scanner.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export { VerifyAIScanner } from './components/VerifyAIScanner';
2
2
  export type { VerifyAIScannerProps } from './components/VerifyAIScanner';
3
+ export { BikeOverlay } from './components/BikeOverlay';
4
+ export { ScooterOverlay } from './components/ScooterOverlay';
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const SDK_VERSION = '2.3.0';
1
+ export const SDK_VERSION = '2.3.2';