@thenovaweb/druid-ogold-rn-sdk 0.0.42 → 0.0.43

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 (79) hide show
  1. package/lib/commonjs/components/Navigator.js +15 -10
  2. package/lib/commonjs/components/Navigator.js.map +1 -1
  3. package/lib/commonjs/components/UploadImageModal.js +26 -35
  4. package/lib/commonjs/components/UploadImageModal.js.map +1 -1
  5. package/lib/commonjs/components/documents-camera/IdCamera.js +308 -13
  6. package/lib/commonjs/components/documents-camera/IdCamera.js.map +1 -1
  7. package/lib/commonjs/index.js +16 -14
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/screens/DraftInstructionsScreen.js +4 -17
  10. package/lib/commonjs/screens/DraftInstructionsScreen.js.map +1 -1
  11. package/lib/commonjs/screens/ReportScreen.js +126 -71
  12. package/lib/commonjs/screens/ReportScreen.js.map +1 -1
  13. package/lib/commonjs/state/slices/customerSlice.js +56 -2
  14. package/lib/commonjs/state/slices/customerSlice.js.map +1 -1
  15. package/lib/commonjs/state/slices/ocrSlice.js +8 -4
  16. package/lib/commonjs/state/slices/ocrSlice.js.map +1 -1
  17. package/lib/commonjs/utils/errors.js +23 -1
  18. package/lib/commonjs/utils/errors.js.map +1 -1
  19. package/lib/commonjs/utils/nonSliceHelpers.js +36 -2
  20. package/lib/commonjs/utils/nonSliceHelpers.js.map +1 -1
  21. package/lib/commonjs/utils/telemetry.js +5 -2
  22. package/lib/commonjs/utils/telemetry.js.map +1 -1
  23. package/lib/commonjs/utils/widgetUtility.js +18 -15
  24. package/lib/commonjs/utils/widgetUtility.js.map +1 -1
  25. package/lib/module/components/Navigator.js +16 -11
  26. package/lib/module/components/Navigator.js.map +1 -1
  27. package/lib/module/components/UploadImageModal.js +30 -39
  28. package/lib/module/components/UploadImageModal.js.map +1 -1
  29. package/lib/module/components/documents-camera/IdCamera.js +312 -16
  30. package/lib/module/components/documents-camera/IdCamera.js.map +1 -1
  31. package/lib/module/index.js +17 -15
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/module/screens/DraftInstructionsScreen.js +1 -14
  34. package/lib/module/screens/DraftInstructionsScreen.js.map +1 -1
  35. package/lib/module/screens/ReportScreen.js +127 -72
  36. package/lib/module/screens/ReportScreen.js.map +1 -1
  37. package/lib/module/state/slices/customerSlice.js +54 -1
  38. package/lib/module/state/slices/customerSlice.js.map +1 -1
  39. package/lib/module/state/slices/ocrSlice.js +9 -5
  40. package/lib/module/state/slices/ocrSlice.js.map +1 -1
  41. package/lib/module/utils/errors.js +20 -0
  42. package/lib/module/utils/errors.js.map +1 -1
  43. package/lib/module/utils/nonSliceHelpers.js +32 -0
  44. package/lib/module/utils/nonSliceHelpers.js.map +1 -1
  45. package/lib/module/utils/telemetry.js +6 -3
  46. package/lib/module/utils/telemetry.js.map +1 -1
  47. package/lib/module/utils/widgetUtility.js +19 -16
  48. package/lib/module/utils/widgetUtility.js.map +1 -1
  49. package/lib/typescript/commonjs/src/components/Navigator.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/components/UploadImageModal.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/src/components/documents-camera/IdCamera.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/screens/DraftInstructionsScreen.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/src/screens/ReportScreen.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/src/state/slices/customerSlice.d.ts +271 -1
  56. package/lib/typescript/commonjs/src/state/slices/customerSlice.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/src/state/slices/ocrSlice.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/src/utils/errors.d.ts +2 -0
  59. package/lib/typescript/commonjs/src/utils/errors.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/src/utils/nonSliceHelpers.d.ts +9 -0
  61. package/lib/typescript/commonjs/src/utils/nonSliceHelpers.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/src/utils/telemetry.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/src/utils/widgetUtility.d.ts.map +1 -1
  64. package/lib/typescript/module/src/components/Navigator.d.ts.map +1 -1
  65. package/lib/typescript/module/src/components/UploadImageModal.d.ts.map +1 -1
  66. package/lib/typescript/module/src/components/documents-camera/IdCamera.d.ts.map +1 -1
  67. package/lib/typescript/module/src/index.d.ts.map +1 -1
  68. package/lib/typescript/module/src/screens/DraftInstructionsScreen.d.ts.map +1 -1
  69. package/lib/typescript/module/src/screens/ReportScreen.d.ts.map +1 -1
  70. package/lib/typescript/module/src/state/slices/customerSlice.d.ts +271 -1
  71. package/lib/typescript/module/src/state/slices/customerSlice.d.ts.map +1 -1
  72. package/lib/typescript/module/src/state/slices/ocrSlice.d.ts.map +1 -1
  73. package/lib/typescript/module/src/utils/errors.d.ts +2 -0
  74. package/lib/typescript/module/src/utils/errors.d.ts.map +1 -1
  75. package/lib/typescript/module/src/utils/nonSliceHelpers.d.ts +9 -0
  76. package/lib/typescript/module/src/utils/nonSliceHelpers.d.ts.map +1 -1
  77. package/lib/typescript/module/src/utils/telemetry.d.ts.map +1 -1
  78. package/lib/typescript/module/src/utils/widgetUtility.d.ts.map +1 -1
  79. package/package.json +1 -1
@@ -138,16 +138,21 @@ const Navigator = props => {
138
138
  } catch (err) {
139
139
  const appError = (0, _errors.toAppError)(err);
140
140
  // With the global handler mount-scoped, this funnel is what keeps async
141
- // and API failures visible in the SDK's Sentry project.
142
- (0, _telemetry.captureException)(appError, {
143
- tags: {
144
- source: "initialize",
145
- category: appError.category
146
- },
147
- extra: {
148
- ...appError.toDiagnostic()
149
- }
150
- });
141
+ // and API failures visible in the SDK's Sentry project. Operational and
142
+ // expected errors (offline, timeout, canceled, identity-not-yet-provided)
143
+ // are skipped so they do not bury real bugs; the user still sees the error
144
+ // screen and the host still gets onError.
145
+ if ((0, _errors.isReportableError)(appError)) {
146
+ (0, _telemetry.captureException)(appError, {
147
+ tags: {
148
+ source: "initialize",
149
+ category: appError.category
150
+ },
151
+ extra: {
152
+ ...appError.toDiagnostic()
153
+ }
154
+ });
155
+ }
151
156
  setRoute("");
152
157
  setError(appError);
153
158
  if (onError) {
@@ -1 +1 @@
1
- {"version":3,"names":["_nativeStack","require","_WelcomeScreen","_interopRequireDefault","_LivenessScreen","_DocumentsScreen","_FormScreen","_hooks","_react","_Loader","_widgetUtility","_enhancedSlice","_native","_NavHeader","_customerSlice","_ocrSlice","_axios","_ErrorScreen","_InstructionsScreen","_DraftInstructionsScreen","_ReportScreen","_IdCamera","_DocumentsValidationScreen","_themeSlice","_constants","_errors","_propGuards","_telemetry","_jsxRuntime","e","__esModule","default","Navigator","props","Stack","createNativeStackNavigator","navigation","useNavigation","dispatch","useAppDispatch","safeProps","warnings","sanitizeWidgetProps","clientUuid","clientSecret","email","phoneNumber","enhancedCheck","forceEmiratesID","reKYC","country","COUNTRY","UAE","onSuccess","console","log","onError","shouldShowHeader","onCancel","headerTitle","personalDetails","darkMode","route","setRoute","useState","error","setError","inFlightRef","useRef","useEffect","length","__DEV__","warn","join","captureMessage","level","extra","trim","addBreadcrumb","category","message","handleBack","canGoBack","goBack","initialize","useCallback","current","setMode","validated","validateClientObj","updateDetails","attachClientToAxios","setEnhancedCheck","status","fetchUserData","unwrap","nextRoute","getRouteFromStatus","AppError","ERROR_CATEGORY","UNKNOWN","code","mapAppDataToOcr","err","appError","toAppError","captureException","tags","source","toDiagnostic","jsx","onRetry","retryable","undefined","onExit","jsxs","initialRouteName","screenOptions","headerShown","children","Screen","name","navHeader","onExitPressed","headerIcons","_default","exports"],"sourceRoot":"..\\..\\..\\src","sources":["components/Navigator.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nativeStack","require","_WelcomeScreen","_interopRequireDefault","_LivenessScreen","_DocumentsScreen","_FormScreen","_hooks","_react","_Loader","_widgetUtility","_enhancedSlice","_native","_NavHeader","_customerSlice","_ocrSlice","_axios","_ErrorScreen","_InstructionsScreen","_DraftInstructionsScreen","_ReportScreen","_IdCamera","_DocumentsValidationScreen","_themeSlice","_constants","_errors","_propGuards","_telemetry","_jsxRuntime","e","__esModule","default","Navigator","props","Stack","createNativeStackNavigator","navigation","useNavigation","dispatch","useAppDispatch","safeProps","warnings","sanitizeWidgetProps","clientUuid","clientSecret","email","phoneNumber","enhancedCheck","forceEmiratesID","reKYC","country","COUNTRY","UAE","onSuccess","console","log","onError","shouldShowHeader","onCancel","headerTitle","personalDetails","darkMode","route","setRoute","useState","error","setError","inFlightRef","useRef","useEffect","length","__DEV__","warn","join","captureMessage","level","extra","trim","addBreadcrumb","category","message","handleBack","canGoBack","goBack","initialize","useCallback","current","setMode","validated","validateClientObj","updateDetails","attachClientToAxios","setEnhancedCheck","status","fetchUserData","unwrap","nextRoute","getRouteFromStatus","AppError","ERROR_CATEGORY","UNKNOWN","code","mapAppDataToOcr","err","appError","toAppError","isReportableError","captureException","tags","source","toDiagnostic","jsx","onRetry","retryable","undefined","onExit","jsxs","initialRouteName","screenOptions","headerShown","children","Screen","name","navHeader","onExitPressed","headerIcons","_default","exports"],"sourceRoot":"..\\..\\..\\src","sources":["components/Navigator.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ var _reactNativePaper = require("react-native-paper");
16
16
  var _toastifyReactNative = require("toastify-react-native");
17
17
  var _captureCallback = require("./documents-camera/captureCallback.js");
18
18
  var _nonSliceHelpers = require("../utils/nonSliceHelpers.js");
19
+ var _telemetry = require("../utils/telemetry.js");
19
20
  var _errors = require("../utils/errors.js");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -40,42 +41,14 @@ const UploadImageModal = props => {
40
41
  navigation
41
42
  } = props;
42
43
  const hideModal = () => setVisible(false);
43
- const ensurePermissions = async fromGallery => {
44
- const getPermission = fromGallery ? _expoImagePicker.getMediaLibraryPermissionsAsync : _expoImagePicker.getCameraPermissionsAsync;
45
- const requestPermission = fromGallery ? _expoImagePicker.requestMediaLibraryPermissionsAsync : _expoImagePicker.requestCameraPermissionsAsync;
46
- const label = fromGallery ? "Media" : "Camera";
47
44
 
48
- // Check current status first to avoid Android 16 bug where
49
- // requestPermissionsAsync hangs if permission is already granted
50
- const current = await getPermission();
51
- if (current.status === "granted") return true;
52
- if (current.canAskAgain) {
53
- // Race the request against a timeout - if the request hangs (Android 16 bug),
54
- // re-check permission status as a fallback since the grant may have succeeded
55
- dispatch((0, _loaderSlice.addLoader)());
56
- try {
57
- const result = await Promise.race([requestPermission().then(r => r.status), new Promise(resolve => setTimeout(() => resolve("timeout"), 8000))]);
58
- if (result === "granted") return true;
59
- if (result === "timeout") {
60
- const recheck = await getPermission();
61
- if (recheck.status === "granted") return true;
62
- }
63
- } finally {
64
- dispatch((0, _loaderSlice.removeLoader)());
65
- }
66
- }
67
- _toastifyReactNative.Toast.show({
68
- text2: (0, _errors.permissionRequiredMessage)(label),
69
- type: "error",
70
- textColor: theme.primaryText
71
- });
72
- return false;
73
- };
74
- const takeImage = async fromGallery => {
45
+ // The OS photo picker (Android PickVisualMedia / SAF, iOS PHPicker) needs no
46
+ // runtime media permission on any supported version, so launchImageLibraryAsync
47
+ // is called directly. Gating it behind a permission check produced a false
48
+ // "Media permission is required" banner that could never clear on Android <= 12.
49
+ const takeImage = async () => {
75
50
  try {
76
- const ok = await ensurePermissions(fromGallery);
77
- if (!ok) return;
78
- const result = fromGallery ? await (0, _expoImagePicker.launchImageLibraryAsync)(mediaOptions) : await (0, _expoImagePicker.launchCameraAsync)(mediaOptions);
51
+ const result = await (0, _expoImagePicker.launchImageLibraryAsync)(mediaOptions);
79
52
  if (!result.canceled && result.assets) {
80
53
  hideModal();
81
54
  const image = result.assets[0]?.base64;
@@ -102,6 +75,24 @@ const UploadImageModal = props => {
102
75
  }
103
76
  } catch (err) {
104
77
  dispatch((0, _loaderSlice.removeLoader)());
78
+ // The picker should never need a permission now; a throw here means the OS
79
+ // could not open any picker (no photo picker / SAF / activity). Capture it so
80
+ // a device that can't reach the gallery at all is diagnosable.
81
+ const diag = (0, _nonSliceHelpers.getDeviceDiagnostics)();
82
+ (0, _telemetry.captureMessage)("Gallery picker failed", {
83
+ level: "error",
84
+ tags: {
85
+ feature: "gallery-upload",
86
+ platform: _reactNative.Platform.OS,
87
+ manufacturer: diag.manufacturer ?? "unknown",
88
+ apiLevel: diag.apiLevel
89
+ },
90
+ extra: {
91
+ ...diag,
92
+ isBackImage,
93
+ message: err?.message ?? String(err)
94
+ }
95
+ });
105
96
  _toastifyReactNative.Toast.show({
106
97
  text2: (0, _errors.getUserMessage)(err, _errors.ERROR_CATEGORY.CAMERA),
107
98
  type: 'error',
@@ -245,7 +236,7 @@ const UploadImageModal = props => {
245
236
  ...globalStyles.row,
246
237
  padding: 8
247
238
  },
248
- onPress: () => takeImage(true),
239
+ onPress: () => takeImage(),
249
240
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
250
241
  style: globalStyles.rowContent,
251
242
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativePaper.Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["_styles","_interopRequireDefault","require","_hooks","_formSlice","_loaderSlice","_ocrSlice","_immutableOcrSlice","_expoImagePicker","_reactNative","_reactNativePaper","_toastifyReactNative","_captureCallback","_nonSliceHelpers","_errors","_jsxRuntime","e","__esModule","default","mediaOptions","mediaType","quality","base64","allowsEditing","UploadImageModal","props","theme","useAppSelector","state","globalStyles","globalStyles3","dispatch","useAppDispatch","isLiveFaces","faces","liveness","visible","setVisible","documentType","isBackImage","navigation","hideModal","ensurePermissions","fromGallery","getPermission","getMediaLibraryPermissionsAsync","getCameraPermissionsAsync","requestPermission","requestMediaLibraryPermissionsAsync","requestCameraPermissionsAsync","label","current","status","canAskAgain","addLoader","result","Promise","race","then","r","resolve","setTimeout","recheck","removeLoader","Toast","show","text2","permissionRequiredMessage","type","textColor","primaryText","takeImage","ok","launchImageLibraryAsync","launchCameraAsync","canceled","assets","image","updateDocumentBackImage","backImage","navigate","displayImage","getBase64ImageWithHeader","toastText","processFrontImage","IMAGE_UPLOAD_ERROR_MESSAGE","err","getUserMessage","ERROR_CATEGORY","CAMERA","takeImageBoundedBox","captureCallbackRef","onCapture","replace","onCancel","sideText","doublePop","overall_confidence","is_classified","document_type","extractOcrData","document","unwrap","addSectionToForm","_dispatch","getState","ocrData","mapOcrToDefaultForm","length","matchFaces","id","removeSectionFromForm","removeFrontImage","resetImmutableData","jsx","Portal","children","jsxs","Modal","colors","backdrop","onDismiss","contentContainerStyle","left","right","bottom","position","padding","shadowOpacity","Card","style","card","borderWidth","mode","TouchableOpacity","row","onPress","View","rowContent","Text","h2","textAlign","Divider","backgroundColor","chartRuler","_default","exports"],"sourceRoot":"..\\..\\..\\src","sources":["components/UploadImageModal.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAOA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,gBAAA,GAAAN,OAAA;AASA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AAAwH,IAAAa,WAAA,GAAAb,OAAA;AAAA,SAAAD,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExH,MAAMG,YAAY,GAAG;EACnBC,SAAS,EAAE,QAAqB;EAChCC,OAAO,EAAE,CAAC;EACVC,MAAM,EAAE,IAAI;EACZC,aAAa,EAAE;AACjB,CAAC;AACD,MAAMC,gBAAgB,GAAIC,KAAU,IAAK;EACvC,MAAMC,KAAK,GAAG,IAAAC,qBAAc,EAACC,KAAK,IAAIA,KAAK,CAACF,KAAK,CAAC;EAClD,MAAMG,YAAY,GAAG,IAAAC,eAAa,EAACJ,KAAK,CAAC;EACzC,MAAMK,QAAQ,GAAG,IAAAC,qBAAc,EAAC,CAAC;EACjC,MAAM;IAAEC,WAAW,EAAEC;EAAM,CAAC,GAAG,IAAAP,qBAAc,EAAEC,KAAK,IAAKA,KAAK,CAACO,QAAQ,CAAC;EACxE,MAAM;IAAEC,OAAO;IAAEC,UAAU;IAAEC,YAAY;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAGf,KAAK;EAC5E,MAAMgB,SAAS,GAAGA,CAAA,KAAMJ,UAAU,CAAC,KAAK,CAAC;EAEzC,MAAMK,iBAAiB,GAAG,MAAOC,WAAoB,IAAK;IACxD,MAAMC,aAAa,GAAGD,WAAW,GAC7BE,gDAA+B,GAC/BC,0CAAyB;IAC7B,MAAMC,iBAAiB,GAAGJ,WAAW,GACjCK,oDAAmC,GACnCC,8CAA6B;IACjC,MAAMC,KAAK,GAAGP,WAAW,GAAG,OAAO,GAAG,QAAQ;;IAE9C;IACA;IACA,MAAMQ,OAAO,GAAG,MAAMP,aAAa,CAAC,CAAC;IACrC,IAAIO,OAAO,CAACC,MAAM,KAAK,SAAS,EAAE,OAAO,IAAI;IAE7C,IAAID,OAAO,CAACE,WAAW,EAAE;MACvB;MACA;MACAtB,QAAQ,CAAC,IAAAuB,sBAAS,EAAC,CAAC,CAAC;MACrB,IAAI;QACF,MAAMC,MAAM,GAAG,MAAMC,OAAO,CAACC,IAAI,CAAC,CAChCV,iBAAiB,CAAC,CAAC,CAACW,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACP,MAAM,CAAC,EACzC,IAAII,OAAO,CAAaI,OAAO,IAC7BC,UAAU,CAAC,MAAMD,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAC3C,CAAC,CACF,CAAC;QAEF,IAAIL,MAAM,KAAK,SAAS,EAAE,OAAO,IAAI;QAErC,IAAIA,MAAM,KAAK,SAAS,EAAE;UACxB,MAAMO,OAAO,GAAG,MAAMlB,aAAa,CAAC,CAAC;UACrC,IAAIkB,OAAO,CAACV,MAAM,KAAK,SAAS,EAAE,OAAO,IAAI;QAC/C;MACF,CAAC,SAAS;QACRrB,QAAQ,CAAC,IAAAgC,yBAAY,EAAC,CAAC,CAAC;MAC1B;IACF;IAEAC,0BAAK,CAACC,IAAI,CAAC;MACTC,KAAK,EAAE,IAAAC,iCAAyB,EAACjB,KAAK,CAAC;MACvCkB,IAAI,EAAE,OAAO;MACbC,SAAS,EAAE3C,KAAK,CAAC4C;IACnB,CAAC,CAAC;IACF,OAAO,KAAK;EACd,CAAC;EAED,MAAMC,SAAS,GAAG,MAAO5B,WAAoB,IAAK;IAChD,IAAI;MACF,MAAM6B,EAAE,GAAG,MAAM9B,iBAAiB,CAACC,WAAW,CAAC;MAC/C,IAAI,CAAC6B,EAAE,EAAE;MAET,MAAMjB,MAAM,GAAGZ,WAAW,GACtB,MAAM,IAAA8B,wCAAuB,EAACtD,YAAY,CAAC,GAC3C,MAAM,IAAAuD,kCAAiB,EAACvD,YAAY,CAAC;MAEzC,IAAI,CAACoC,MAAM,CAACoB,QAAQ,IAAIpB,MAAM,CAACqB,MAAM,EAAE;QACrCnC,SAAS,CAAC,CAAC;QACX,MAAMoC,KAAK,GAAGtB,MAAM,CAACqB,MAAM,CAAC,CAAC,CAAC,EAAEtD,MAAgB;QAChD,IAAIiB,WAAW,EAAE;UACfR,QAAQ,CAAC,IAAA+C,iCAAuB,EAAC;YAAExC,YAAY;YAAEyC,SAAS,EAAEF;UAAM,CAAC,CAAC,CAAC;UACrErC,UAAU,CAACwC,QAAQ,CAAC,qBAAqB,EAAE;YACzCC,YAAY,EAAE,IAAAC,yCAAwB,EAACL,KAAK,CAAC;YAC7CM,SAAS,EAAE,EAAE;YACb7C,YAAY;YACZC;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,MAAM6C,iBAAiB,CAACP,KAAK,CAAC;QAChC;MACF,CAAC,MAAM;QACLb,0BAAK,CAACC,IAAI,CAAC;UACTC,KAAK,EAAEmB,kCAA0B;UAAEjB,IAAI,EAAE,MAAM;UAC/CC,SAAS,EAAE3C,KAAK,CAAC4C;QACnB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAOgB,GAAQ,EAAE;MACjBvD,QAAQ,CAAC,IAAAgC,yBAAY,EAAC,CAAC,CAAC;MACxBC,0BAAK,CAACC,IAAI,CAAC;QACTC,KAAK,EAAE,IAAAqB,sBAAc,EAACD,GAAG,EAAEE,sBAAc,CAACC,MAAM,CAAC;QACjDrB,IAAI,EAAE,OAAO;QACbC,SAAS,EAAE3C,KAAK,CAAC4C;MACnB,CAAC,CAAC;IACJ;EACF,CAAC;EAED,MAAMoB,mBAAmB,GAAGA,CAAA,KAAM;IAChCjD,SAAS,CAAC,CAAC;IACXkD,mCAAkB,CAACxC,OAAO,GAAG;MAC3ByC,SAAS,EAAE,MAAOtE,MAAc,IAAK;QACnC,IAAIiB,WAAW,EAAE;UACfR,QAAQ,CACN,IAAA+C,iCAAuB,EAAC;YAAExC,YAAY;YAAEyC,SAAS,EAAEzD;UAAO,CAAC,CAC7D,CAAC;UACDkB,UAAU,CAACqD,OAAO,CAAC,qBAAqB,EAAE;YACxCZ,YAAY,EAAE,IAAAC,yCAAwB,EAAC5D,MAAM,CAAC;YAC9C6D,SAAS,EAAE,EAAE;YACb7C,YAAY;YACZC;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,MAAM6C,iBAAiB,CAAC9D,MAAM,EAAE,IAAI,CAAC;QACvC;MACF,CAAC;MACDwE,QAAQ,EAAErD;IACZ,CAAC;IACDD,UAAU,CAACwC,QAAQ,CAAC,UAAU,EAAE;MAC9Be,QAAQ,EAAExD,WAAW,GAAG,WAAW,GAAG;IACxC,CAAC,CAAC;EACJ,CAAC;EAED,MAAM6C,iBAAiB,GAAG,MAAAA,CAAOP,KAAa,EAAEmB,SAAS,GAAG,KAAK,KAAK;IACpEjE,QAAQ,CAAC,IAAAuB,sBAAS,EAAC,CAAC,CAAC;IACrB,IAAI;MACF,MAAM;QAAE2C,kBAAkB;QAAEC,aAAa;QAAEC;MAAc,CAAC,GAAG,MAAMpE,QAAQ,CACzE,IAAAqE,wBAAc,EAAC;QACbvB,KAAK;QACLwB,QAAQ,EAAE/D;MACZ,CAAC,CACH,CAAC,CAACgE,MAAM,CAAC,CAAC;MACV;MACAvE,QAAQ,CAAC,IAAAwE,2BAAgB,EAACjE,YAAY,CAAC,CAAC;MACxCP,QAAQ,CAAE,CAACyE,SAAc,EAAEC,QAAa,KAAK;QAC3C,MAAM;UAAEC;QAAQ,CAAC,GAAGD,QAAQ,CAAC,CAAc;QAC3CD,SAAS,CAAC,IAAAG,8BAAmB,EAACD,OAAO,EAAEpE,YAAY,CAAC,CAAC;MACvD,CAAS,CAAC;;MAEV;MACA,IAAIJ,KAAK,IAAIA,KAAK,CAAC0E,MAAM,GAAG,CAAC,EAAE;QAC7B,MAAM7E,QAAQ,CACZ,IAAA8E,oBAAU,EAAC;UACTvE,YAAY;UACZwE,EAAE,EAAEjC,KAAK;UACT3C;QACF,CAAC,CACH,CAAC;MACH;MAEA,IAAIiD,SAAS,GAAG,gCAAgC;MAChD,IAAI,CAACe,aAAa,EAAE;QAClBf,SAAS,GAAG,qFAAqF;MACnG,CAAC,MAAM,IAAIgB,aAAa,IAAI,SAAS,IAAIA,aAAa,IAAI,KAAK,EAAE;QAC/DhB,SAAS,GAAG,qFAAqF;MACnG,CAAC,MAAM,IAAIc,kBAAkB,GAAG,EAAE,EAAE;QAClCd,SAAS,GAAG,uEAAuE;MACrF,CAAC,MAAM;QACLA,SAAS,GAAG,gCAAgC;MAC9C;MACA,IAAIa,SAAS,EAAE;QACbxD,UAAU,CAACqD,OAAO,CAAC,qBAAqB,EAAE;UACxCZ,YAAY,EAAE,IAAAC,yCAAwB,EAACL,KAAK,CAAC;UAC7CM,SAAS,EAAEA,SAAS;UACpB7C,YAAY;UACZC;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACLC,UAAU,CAACwC,QAAQ,CAAC,qBAAqB,EAAE;UACzCC,YAAY,EAAE,IAAAC,yCAAwB,EAACL,KAAK,CAAC;UAC7CM,SAAS,EAAEA,SAAS;UACpB7C,YAAY;UACZC;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAO+C,GAAQ,EAAE;MACjB;MACAvD,QAAQ,CAAC,IAAAgF,gCAAqB,EAACzE,YAAY,CAAC,CAAC;MAC7CP,QAAQ,CAAC,IAAAiF,0BAAgB,EAAC1E,YAAY,CAAC,CAAC;MACxCP,QAAQ,CAAC,IAAAkF,qCAAkB,EAAC3E,YAAY,CAAC,CAAC;MAC1C,MAAMgD,GAAG;IACX,CAAC,SAAS;MACRvD,QAAQ,CAAC,IAAAgC,yBAAY,EAAC,CAAC,CAAC;IAC1B;EACF,CAAC;EAED,oBACE,IAAAhD,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAyG,MAAM;IAAAC,QAAA,eACL,IAAArG,WAAA,CAAAsG,IAAA,EAAC3G,iBAAA,CAAA4G,KAAK;MACJ5F,KAAK,EAAE;QACL6F,MAAM,EAAE;UACNC,QAAQ,EAAE;QACZ;MACF,CAAE;MACFpF,OAAO,EAAEA,OAAQ;MACjBqF,SAAS,EAAEhF,SAAU;MACrBiF,qBAAqB,EAAE;QACrBC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACTC,QAAQ,EAAE,UAAU;QACpBC,OAAO,EAAE,EAAE;QACXC,aAAa,EAAE;MACjB,CAAE;MAAAZ,QAAA,gBAEF,IAAArG,WAAA,CAAAsG,IAAA,EAAC3G,iBAAA,CAAAuH,IAAI;QACHC,KAAK,EAAE;UAAE,GAAGrG,YAAY,CAACsG,IAAI;UAAEC,WAAW,EAAE;QAAE,CAAE;QAChDC,IAAI,EAAC,WAAW;QAAAjB,QAAA,gBAEhB,IAAArG,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAA6H,gBAAgB;UACfJ,KAAK,EAAE;YAAE,GAAGrG,YAAY,CAAC0G,GAAG;YAAER,OAAO,EAAE;UAAE,CAAE;UAC3CS,OAAO,EAAEA,CAAA,KAAM9C,mBAAmB,CAAC,CAAE;UAAA0B,QAAA,eAErC,IAAArG,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAAgI,IAAI;YAACP,KAAK,EAAErG,YAAY,CAAC6G,UAAW;YAAAtB,QAAA,eACnC,IAAArG,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAiI,IAAI;cAACT,KAAK,EAAE;gBAAE,GAAGrG,YAAY,CAAC+G,EAAE;gBAAEC,SAAS,EAAE;cAAS,CAAE;cAAAzB,QAAA,EAAC;YAE1D,CAAM;UAAC,CACH;QAAC,CACS,CAAC,eACnB,IAAArG,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAoI,OAAO;UAACZ,KAAK,EAAE;YAAEa,eAAe,EAAErH,KAAK,CAACsH;UAAW;QAAE,CAAE,CAAC,eACzD,IAAAjI,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAA6H,gBAAgB;UACfJ,KAAK,EAAE;YAAE,GAAGrG,YAAY,CAAC0G,GAAG;YAAER,OAAO,EAAE;UAAE,CAAE;UAC3CS,OAAO,EAAEA,CAAA,KAAMjE,SAAS,CAAC,IAAI,CAAE;UAAA6C,QAAA,eAE/B,IAAArG,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAAgI,IAAI;YAACP,KAAK,EAAErG,YAAY,CAAC6G,UAAW;YAAAtB,QAAA,eACnC,IAAArG,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAiI,IAAI;cAACT,KAAK,EAAE;gBAAE,GAAGrG,YAAY,CAAC+G,EAAE;gBAAEC,SAAS,EAAE;cAAS,CAAE;cAAAzB,QAAA,EAAC;YAE1D,CAAM;UAAC,CACH;QAAC,CACS,CAAC;MAAA,CACf,CAAC,eACP,IAAArG,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAuH,IAAI;QACHC,KAAK,EAAE;UAAE,GAAGrG,YAAY,CAACsG,IAAI;UAAEC,WAAW,EAAE;QAAE,CAAE;QAChDC,IAAI,EAAC,WAAW;QAAAjB,QAAA,eAEhB,IAAArG,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAA6H,gBAAgB;UACfJ,KAAK,EAAE;YAAE,GAAGrG,YAAY,CAAC0G,GAAG;YAAER,OAAO,EAAE;UAAE,CAAE;UAC3CS,OAAO,EAAE/F,SAAU;UAAA2E,QAAA,eAEnB,IAAArG,WAAA,CAAAmG,GAAA,EAACzG,YAAA,CAAAgI,IAAI;YAACP,KAAK,EAAErG,YAAY,CAAC6G,UAAW;YAAAtB,QAAA,eACnC,IAAArG,WAAA,CAAAmG,GAAA,EAACxG,iBAAA,CAAAiI,IAAI;cACHT,KAAK,EAAE;gBACL,GAAGrG,YAAY,CAAC+G,EAAE;gBAClBC,SAAS,EAAE;cACb,CAAE;cAAAzB,QAAA,EACH;YAED,CAAM;UAAC,CACH;QAAC,CACS;MAAC,CACf,CAAC;IAAA,CACF;EAAC,CACF,CAAC;AAEb,CAAC;AAAC,IAAA6B,QAAA,GAAAC,OAAA,CAAAhI,OAAA,GAEaM,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_styles","_interopRequireDefault","require","_hooks","_formSlice","_loaderSlice","_ocrSlice","_immutableOcrSlice","_expoImagePicker","_reactNative","_reactNativePaper","_toastifyReactNative","_captureCallback","_nonSliceHelpers","_telemetry","_errors","_jsxRuntime","e","__esModule","default","mediaOptions","mediaType","quality","base64","allowsEditing","UploadImageModal","props","theme","useAppSelector","state","globalStyles","globalStyles3","dispatch","useAppDispatch","isLiveFaces","faces","liveness","visible","setVisible","documentType","isBackImage","navigation","hideModal","takeImage","result","launchImageLibraryAsync","canceled","assets","image","updateDocumentBackImage","backImage","navigate","displayImage","getBase64ImageWithHeader","toastText","processFrontImage","Toast","show","text2","IMAGE_UPLOAD_ERROR_MESSAGE","type","textColor","primaryText","err","removeLoader","diag","getDeviceDiagnostics","captureMessage","level","tags","feature","platform","Platform","OS","manufacturer","apiLevel","extra","message","String","getUserMessage","ERROR_CATEGORY","CAMERA","takeImageBoundedBox","captureCallbackRef","current","onCapture","replace","onCancel","sideText","doublePop","addLoader","overall_confidence","is_classified","document_type","extractOcrData","document","unwrap","addSectionToForm","_dispatch","getState","ocrData","mapOcrToDefaultForm","length","matchFaces","id","removeSectionFromForm","removeFrontImage","resetImmutableData","jsx","Portal","children","jsxs","Modal","colors","backdrop","onDismiss","contentContainerStyle","left","right","bottom","position","padding","shadowOpacity","Card","style","card","borderWidth","mode","TouchableOpacity","row","onPress","View","rowContent","Text","h2","textAlign","Divider","backgroundColor","chartRuler","_default","exports"],"sourceRoot":"..\\..\\..\\src","sources":["components/UploadImageModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _reactNativeVisionCamera = require("react-native-vision-camera");
10
10
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
11
11
  var _expoImageManipulator = require("expo-image-manipulator");
12
+ var _expoImagePicker = require("expo-image-picker");
12
13
  var _styles = _interopRequireDefault(require("../../assets/themes/styles2.js"));
13
14
  var _native = require("@react-navigation/native");
14
15
  var _captureCallback = require("./captureCallback.js");
@@ -16,10 +17,23 @@ var _Colors = require("../../assets/themes/Colors.js");
16
17
  var _CardOverlay = _interopRequireDefault(require("./CardOverlay.js"));
17
18
  var _hooks = require("../../state/hooks.js");
18
19
  var _toastifyReactNative = require("toastify-react-native");
20
+ var _telemetry = require("../../utils/telemetry.js");
21
+ var _nonSliceHelpers = require("../../utils/nonSliceHelpers.js");
19
22
  var _errors = require("../../utils/errors.js");
20
23
  var _jsxRuntime = require("react/jsx-runtime");
21
24
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
25
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
+ // Wait for the real first-frame signal (onPreviewStarted); if it never arrives the
27
+ // preview is black/stuck and the recovery panel takes over. The picker fallbacks
28
+ // reuse the same options shape as the gallery modal so OCR receives identical input.
29
+ const READINESS_TIMEOUT_MS = 6000;
30
+ const MOUNT_DELAY_MS = 200;
31
+ const fallbackMediaOptions = {
32
+ mediaTypes: "images",
33
+ quality: 1,
34
+ base64: true,
35
+ allowsEditing: true
36
+ };
23
37
  const IdCamera = ({
24
38
  navHeader,
25
39
  sideText,
@@ -35,6 +49,7 @@ const IdCamera = ({
35
49
  requestPermission
36
50
  } = (0, _reactNativeVisionCamera.useCameraPermission)();
37
51
  const device = (0, _reactNativeVisionCamera.useCameraDevice)("back");
52
+ const isFocused = (0, _native.useIsFocused)();
38
53
  const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
39
54
  const IS_IOS = _reactNative.Platform.OS === "ios";
40
55
  const [boundingBoxHeight, setBoundingBoxHeight] = (0, _react.useState)(0);
@@ -47,6 +62,24 @@ const IdCamera = ({
47
62
  y: 0
48
63
  });
49
64
  const [cameraReady, setCameraReady] = (0, _react.useState)(false);
65
+ const [previewStarted, setPreviewStarted] = (0, _react.useState)(false);
66
+ const [showFallback, setShowFallback] = (0, _react.useState)(false);
67
+ const [cameraPermissionDenied, setCameraPermissionDenied] = (0, _react.useState)(false);
68
+ const [canUseSystemCamera, setCanUseSystemCamera] = (0, _react.useState)(true);
69
+ const [isReadyToMount, setIsReadyToMount] = (0, _react.useState)(false);
70
+ const [mountAttempt, setMountAttempt] = (0, _react.useState)(0);
71
+ // Track how far the camera pipeline got so a black-preview report distinguishes
72
+ // a bind-throw (no onInitialized) from a no-first-frame stall (initialized but
73
+ // never previewStarted).
74
+ const initializedRef = (0, _react.useRef)(false);
75
+ const startedRef = (0, _react.useRef)(false);
76
+ const cameraDeviceInfo = () => device ? {
77
+ id: device.id,
78
+ position: device.position,
79
+ hardwareLevel: device.hardwareLevel,
80
+ sensorOrientation: device.sensorOrientation,
81
+ physicalDevices: device.physicalDevices
82
+ } : null;
50
83
  const transformOffsetY = -0;
51
84
  (0, _react.useEffect)(() => {
52
85
  if (!hasPermission) {
@@ -54,6 +87,7 @@ const IdCamera = ({
54
87
  try {
55
88
  const granted = await requestPermission();
56
89
  if (!granted) {
90
+ setCameraPermissionDenied(true);
57
91
  _toastifyReactNative.Toast.show({
58
92
  text2: _errors.CAMERA_PERMISSION_DENIED_MESSAGE,
59
93
  type: "error",
@@ -70,9 +104,189 @@ const IdCamera = ({
70
104
  })();
71
105
  }
72
106
  }, []);
107
+
108
+ // Only offer "Use system camera" when CAMERA isn't permanently denied; gallery
109
+ // (which needs no permission) is always offered as the deeper backstop.
110
+ (0, _react.useEffect)(() => {
111
+ (async () => {
112
+ try {
113
+ const perm = await (0, _expoImagePicker.getCameraPermissionsAsync)();
114
+ setCanUseSystemCamera(!(perm.status === "denied" && !perm.canAskAgain));
115
+ } catch {
116
+ setCanUseSystemCamera(true);
117
+ }
118
+ })();
119
+ }, [hasPermission]);
120
+
121
+ // Mount delay mirrors the liveness camera (Camera.tsx) so a prior camera session
122
+ // can release before the back camera binds. mountAttempt is a dep so the delay
123
+ // re-applies on every retry remount.
124
+ (0, _react.useEffect)(() => {
125
+ if (isFocused && device) {
126
+ const timer = setTimeout(() => setIsReadyToMount(true), MOUNT_DELAY_MS);
127
+ return () => clearTimeout(timer);
128
+ }
129
+ setIsReadyToMount(false);
130
+ }, [isFocused, device, mountAttempt]);
131
+
132
+ // Anti-stuck backstop: if the preview never reports a first frame, surface the
133
+ // recovery panel and report the silent failure to the SDK's own Sentry. The
134
+ // panel (retry / system camera / gallery) is the recovery surface; the in-app
135
+ // shutter is not enabled here since it would sit under the panel.
136
+ (0, _react.useEffect)(() => {
137
+ const active = isFocused && isReadyToMount && !!device && hasPermission;
138
+ if (!active || previewStarted) return;
139
+ const timer = setTimeout(() => {
140
+ setShowFallback(true);
141
+ const diag = (0, _nonSliceHelpers.getDeviceDiagnostics)();
142
+ (0, _telemetry.captureMessage)("IdCamera preview did not start", {
143
+ level: "error",
144
+ tags: {
145
+ feature: "id-camera",
146
+ platform: _reactNative.Platform.OS,
147
+ manufacturer: diag.manufacturer ?? "unknown",
148
+ apiLevel: diag.apiLevel
149
+ },
150
+ extra: {
151
+ ...diag,
152
+ waitMs: READINESS_TIMEOUT_MS,
153
+ cameraDevice: cameraDeviceInfo(),
154
+ readiness: {
155
+ initialized: initializedRef.current,
156
+ started: startedRef.current,
157
+ previewStarted: false
158
+ },
159
+ isFocused,
160
+ appState: _reactNative.AppState.currentState
161
+ }
162
+ });
163
+ }, READINESS_TIMEOUT_MS);
164
+ return () => clearTimeout(timer);
165
+ }, [isFocused, isReadyToMount, device, hasPermission, previewStarted, mountAttempt]);
166
+ const handleInitialized = () => {
167
+ initializedRef.current = true;
168
+ (0, _telemetry.addBreadcrumb)({
169
+ category: "camera",
170
+ message: "IdCamera onInitialized",
171
+ level: "info"
172
+ });
173
+ };
174
+ const handleStarted = () => {
175
+ startedRef.current = true;
176
+ (0, _telemetry.addBreadcrumb)({
177
+ category: "camera",
178
+ message: "IdCamera onStarted",
179
+ level: "info"
180
+ });
181
+ };
182
+ const handlePreviewStarted = () => {
183
+ (0, _telemetry.addBreadcrumb)({
184
+ category: "camera",
185
+ message: "IdCamera onPreviewStarted",
186
+ level: "info"
187
+ });
188
+ setPreviewStarted(true);
189
+ setCameraReady(true);
190
+ setShowFallback(false);
191
+ };
192
+ const handleCameraError = error => {
193
+ const diag = (0, _nonSliceHelpers.getDeviceDiagnostics)();
194
+ (0, _telemetry.captureMessage)("IdCamera onError", {
195
+ level: "error",
196
+ tags: {
197
+ feature: "id-camera",
198
+ platform: _reactNative.Platform.OS,
199
+ code: error?.code ?? "unknown",
200
+ manufacturer: diag.manufacturer ?? "unknown",
201
+ apiLevel: diag.apiLevel
202
+ },
203
+ extra: {
204
+ ...diag,
205
+ cameraDevice: cameraDeviceInfo(),
206
+ readiness: {
207
+ initialized: initializedRef.current,
208
+ started: startedRef.current,
209
+ previewStarted
210
+ },
211
+ message: error?.message ?? ""
212
+ }
213
+ });
214
+ setCameraReady(false);
215
+ setShowFallback(true);
216
+ };
217
+ const retryCamera = () => {
218
+ setShowFallback(false);
219
+ setPreviewStarted(false);
220
+ setCameraReady(false);
221
+ setIsReadyToMount(false);
222
+ initializedRef.current = false;
223
+ startedRef.current = false;
224
+ setMountAttempt(n => n + 1);
225
+ };
226
+
227
+ // Normalize any picked/captured asset to JPEG base64 so the OCR backend receives
228
+ // the same byte format the in-app capture produces (gallery sources can be PNG/
229
+ // WebP/HEIC), then route it through the identical capture callback.
230
+ const deliverFromPicker = async result => {
231
+ if (result.canceled || !result.assets || !result.assets[0]) return;
232
+ const asset = result.assets[0];
233
+ let base64 = asset.base64 ?? undefined;
234
+ try {
235
+ const jpeg = await (0, _expoImageManipulator.manipulateAsync)(asset.uri, [], {
236
+ base64: true,
237
+ compress: 1,
238
+ format: _expoImageManipulator.SaveFormat.JPEG
239
+ });
240
+ if (jpeg.base64) base64 = jpeg.base64;
241
+ } catch {
242
+ // keep the original base64 if normalization fails
243
+ }
244
+ if (base64 && _captureCallback.captureCallbackRef.current?.onCapture) {
245
+ await _captureCallback.captureCallbackRef.current.onCapture(base64);
246
+ _captureCallback.captureCallbackRef.current = {};
247
+ } else {
248
+ _toastifyReactNative.Toast.show({
249
+ text2: _errors.IMAGE_PROCESS_ERROR_MESSAGE,
250
+ type: "error",
251
+ textColor: theme.primaryText
252
+ });
253
+ }
254
+ };
255
+ const useSystemCamera = async () => {
256
+ try {
257
+ // launchCameraAsync prompts for CAMERA itself; the system camera app is a
258
+ // separate process immune to the embedded preview failure.
259
+ const result = await (0, _expoImagePicker.launchCameraAsync)(fallbackMediaOptions);
260
+ await deliverFromPicker(result);
261
+ } catch (err) {
262
+ _toastifyReactNative.Toast.show({
263
+ text2: (0, _errors.getUserMessage)(err, _errors.ERROR_CATEGORY.CAMERA),
264
+ type: "error",
265
+ textColor: theme.primaryText
266
+ });
267
+ }
268
+ };
269
+ const useGallery = async () => {
270
+ try {
271
+ const result = await (0, _expoImagePicker.launchImageLibraryAsync)(fallbackMediaOptions);
272
+ await deliverFromPicker(result);
273
+ } catch (err) {
274
+ _toastifyReactNative.Toast.show({
275
+ text2: (0, _errors.getUserMessage)(err, _errors.ERROR_CATEGORY.CAMERA),
276
+ type: "error",
277
+ textColor: theme.primaryText
278
+ });
279
+ }
280
+ };
73
281
  const [capturing, setCapturing] = (0, _react.useState)(false);
74
282
  const handleCapture = async () => {
75
283
  if (!camera.current || capturing || !cameraReady) return;
284
+ // A zeroed preview layout would make the crop math divide by zero (NaN/Infinity
285
+ // bounds); fall back to picker capture instead of feeding a bad crop.
286
+ if (!previewLayout.width || !previewLayout.height) {
287
+ setShowFallback(true);
288
+ return;
289
+ }
76
290
  setCapturing(true);
77
291
  try {
78
292
  const snapshot = await camera.current.takePhoto({
@@ -155,15 +369,60 @@ const IdCamera = ({
155
369
  setCapturing(false);
156
370
  }
157
371
  };
158
- if (!device || !hasPermission) {
159
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
372
+ const renderFallbackPanel = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
373
+ style: styles.fallbackOverlay,
374
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
375
+ style: styles.fallbackPanel,
376
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
377
+ style: [globalStyles.h2, styles.fallbackTitle],
378
+ children: "Camera preview isn't loading"
379
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
380
+ style: [globalStyles.t2, styles.fallbackSubtitle],
381
+ children: ["Add the ", actualSideText, " of your ID another way to continue."]
382
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
383
+ style: styles.fallbackButton,
384
+ onPress: retryCamera,
385
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
386
+ style: styles.fallbackButtonText,
387
+ children: "Try again"
388
+ })
389
+ }), canUseSystemCamera && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
390
+ style: styles.fallbackButton,
391
+ onPress: useSystemCamera,
392
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
393
+ style: styles.fallbackButtonText,
394
+ children: "Use system camera"
395
+ })
396
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
397
+ style: styles.fallbackButton,
398
+ onPress: useGallery,
399
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
400
+ style: styles.fallbackButtonText,
401
+ children: "Choose from gallery"
402
+ })
403
+ })]
404
+ })
405
+ });
406
+ if (!hasPermission) {
407
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
160
408
  style: styles.centered,
161
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
409
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
162
410
  style: {
163
411
  fontFamily: "Poppins_400Regular"
164
412
  },
165
- children: "Requesting camera permission..."
166
- })
413
+ children: cameraPermissionDenied ? "Camera permission is required" : "Requesting camera permission..."
414
+ }), cameraPermissionDenied && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
415
+ style: [styles.fallbackButton, {
416
+ marginTop: 24
417
+ }],
418
+ onPress: useGallery,
419
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
420
+ style: [styles.fallbackButtonText, {
421
+ color: theme.primaryText
422
+ }],
423
+ children: "Choose from gallery"
424
+ })
425
+ })]
167
426
  });
168
427
  }
169
428
  const {
@@ -188,19 +447,21 @@ const IdCamera = ({
188
447
  y
189
448
  });
190
449
  },
191
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
450
+ children: device && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
192
451
  outputOrientation: "preview",
193
452
  ref: camera,
194
453
  style: _reactNative.StyleSheet.absoluteFill,
195
454
  device: device,
196
455
  video: false,
197
- isActive: true,
456
+ isActive: isFocused && isReadyToMount,
198
457
  photo: true,
199
- focusable: true,
200
- photoQualityBalance: "balanced",
201
- onInitialized: () => setCameraReady(true),
202
- onError: () => setCameraReady(false)
203
- })
458
+ photoQualityBalance: "speed",
459
+ androidPreviewViewType: "texture-view",
460
+ onInitialized: handleInitialized,
461
+ onStarted: handleStarted,
462
+ onPreviewStarted: handlePreviewStarted,
463
+ onError: handleCameraError
464
+ }, `${device.id}-${mountAttempt}`)
204
465
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
205
466
  style: styles.overlay,
206
467
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -269,7 +530,7 @@ const IdCamera = ({
269
530
  })
270
531
  })
271
532
  })
272
- })]
533
+ }), showFallback && renderFallbackPanel()]
273
534
  });
274
535
  };
275
536
  var _default = exports.default = IdCamera;
@@ -335,6 +596,40 @@ const styles = _reactNative.StyleSheet.create({
335
596
  height: 50,
336
597
  borderRadius: 25,
337
598
  backgroundColor: _Colors.Colors.light.compBack
599
+ },
600
+ fallbackOverlay: {
601
+ ..._reactNative.StyleSheet.absoluteFillObject,
602
+ backgroundColor: "rgba(0,0,0,0.85)",
603
+ alignItems: "center",
604
+ justifyContent: "center",
605
+ paddingHorizontal: 24
606
+ },
607
+ fallbackPanel: {
608
+ width: "100%",
609
+ alignItems: "center",
610
+ gap: 14
611
+ },
612
+ fallbackTitle: {
613
+ color: _Colors.Colors.light.compBack,
614
+ textAlign: "center"
615
+ },
616
+ fallbackSubtitle: {
617
+ color: `${_Colors.Colors.light.compBack}90`,
618
+ textAlign: "center",
619
+ marginBottom: 6
620
+ },
621
+ fallbackButton: {
622
+ width: "100%",
623
+ paddingVertical: 14,
624
+ borderRadius: 12,
625
+ borderWidth: 1,
626
+ borderColor: _Colors.Colors.light.compBack,
627
+ alignItems: "center"
628
+ },
629
+ fallbackButtonText: {
630
+ fontFamily: "Poppins_400Regular",
631
+ fontSize: 16,
632
+ color: _Colors.Colors.light.compBack
338
633
  }
339
634
  });
340
635
  //# sourceMappingURL=IdCamera.js.map