@smileid/usesmileid 12.0.1 → 12.0.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.
Files changed (160) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -1
  3. package/dist/camera/camera_defaults.d.ts +2 -0
  4. package/dist/camera/camera_defaults.d.ts.map +1 -1
  5. package/dist/camera/camera_defaults.js +2 -0
  6. package/dist/camera/camera_defaults.js.map +1 -1
  7. package/dist/core/exception/flow_exceptions.d.ts +4 -2
  8. package/dist/core/exception/flow_exceptions.d.ts.map +1 -1
  9. package/dist/core/exception/flow_exceptions.js +3 -2
  10. package/dist/core/exception/flow_exceptions.js.map +1 -1
  11. package/dist/core/exception/missing_job_type_exception.d.ts +1 -3
  12. package/dist/core/exception/missing_job_type_exception.d.ts.map +1 -1
  13. package/dist/core/exception/missing_job_type_exception.js +2 -4
  14. package/dist/core/exception/missing_job_type_exception.js.map +1 -1
  15. package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -1
  16. package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
  17. package/dist/data/api/smile_id_api.d.ts +4 -0
  18. package/dist/data/api/smile_id_api.d.ts.map +1 -1
  19. package/dist/data/api/smile_id_api.js +30 -27
  20. package/dist/data/api/smile_id_api.js.map +1 -1
  21. package/dist/data/model/job_request.d.ts +28 -12
  22. package/dist/data/model/job_request.d.ts.map +1 -1
  23. package/dist/data/model/token_payload.d.ts +78 -0
  24. package/dist/data/model/token_payload.d.ts.map +1 -0
  25. package/dist/data/model/token_payload.js +132 -0
  26. package/dist/data/model/token_payload.js.map +1 -0
  27. package/dist/data/model/user_details_payload.d.ts +39 -0
  28. package/dist/data/model/user_details_payload.d.ts.map +1 -0
  29. package/dist/data/model/user_details_payload.js +53 -0
  30. package/dist/data/model/user_details_payload.js.map +1 -0
  31. package/dist/data/util/use_smile_id_token_decoder.d.ts +15 -3
  32. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
  33. package/dist/data/util/use_smile_id_token_decoder.js +20 -8
  34. package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
  35. package/dist/l10n/strings_en.d.ts +4 -1
  36. package/dist/l10n/strings_en.d.ts.map +1 -1
  37. package/dist/l10n/strings_en.js +4 -1
  38. package/dist/l10n/strings_en.js.map +1 -1
  39. package/dist/l10n/use_smile_id_localizations.d.ts +10 -0
  40. package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
  41. package/dist/l10n/use_smile_id_localizations.js +59 -3
  42. package/dist/l10n/use_smile_id_localizations.js.map +1 -1
  43. package/dist/metadata/metadata_configuration_mappers.js +1 -1
  44. package/dist/metadata/metadata_configuration_mappers.js.map +1 -1
  45. package/dist/metadata/use_smile_id_metadata_factory.js +1 -1
  46. package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
  47. package/dist/presentation/components/use_smile_id_button.d.ts.map +1 -1
  48. package/dist/presentation/components/use_smile_id_button.js +8 -2
  49. package/dist/presentation/components/use_smile_id_button.js.map +1 -1
  50. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +3 -6
  51. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
  52. package/dist/presentation/flow/dsl/builder/screens_builder.js +4 -6
  53. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
  54. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
  55. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +23 -1
  56. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
  57. package/dist/presentation/flow/flow_navigation_manager.d.ts +17 -2
  58. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
  59. package/dist/presentation/flow/flow_navigation_manager.js +77 -45
  60. package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
  61. package/dist/presentation/flow/screen/orchestrated_processing_screen.d.ts.map +1 -1
  62. package/dist/presentation/flow/screen/orchestrated_processing_screen.js +25 -5
  63. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
  64. package/dist/presentation/flow/use_smile_id_flow.d.ts.map +1 -1
  65. package/dist/presentation/flow/use_smile_id_flow.js +35 -8
  66. package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
  67. package/dist/presentation/flow/validation/flow_validator.d.ts +16 -2
  68. package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
  69. package/dist/presentation/flow/validation/flow_validator.js +19 -27
  70. package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
  71. package/dist/presentation/flow/validation/job_type_validator.d.ts +7 -0
  72. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
  73. package/dist/presentation/flow/validation/job_type_validator.js +52 -27
  74. package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
  75. package/dist/presentation/flow/validation/user_details_validator.d.ts +9 -0
  76. package/dist/presentation/flow/validation/user_details_validator.d.ts.map +1 -0
  77. package/dist/presentation/flow/validation/user_details_validator.js +40 -0
  78. package/dist/presentation/flow/validation/user_details_validator.js.map +1 -0
  79. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
  80. package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
  81. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
  82. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
  83. package/dist/presentation/screen/use_smile_id_capture_screen.js +64 -18
  84. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
  85. package/package.json +3 -3
  86. package/src/__tests__/react_native_mock.tsx +22 -0
  87. package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +14 -8
  88. package/src/camera/__tests__/camera_permissions.test.ts +72 -0
  89. package/src/camera/__tests__/camera_system_focus.test.ts +173 -0
  90. package/src/camera/__tests__/use_smile_id_camera_preview.test.tsx +461 -0
  91. package/src/camera/__tests__/use_smile_id_frame_stream_hook.test.tsx +229 -0
  92. package/src/camera/camera_defaults.ts +3 -0
  93. package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +14 -0
  94. package/src/core/exception/flow_exceptions.test.ts +10 -0
  95. package/src/core/exception/flow_exceptions.ts +3 -2
  96. package/src/core/exception/missing_job_type_exception.ts +2 -4
  97. package/src/data/api/__tests__/smile_id_api.test.ts +275 -1
  98. package/src/data/api/interceptors/__tests__/credential_header_redaction.test.ts +144 -0
  99. package/src/data/api/interceptors/smile_auth_interceptor.ts +1 -1
  100. package/src/data/api/smile_id_api.ts +36 -49
  101. package/src/data/dsl/__tests__/use_smile_id_network_builder.test.ts +157 -0
  102. package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
  103. package/src/data/model/__tests__/token_payload.test.ts +224 -0
  104. package/src/data/model/__tests__/user_details_payload.test.ts +100 -0
  105. package/src/data/model/job_request.ts +27 -12
  106. package/src/data/model/token_payload.ts +182 -0
  107. package/src/data/model/user_details_payload.ts +84 -0
  108. package/src/data/repository/__tests__/network_retries.test.ts +1 -1
  109. package/src/data/repository/__tests__/repository_dispatch.test.ts +366 -0
  110. package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
  111. package/src/data/security/__tests__/signing_crypto.test.ts +203 -0
  112. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +179 -0
  113. package/src/data/util/use_smile_id_token_decoder.ts +29 -8
  114. package/src/l10n/__tests__/use_smile_id_localizations.test.ts +122 -5
  115. package/src/l10n/__tests__/use_smile_id_localizations_provider.test.tsx +112 -0
  116. package/src/l10n/__tests__/use_smile_id_localizations_surface.test.ts +231 -0
  117. package/src/l10n/strings_en.ts +5 -1
  118. package/src/l10n/use_smile_id_localizations.ts +80 -3
  119. package/src/metadata/__tests__/device_orientation_sampling.test.ts +165 -0
  120. package/src/metadata/__tests__/geolocation.test.ts +150 -0
  121. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +1 -1
  122. package/src/metadata/__tests__/metadata_device_context.test.ts +3 -3
  123. package/src/metadata/__tests__/metadata_golden_fixture.json +1 -1
  124. package/src/metadata/__tests__/metadata_payload_golden.test.ts +4 -4
  125. package/src/metadata/__tests__/optional_native_modules.test.ts +234 -0
  126. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +1 -1
  127. package/src/metadata/__tests__/use_smile_id_metadata_factory.test.ts +615 -0
  128. package/src/metadata/metadata_configuration_mappers.ts +1 -1
  129. package/src/metadata/use_smile_id_metadata_factory.ts +1 -1
  130. package/src/presentation/components/__tests__/use_smile_id_content_card.test.tsx +112 -0
  131. package/src/presentation/components/__tests__/use_smile_id_face_oval_image.test.tsx +190 -0
  132. package/src/presentation/components/__tests__/use_smile_id_learn_more_content.test.tsx +159 -0
  133. package/src/presentation/components/__tests__/use_smile_id_processing_center_indicator.test.tsx +88 -0
  134. package/src/presentation/components/use_smile_id_button.tsx +7 -2
  135. package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +323 -1
  136. package/src/presentation/flow/__tests__/use_smile_id_flow.test.tsx +651 -0
  137. package/src/presentation/flow/dsl/__tests__/use_smile_id_builder_component.test.tsx +120 -0
  138. package/src/presentation/flow/dsl/builder/screens_builder.ts +4 -6
  139. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +27 -1
  140. package/src/presentation/flow/flow_navigation_manager.ts +102 -92
  141. package/src/presentation/flow/graph/__tests__/screen_renderer.test.tsx +102 -0
  142. package/src/presentation/flow/screen/__tests__/orchestrated_capture_screen.test.tsx +836 -0
  143. package/src/presentation/flow/screen/__tests__/orchestrated_consent_screen.test.tsx +165 -0
  144. package/src/presentation/flow/screen/__tests__/orchestrated_instructions_screen.test.tsx +163 -0
  145. package/src/presentation/flow/screen/__tests__/orchestrated_preview_screen.test.tsx +224 -0
  146. package/src/presentation/flow/screen/__tests__/orchestrated_processing_screen.test.tsx +338 -0
  147. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +42 -5
  148. package/src/presentation/flow/use_smile_id_flow.tsx +52 -8
  149. package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +158 -0
  150. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +200 -0
  151. package/src/presentation/flow/validation/flow_validator.ts +30 -31
  152. package/src/presentation/flow/validation/job_type_validator.ts +73 -39
  153. package/src/presentation/flow/validation/user_details_validator.ts +53 -0
  154. package/src/presentation/screen/__tests__/feedback_copy_table.test.ts +145 -0
  155. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +348 -0
  156. package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +3 -1
  157. package/src/presentation/screen/__tests__/use_smile_id_permission_screen.test.tsx +68 -0
  158. package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
  159. package/src/presentation/screen/use_smile_id_capture_screen.tsx +69 -18
  160. package/src/presentation/theme/__tests__/use_use_smile_id_fonts.test.tsx +166 -0
@@ -92,6 +92,8 @@ export function UseSmileIDCaptureScreen(props) {
92
92
  // branch idempotent without latching the one-shot delivery gate.
93
93
  const [captureTimedOut, setCaptureTimedOut] = useState(false);
94
94
  const timedOutRef = useRef(false);
95
+ // Set when streaming produced no analyzed frame at all, which the analyzer's own timeout cannot report.
96
+ const [captureStalled, setCaptureStalled] = useState(false);
95
97
  // True while a manual/gallery delivery is in flight — disables the controls.
96
98
  const [deliveringDocument, setDeliveringDocument] = useState(false);
97
99
  // Transient gallery-import error; overrides the live chip, self-clears so the user can re-pick.
@@ -138,8 +140,30 @@ export function UseSmileIDCaptureScreen(props) {
138
140
  setSessionEpoch((epoch) => epoch + 1);
139
141
  // A new session must not compare against the old session's last state.
140
142
  previousScanStateRef.current = null;
141
- setStreaming(true);
142
- }, [streaming, onStartCapture]);
143
+ // Clear the terminal latches so a retry after a timeout or a stall is a fresh session.
144
+ const wasTerminal = timedOutRef.current;
145
+ timedOutRef.current = false;
146
+ setCaptureTimedOut(false);
147
+ setCaptureStalled(false);
148
+ setScanState({ type: UseSmileIDScanStateType.Initial });
149
+ setHasAnalyzedFrame(false);
150
+ // Frames banked before the abandoned session must not pad this one.
151
+ capturedEventsRef.current = [];
152
+ if (wasTerminal) {
153
+ // A timed-out native session is terminal — stream only after it resets,
154
+ // or the first retry frame re-reports Timeout and re-latches the error.
155
+ void props.analyzer
156
+ .reset()
157
+ .catch((error) => UseSmileIDCrashReporting.captureException(error))
158
+ .finally(() => {
159
+ if (!completedRef.current)
160
+ setStreaming(true);
161
+ });
162
+ }
163
+ else {
164
+ setStreaming(true);
165
+ }
166
+ }, [streaming, onStartCapture, props.analyzer]);
143
167
  const analyzer = props.analyzer;
144
168
  const onCaptureComplete = props.onCaptureComplete;
145
169
  const onDocumentOrigin = props.onDocumentOrigin;
@@ -352,7 +376,8 @@ export function UseSmileIDCaptureScreen(props) {
352
376
  // Terminal states: finished → flush + complete; timeout → failure
353
377
  // without flushing (no captured artifacts to wait on).
354
378
  if (result.state.type === UseSmileIDScanStateType.Finished) {
355
- if (completedRef.current)
379
+ // `timedOutRef` too: stopping the stream is async, so a frame queued before the timeout can still land here.
380
+ if (completedRef.current || timedOutRef.current)
356
381
  return;
357
382
  completedRef.current = true;
358
383
  setStreaming(false);
@@ -374,16 +399,9 @@ export function UseSmileIDCaptureScreen(props) {
374
399
  if (completedRef.current || timedOutRef.current)
375
400
  return;
376
401
  setStreaming(false);
377
- if (isDocumentCapture) {
378
- // Document capture has no Start button, so a timeout must leave a way
379
- // forward: reveal the manual shutter and keep the delivery gate open
380
- // so the tap can still produce a capture.
381
- timedOutRef.current = true;
382
- setCaptureTimedOut(true);
383
- }
384
- else {
385
- completedRef.current = true;
386
- }
402
+ // The terminal state rides on `timedOutRef`, not the one-shot delivery gate, so the shutter and Start button stay usable.
403
+ timedOutRef.current = true;
404
+ setCaptureTimedOut(true);
387
405
  onCaptureTimeout?.(result.state);
388
406
  }
389
407
  }, {
@@ -399,10 +417,35 @@ export function UseSmileIDCaptureScreen(props) {
399
417
  // Only the guidance copy is debounced; rim, fill, and direction stay real-time.
400
418
  const settledFeedbackKey = useDebouncedFeedbackKey(uiState.feedbackKey, sessionEpoch);
401
419
  const isInstructionState = scanState.type === UseSmileIDScanStateType.Initial && !streaming;
420
+ // A selfie timeout leaves `scanState` on Timeout, so the instruction predicate alone would hide the only way to retry.
421
+ const showStartButton = (isInstructionState || captureTimedOut) && !isDocumentCapture;
402
422
  const canStart = !streaming && !completedRef.current;
403
423
  const previewReady = hasPermission && device != null;
404
424
  // Resolve the native frame processor plugin once per name.
405
425
  const plugin = useMemo(() => VisionCameraProxy.initFrameProcessorPlugin(analyzer.frameProcessorPluginName, {}) ?? null, [analyzer.frameProcessorPluginName]);
426
+ // Every terminal signal arrives inside a frame result, so a camera that delivers no frame at all would sit on the initial state forever.
427
+ // Latest-ref, not a dep: an inline `onCaptureTimeout` prop is a fresh identity every render, which would restart the wall clock.
428
+ const onCaptureTimeoutRef = useRef(onCaptureTimeout);
429
+ onCaptureTimeoutRef.current = onCaptureTimeout;
430
+ useEffect(() => {
431
+ if (!streaming || hasAnalyzedFrame)
432
+ return;
433
+ const timer = setTimeout(() => {
434
+ if (completedRef.current || timedOutRef.current)
435
+ return;
436
+ timedOutRef.current = true;
437
+ setCaptureStalled(true);
438
+ setCaptureTimedOut(true);
439
+ setStreaming(false);
440
+ onCaptureTimeoutRef.current?.({ type: UseSmileIDScanStateType.Timeout });
441
+ }, CameraDefaults.firstFrameTimeoutMs);
442
+ return () => clearTimeout(timer);
443
+ }, [streaming, hasAnalyzedFrame]);
444
+ // A frame disproves the stall; document capture has no Start button to clear it by hand.
445
+ useEffect(() => {
446
+ if (hasAnalyzedFrame)
447
+ setCaptureStalled(false);
448
+ }, [hasAnalyzedFrame]);
406
449
  // A missing plugin means no frame ever produces a result — report once
407
450
  // on capture start rather than sitting silently on the initial state.
408
451
  const pluginErrorReportedRef = useRef(false);
@@ -526,10 +569,12 @@ export function UseSmileIDCaptureScreen(props) {
526
569
  enableEnhancedLiveness,
527
570
  animationDirection: uiState.animationDirection,
528
571
  poseMatched: uiState.poseMatched,
529
- // A transient gallery-import error preempts the live feedback chip.
530
- feedbackKey: galleryErrorKey ?? settledFeedbackKey,
572
+ // A stalled camera, then a transient gallery-import error, preempt the live feedback chip.
573
+ feedbackKey: captureStalled
574
+ ? "si_capture_camera_unavailable"
575
+ : (galleryErrorKey ?? settledFeedbackKey),
531
576
  // Documents auto-start (no Start button); selfie keeps its.
532
- showCaptureButton: isInstructionState && !isDocumentCapture,
577
+ showCaptureButton: showStartButton,
533
578
  showManualShutter: manualShutterAvailable,
534
579
  showGalleryUpload: galleryAvailable,
535
580
  isBackSide: documentSide === DocumentSide.Back,
@@ -547,7 +592,8 @@ export function UseSmileIDCaptureScreen(props) {
547
592
  uiState.poseMatched,
548
593
  settledFeedbackKey,
549
594
  galleryErrorKey,
550
- isInstructionState,
595
+ captureStalled,
596
+ showStartButton,
551
597
  isDocumentCapture,
552
598
  manualShutterAvailable,
553
599
  galleryAvailable,
@@ -582,7 +628,7 @@ export function UseSmileIDCaptureScreen(props) {
582
628
  theme.colors.offBlack,
583
629
  cameraOrientationKey,
584
630
  ]);
585
- return (_jsxs(UseSmileIDThemeProvider, { value: theme, children: [_jsx(StatusBar, { translucent: true, backgroundColor: "transparent" }), _jsx(UseSmileIDCaptureContent, { state: contentState, captureProgress: uiState.captureProgress, cameraPreview: cameraPreview, onStartCapture: handleStart, startCaptureEnabled: canStart, onBack: props.onBack, showAttribution: showAttribution, startButton: props.startButton, onViewportLayout: handleViewportLayout, ...(isDocumentCapture
631
+ return (_jsxs(UseSmileIDThemeProvider, { value: theme, children: [_jsx(StatusBar, { translucent: true, backgroundColor: "transparent", barStyle: "dark-content" }), _jsx(UseSmileIDCaptureContent, { state: contentState, captureProgress: uiState.captureProgress, cameraPreview: cameraPreview, onStartCapture: handleStart, startCaptureEnabled: canStart, onBack: props.onBack, showAttribution: showAttribution, startButton: props.startButton, onViewportLayout: handleViewportLayout, ...(isDocumentCapture
586
632
  ? {
587
633
  onManualShutter: handleManualShutter,
588
634
  onGalleryUpload: handleGalleryPick,
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_capture_screen.js","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use_smile_id_capture_screen.js","sourceRoot":"","sources":["../../../src/presentation/screen/use_smile_id_capture_screen.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smileid/usesmileid",
3
- "version": "12.0.1",
3
+ "version": "12.0.2",
4
4
  "description": "Official Smile ID React Native (Expo) SDK for identity verification: selfie capture, liveness checks, and document verification powered by on-device ML.",
5
5
  "homepage": "https://usesmileid.com",
6
6
  "repository": {
@@ -51,8 +51,8 @@
51
51
  "dependencies": {
52
52
  "axios": "^1.18.1",
53
53
  "zod": "^4.4.3",
54
- "@smileid/usesmileid_bridge": "12.0.1",
55
- "@smileid/usesmileid_platform_interface": "12.0.1"
54
+ "@smileid/usesmileid_platform_interface": "12.0.2",
55
+ "@smileid/usesmileid_bridge": "12.0.2"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "@react-native-async-storage/async-storage": ">=1.21.0",
@@ -119,6 +119,28 @@ export const Appearance = {
119
119
  addChangeListener: () => ({ remove: () => {} }),
120
120
  };
121
121
 
122
+ const appStateListeners = new Set<(state: string) => void>();
123
+
124
+ export const AppState: {
125
+ currentState: string;
126
+ addEventListener: (
127
+ type: string,
128
+ listener: (state: string) => void,
129
+ ) => { remove: () => void };
130
+ emit: (state: string) => void;
131
+ } = {
132
+ currentState: "active",
133
+ addEventListener: (_type, listener) => {
134
+ appStateListeners.add(listener);
135
+ return { remove: () => appStateListeners.delete(listener) };
136
+ },
137
+ // Test-only hook — no `AppState.emit` exists in React Native.
138
+ emit: (state) => {
139
+ AppState.currentState = state;
140
+ for (const listener of appStateListeners) listener(state);
141
+ },
142
+ };
143
+
122
144
  export const Linking = {
123
145
  openURL: (_url: string) => Promise.resolve(),
124
146
  canOpenURL: (_url: string) => Promise.resolve(true),
@@ -110,7 +110,7 @@ exports[`structural snapshots > consent > consent/default 1`] = `
110
110
  }
111
111
  testID="si_consent_title"
112
112
  >
113
- Acme Bank would like to verify your identity using Smile ID.
113
+ ⁨Acme Bank⁩ would like to verify your identity using Smile ID.
114
114
  </Text>
115
115
  <Text
116
116
  style={
@@ -615,9 +615,10 @@ exports[`structural snapshots > consent > consent/default 1`] = `
615
615
  {
616
616
  "alignItems": "center",
617
617
  "alignSelf": "stretch",
618
- "height": 48,
619
618
  "justifyContent": "center",
619
+ "minHeight": 48,
620
620
  "paddingHorizontal": 24,
621
+ "paddingVertical": 8,
621
622
  },
622
623
  {
623
624
  "backgroundColor": "#151F72",
@@ -658,9 +659,10 @@ exports[`structural snapshots > consent > consent/default 1`] = `
658
659
  {
659
660
  "alignItems": "center",
660
661
  "alignSelf": "stretch",
661
- "height": 48,
662
662
  "justifyContent": "center",
663
+ "minHeight": 48,
663
664
  "paddingHorizontal": 24,
665
+ "paddingVertical": 8,
664
666
  },
665
667
  {
666
668
  "backgroundColor": "transparent",
@@ -801,7 +803,7 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
801
803
  }
802
804
  testID="si_document_back_instructions_title"
803
805
  >
804
- Flip your National ID
806
+ Flip your ⁨National ID⁩
805
807
  </Text>
806
808
  <View
807
809
  style={
@@ -853,9 +855,10 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
853
855
  {
854
856
  "alignItems": "center",
855
857
  "alignSelf": "stretch",
856
- "height": 48,
857
858
  "justifyContent": "center",
859
+ "minHeight": 48,
858
860
  "paddingHorizontal": 24,
861
+ "paddingVertical": 8,
859
862
  },
860
863
  {
861
864
  "backgroundColor": "#151F72",
@@ -903,9 +906,10 @@ exports[`structural snapshots > document/back_instructions > document/back_instr
903
906
  {
904
907
  "alignItems": "center",
905
908
  "alignSelf": "stretch",
906
- "height": 48,
907
909
  "justifyContent": "center",
910
+ "minHeight": 48,
908
911
  "paddingHorizontal": 24,
912
+ "paddingVertical": 8,
909
913
  },
910
914
  {
911
915
  "backgroundColor": "transparent",
@@ -2080,9 +2084,10 @@ exports[`structural snapshots > selfie/capture content > selfie/capture/start_bu
2080
2084
  {
2081
2085
  "alignItems": "center",
2082
2086
  "alignSelf": "stretch",
2083
- "height": 48,
2084
2087
  "justifyContent": "center",
2088
+ "minHeight": 48,
2085
2089
  "paddingHorizontal": 24,
2090
+ "paddingVertical": 8,
2086
2091
  },
2087
2092
  {
2088
2093
  "backgroundColor": "#151F72",
@@ -4546,9 +4551,10 @@ exports[`structural snapshots > selfie/instructions > selfie/instructions/defaul
4546
4551
  {
4547
4552
  "alignItems": "center",
4548
4553
  "alignSelf": "stretch",
4549
- "height": 48,
4550
4554
  "justifyContent": "center",
4555
+ "minHeight": 48,
4551
4556
  "paddingHorizontal": 24,
4557
+ "paddingVertical": 8,
4552
4558
  },
4553
4559
  {
4554
4560
  "backgroundColor": "#151F72",
@@ -0,0 +1,72 @@
1
+ import { describe, it, expect, beforeEach, vi } from "vitest";
2
+ import { Camera } from "react-native-vision-camera";
3
+ import {
4
+ getCameraPermissionStatus,
5
+ requestCameraPermission,
6
+ } from "../camera_permissions";
7
+
8
+ // The shared setup mocks `react-native-vision-camera`; these are its
9
+ // permission statics, re-armed per test.
10
+ const getStatus = vi.mocked(Camera.getCameraPermissionStatus);
11
+ const requestStatus = vi.mocked(Camera.requestCameraPermission);
12
+
13
+ beforeEach(() => {
14
+ getStatus.mockReset();
15
+ requestStatus.mockReset();
16
+ });
17
+
18
+ describe("getCameraPermissionStatus", () => {
19
+ it("reports granted without prompting", async () => {
20
+ getStatus.mockReturnValue("granted");
21
+
22
+ await expect(getCameraPermissionStatus()).resolves.toBe("granted");
23
+ expect(requestStatus).not.toHaveBeenCalled();
24
+ });
25
+
26
+ it("normalises vision-camera's not-determined to undetermined", async () => {
27
+ getStatus.mockReturnValue("not-determined");
28
+
29
+ await expect(getCameraPermissionStatus()).resolves.toBe("undetermined");
30
+ });
31
+
32
+ it("reports denied as denied", async () => {
33
+ getStatus.mockReturnValue("denied");
34
+
35
+ await expect(getCameraPermissionStatus()).resolves.toBe("denied");
36
+ });
37
+
38
+ it("collapses restricted to denied so callers need only three branches", async () => {
39
+ getStatus.mockReturnValue("restricted");
40
+
41
+ await expect(getCameraPermissionStatus()).resolves.toBe("denied");
42
+ });
43
+ });
44
+
45
+ describe("requestCameraPermission", () => {
46
+ it("prompts and reports the granted outcome", async () => {
47
+ requestStatus.mockResolvedValue("granted");
48
+
49
+ await expect(requestCameraPermission()).resolves.toBe("granted");
50
+ expect(requestStatus).toHaveBeenCalledTimes(1);
51
+ });
52
+
53
+ it("reports a dismissed prompt as denied", async () => {
54
+ requestStatus.mockResolvedValue("denied");
55
+
56
+ await expect(requestCameraPermission()).resolves.toBe("denied");
57
+ });
58
+
59
+ it("maps a restricted device to denied rather than leaking the raw status", async () => {
60
+ requestStatus.mockResolvedValue("restricted");
61
+
62
+ await expect(requestCameraPermission()).resolves.toBe("denied");
63
+ });
64
+
65
+ it("never reports undetermined once the prompt has resolved granted", async () => {
66
+ requestStatus.mockResolvedValue("granted");
67
+
68
+ const status = await requestCameraPermission();
69
+
70
+ expect(status).not.toBe("undetermined");
71
+ });
72
+ });
@@ -0,0 +1,173 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+
3
+ /**
4
+ * Tap-to-focus half of the camera orchestrator: the reticle state machine
5
+ * (`running` → `success` → `unspecified`), the vision-camera `focus()` call
6
+ * through the attached ref, and the fail-open behaviour on fixed-focus
7
+ * devices. The lifecycle half lives in `use_smile_id_camera_system.test.ts`.
8
+ */
9
+ const { permissions, captureException } = vi.hoisted(() => ({
10
+ permissions: { getStatus: vi.fn(), request: vi.fn() },
11
+ captureException: vi.fn(),
12
+ }));
13
+
14
+ vi.mock("../camera_permissions", () => ({
15
+ getCameraPermissionStatus: permissions.getStatus,
16
+ requestCameraPermission: permissions.request,
17
+ }));
18
+
19
+ vi.mock("@smileid/usesmileid_bridge", async () => {
20
+ const actual = await vi.importActual<
21
+ typeof import("@smileid/usesmileid_bridge")
22
+ >("@smileid/usesmileid_bridge");
23
+ return {
24
+ ...actual,
25
+ UseSmileIDCrashReporting: {
26
+ ...actual.UseSmileIDCrashReporting,
27
+ captureException,
28
+ },
29
+ };
30
+ });
31
+
32
+ import type { Camera } from "react-native-vision-camera";
33
+ import { CameraDefaults } from "../camera_defaults";
34
+ import type { FocusState } from "../focus_state";
35
+ import { UseSmileIDCameraSystem } from "../use_smile_id_camera_system";
36
+
37
+ const POINT = { x: 0.25, y: 0.75 };
38
+
39
+ function attachCamera(
40
+ system: UseSmileIDCameraSystem,
41
+ focus: (point: { x: number; y: number }) => Promise<void>,
42
+ ) {
43
+ const ref = { focus: vi.fn(focus) };
44
+ system.attachRef(ref as unknown as Camera);
45
+ return ref;
46
+ }
47
+
48
+ describe("UseSmileIDCameraSystem — tap to focus", () => {
49
+ beforeEach(() => {
50
+ vi.useFakeTimers();
51
+ permissions.getStatus.mockReset();
52
+ permissions.request.mockReset();
53
+ captureException.mockReset();
54
+ });
55
+
56
+ afterEach(() => {
57
+ vi.useRealTimers();
58
+ });
59
+
60
+ it("drives the reticle through running → success → unspecified", async () => {
61
+ const system = new UseSmileIDCameraSystem();
62
+ const seen: FocusState[] = [];
63
+ system.subscribe((_state, focus) => seen.push(focus));
64
+
65
+ await system.tapToFocus(POINT);
66
+ expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
67
+
68
+ await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
69
+ expect(system.getFocusState()).toEqual({ kind: "success", point: POINT });
70
+
71
+ await vi.advanceTimersByTimeAsync(CameraDefaults.focusSettledDurationMs);
72
+ expect(system.getFocusState()).toEqual({ kind: "unspecified" });
73
+
74
+ expect(seen.map((focus) => focus.kind)).toEqual([
75
+ "running",
76
+ "success",
77
+ "unspecified",
78
+ ]);
79
+ });
80
+
81
+ it("calls vision-camera focus() with the normalized point", async () => {
82
+ const system = new UseSmileIDCameraSystem();
83
+ const ref = attachCamera(system, async () => {});
84
+
85
+ await system.tapToFocus(POINT);
86
+
87
+ expect(ref.focus).toHaveBeenCalledWith({ x: 0.25, y: 0.75 });
88
+ expect(captureException).not.toHaveBeenCalled();
89
+ });
90
+
91
+ it("keeps the reticle moving when the lens rejects the focus request", async () => {
92
+ const system = new UseSmileIDCameraSystem();
93
+ const failure = new Error("fixed-focus front camera");
94
+ attachCamera(system, async () => {
95
+ throw failure;
96
+ });
97
+
98
+ await system.tapToFocus(POINT);
99
+
100
+ expect(captureException).toHaveBeenCalledWith(failure);
101
+ expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
102
+
103
+ await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
104
+ expect(system.getFocusState().kind).toBe("success");
105
+ });
106
+
107
+ it("a second tap restarts the timers instead of stacking them", async () => {
108
+ const system = new UseSmileIDCameraSystem();
109
+ const secondPoint = { x: 0.9, y: 0.1 };
110
+
111
+ await system.tapToFocus(POINT);
112
+ await vi.advanceTimersByTimeAsync(
113
+ CameraDefaults.focusRunningDurationMs - 10,
114
+ );
115
+ await system.tapToFocus(secondPoint);
116
+
117
+ // The first tap's success timer was cleared — 10 ms in, still running.
118
+ await vi.advanceTimersByTimeAsync(10);
119
+ expect(system.getFocusState()).toEqual({
120
+ kind: "running",
121
+ point: secondPoint,
122
+ });
123
+
124
+ await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
125
+ expect(system.getFocusState()).toEqual({
126
+ kind: "success",
127
+ point: secondPoint,
128
+ });
129
+ });
130
+
131
+ it("is a no-op after release(), and release() cancels pending reticle timers", async () => {
132
+ const system = new UseSmileIDCameraSystem();
133
+ const ref = attachCamera(system, async () => {});
134
+
135
+ await system.tapToFocus(POINT);
136
+ system.release();
137
+
138
+ await vi.advanceTimersByTimeAsync(
139
+ CameraDefaults.focusRunningDurationMs +
140
+ CameraDefaults.focusSettledDurationMs,
141
+ );
142
+ // The pending success/settled transitions were cancelled by release().
143
+ expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
144
+
145
+ ref.focus.mockClear();
146
+ await system.tapToFocus({ x: 0.5, y: 0.5 });
147
+ expect(ref.focus).not.toHaveBeenCalled();
148
+ expect(system.getFocusState()).toEqual({ kind: "running", point: POINT });
149
+ });
150
+
151
+ it("skips the native call when no camera ref is attached", async () => {
152
+ const system = new UseSmileIDCameraSystem();
153
+ system.attachRef(null);
154
+
155
+ await system.tapToFocus(POINT);
156
+
157
+ expect(captureException).not.toHaveBeenCalled();
158
+ await vi.advanceTimersByTimeAsync(CameraDefaults.focusRunningDurationMs);
159
+ expect(system.getFocusState().kind).toBe("success");
160
+ });
161
+
162
+ it("never lets a throwing subscriber break the dispatch chain", async () => {
163
+ const system = new UseSmileIDCameraSystem();
164
+ const healthy = vi.fn();
165
+ system.subscribe(() => {
166
+ throw new Error("partner overlay blew up");
167
+ });
168
+ system.subscribe(healthy);
169
+
170
+ await expect(system.tapToFocus(POINT)).resolves.toBeUndefined();
171
+ expect(healthy).toHaveBeenCalled();
172
+ });
173
+ });