@userflow-tech/react-native 0.3.0 → 0.4.0

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 (253) hide show
  1. package/README.md +360 -70
  2. package/docs/anchoring.md +58 -42
  3. package/docs/troubleshooting.md +69 -27
  4. package/expo-plugin/hostDependencyWarnings.d.ts +21 -0
  5. package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -0
  6. package/expo-plugin/hostDependencyWarnings.js +101 -0
  7. package/expo-plugin/hostDependencyWarnings.js.map +1 -0
  8. package/expo-plugin/withUserflow.d.ts.map +1 -1
  9. package/expo-plugin/withUserflow.js +16 -0
  10. package/expo-plugin/withUserflow.js.map +1 -1
  11. package/lib/commonjs/anchors/AnchorRegistry.js +7 -0
  12. package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
  13. package/lib/commonjs/anchors/elementConditionEvaluator.js +189 -55
  14. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
  15. package/lib/commonjs/anchors/elementTapMonitor.js +92 -0
  16. package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -0
  17. package/lib/commonjs/anchors/elementTargetMatch.js +85 -0
  18. package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -0
  19. package/lib/commonjs/anchors/fiber/findAnchorFiber.js +64 -39
  20. package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -1
  21. package/lib/commonjs/anchors/fiber/touchTargetFiber.js +105 -0
  22. package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -0
  23. package/lib/commonjs/anchors/resolveAnchorHost.js +2 -1
  24. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
  25. package/lib/commonjs/anchors/resolveAutoAnchorHost.js +4 -2
  26. package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
  27. package/lib/commonjs/anchors/resolveElementTargets.js +158 -0
  28. package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -0
  29. package/lib/commonjs/anchors/targetPressMonitor.js +9 -3
  30. package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
  31. package/lib/commonjs/anchors/useUserflowAnchor.js +1 -0
  32. package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
  33. package/lib/commonjs/anonymousId.js +16 -7
  34. package/lib/commonjs/anonymousId.js.map +1 -1
  35. package/lib/commonjs/authoring/capturePickerScreenshot.js +9 -1
  36. package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -1
  37. package/lib/commonjs/evalJs/getWebView.js +5 -13
  38. package/lib/commonjs/evalJs/getWebView.js.map +1 -1
  39. package/lib/commonjs/hostAppVersion.js +6 -1
  40. package/lib/commonjs/hostAppVersion.js.map +1 -1
  41. package/lib/commonjs/index.js +5 -0
  42. package/lib/commonjs/index.js.map +1 -1
  43. package/lib/commonjs/installCheck.js +183 -0
  44. package/lib/commonjs/installCheck.js.map +1 -0
  45. package/lib/commonjs/nativeModules.js +44 -0
  46. package/lib/commonjs/nativeModules.js.map +1 -0
  47. package/lib/commonjs/network.js +20 -7
  48. package/lib/commonjs/network.js.map +1 -1
  49. package/lib/commonjs/pairing/deviceId.js +14 -11
  50. package/lib/commonjs/pairing/deviceId.js.map +1 -1
  51. package/lib/commonjs/pairing/tokenStorage.js +17 -4
  52. package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
  53. package/lib/commonjs/runtime/TargetPressBridge.js +12 -1
  54. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
  55. package/lib/commonjs/runtime/UserflowProvider.js +6 -3
  56. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
  57. package/lib/commonjs/storage/asyncStorage.js +67 -0
  58. package/lib/commonjs/storage/asyncStorage.js.map +1 -0
  59. package/lib/commonjs/surfaces/BannerSurface.js +3 -1
  60. package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
  61. package/lib/commonjs/surfaces/safeArea.js +74 -28
  62. package/lib/commonjs/surfaces/safeArea.js.map +1 -1
  63. package/lib/commonjs/version.js +1 -1
  64. package/lib/module/anchors/AnchorRegistry.js +7 -0
  65. package/lib/module/anchors/AnchorRegistry.js.map +1 -1
  66. package/lib/module/anchors/elementConditionEvaluator.js +189 -55
  67. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
  68. package/lib/module/anchors/elementTapMonitor.js +87 -0
  69. package/lib/module/anchors/elementTapMonitor.js.map +1 -0
  70. package/lib/module/anchors/elementTargetMatch.js +78 -0
  71. package/lib/module/anchors/elementTargetMatch.js.map +1 -0
  72. package/lib/module/anchors/fiber/findAnchorFiber.js +62 -39
  73. package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -1
  74. package/lib/module/anchors/fiber/touchTargetFiber.js +100 -0
  75. package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -0
  76. package/lib/module/anchors/resolveAnchorHost.js +2 -1
  77. package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
  78. package/lib/module/anchors/resolveAutoAnchorHost.js +3 -3
  79. package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
  80. package/lib/module/anchors/resolveElementTargets.js +152 -0
  81. package/lib/module/anchors/resolveElementTargets.js.map +1 -0
  82. package/lib/module/anchors/targetPressMonitor.js +8 -3
  83. package/lib/module/anchors/targetPressMonitor.js.map +1 -1
  84. package/lib/module/anchors/useUserflowAnchor.js +1 -0
  85. package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
  86. package/lib/module/anonymousId.js +15 -5
  87. package/lib/module/anonymousId.js.map +1 -1
  88. package/lib/module/authoring/capturePickerScreenshot.js +9 -1
  89. package/lib/module/authoring/capturePickerScreenshot.js.map +1 -1
  90. package/lib/module/evalJs/getWebView.js +5 -13
  91. package/lib/module/evalJs/getWebView.js.map +1 -1
  92. package/lib/module/hostAppVersion.js +6 -1
  93. package/lib/module/hostAppVersion.js.map +1 -1
  94. package/lib/module/index.js +5 -0
  95. package/lib/module/index.js.map +1 -1
  96. package/lib/module/installCheck.js +169 -0
  97. package/lib/module/installCheck.js.map +1 -0
  98. package/lib/module/nativeModules.js +40 -0
  99. package/lib/module/nativeModules.js.map +1 -0
  100. package/lib/module/network.js +20 -7
  101. package/lib/module/network.js.map +1 -1
  102. package/lib/module/pairing/deviceId.js +14 -10
  103. package/lib/module/pairing/deviceId.js.map +1 -1
  104. package/lib/module/pairing/tokenStorage.js +17 -4
  105. package/lib/module/pairing/tokenStorage.js.map +1 -1
  106. package/lib/module/runtime/TargetPressBridge.js +12 -1
  107. package/lib/module/runtime/TargetPressBridge.js.map +1 -1
  108. package/lib/module/runtime/UserflowProvider.js +7 -4
  109. package/lib/module/runtime/UserflowProvider.js.map +1 -1
  110. package/lib/module/storage/asyncStorage.js +61 -0
  111. package/lib/module/storage/asyncStorage.js.map +1 -0
  112. package/lib/module/surfaces/BannerSurface.js +3 -1
  113. package/lib/module/surfaces/BannerSurface.js.map +1 -1
  114. package/lib/module/surfaces/safeArea.js +70 -28
  115. package/lib/module/surfaces/safeArea.js.map +1 -1
  116. package/lib/module/version.js +1 -1
  117. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
  118. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +12 -16
  120. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +36 -0
  122. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +20 -0
  124. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
  126. package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
  128. package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +2 -1
  130. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
  132. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  133. package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts +39 -0
  134. package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +2 -0
  136. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/src/anonymousId.d.ts +2 -0
  139. package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts +2 -1
  142. package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/src/hostAppVersion.d.ts +1 -1
  144. package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/src/installCheck.d.ts +48 -0
  147. package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/src/nativeModules.d.ts +13 -0
  149. package/lib/typescript/commonjs/src/nativeModules.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/src/network.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/src/pairing/deviceId.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
  153. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +2 -1
  154. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts +15 -0
  157. package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +6 -2
  160. package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  162. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
  163. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
  164. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +12 -16
  165. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  166. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +36 -0
  167. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -0
  168. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +20 -0
  169. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -0
  170. package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
  171. package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
  172. package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
  173. package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
  174. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +2 -1
  175. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  176. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
  177. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  178. package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts +39 -0
  179. package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -0
  180. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +2 -0
  181. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
  182. package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
  183. package/lib/typescript/module/src/anonymousId.d.ts +2 -0
  184. package/lib/typescript/module/src/anonymousId.d.ts.map +1 -1
  185. package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
  186. package/lib/typescript/module/src/evalJs/getWebView.d.ts +2 -1
  187. package/lib/typescript/module/src/evalJs/getWebView.d.ts.map +1 -1
  188. package/lib/typescript/module/src/hostAppVersion.d.ts +1 -1
  189. package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -1
  190. package/lib/typescript/module/src/index.d.ts.map +1 -1
  191. package/lib/typescript/module/src/installCheck.d.ts +48 -0
  192. package/lib/typescript/module/src/installCheck.d.ts.map +1 -0
  193. package/lib/typescript/module/src/nativeModules.d.ts +13 -0
  194. package/lib/typescript/module/src/nativeModules.d.ts.map +1 -0
  195. package/lib/typescript/module/src/network.d.ts.map +1 -1
  196. package/lib/typescript/module/src/pairing/deviceId.d.ts.map +1 -1
  197. package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
  198. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +2 -1
  199. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
  200. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
  201. package/lib/typescript/module/src/storage/asyncStorage.d.ts +15 -0
  202. package/lib/typescript/module/src/storage/asyncStorage.d.ts.map +1 -0
  203. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
  204. package/lib/typescript/module/src/surfaces/safeArea.d.ts +6 -2
  205. package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -1
  206. package/lib/typescript/module/src/version.d.ts +1 -1
  207. package/package.json +25 -8
  208. package/src/anchors/AnchorRegistry.ts +12 -0
  209. package/src/anchors/elementConditionEvaluator.ts +235 -70
  210. package/src/anchors/elementTapMonitor.ts +95 -0
  211. package/src/anchors/elementTargetMatch.ts +90 -0
  212. package/src/anchors/fiber/findAnchorFiber.ts +66 -35
  213. package/src/anchors/fiber/touchTargetFiber.ts +125 -0
  214. package/src/anchors/resolveAnchorHost.ts +2 -1
  215. package/src/anchors/resolveAutoAnchorHost.ts +3 -3
  216. package/src/anchors/resolveElementTargets.ts +165 -0
  217. package/src/anchors/targetPressMonitor.ts +12 -3
  218. package/src/anchors/useUserflowAnchor.ts +1 -0
  219. package/src/anonymousId.ts +19 -8
  220. package/src/authoring/capturePickerScreenshot.ts +10 -1
  221. package/src/evalJs/getWebView.ts +6 -13
  222. package/src/hostAppVersion.ts +7 -1
  223. package/src/index.ts +10 -0
  224. package/src/installCheck.ts +225 -0
  225. package/src/nativeModules.ts +48 -0
  226. package/src/network.ts +27 -11
  227. package/src/pairing/deviceId.ts +14 -11
  228. package/src/pairing/tokenStorage.ts +23 -7
  229. package/src/runtime/TargetPressBridge.tsx +17 -1
  230. package/src/runtime/UserflowProvider.tsx +11 -4
  231. package/src/storage/asyncStorage.ts +88 -0
  232. package/src/surfaces/BannerSurface.tsx +7 -5
  233. package/src/surfaces/safeArea.ts +85 -40
  234. package/src/version.ts +1 -1
  235. package/vendor/core/dist/constants.d.ts +2 -0
  236. package/vendor/core/dist/constants.d.ts.map +1 -1
  237. package/vendor/core/dist/constants.js +2 -0
  238. package/vendor/core/dist/constants.js.map +1 -1
  239. package/vendor/core/dist/engine/ClientConditionEngine.d.ts +20 -1
  240. package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
  241. package/vendor/core/dist/engine/ClientConditionEngine.js +13 -10
  242. package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
  243. package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
  244. package/vendor/core/dist/engine/UserflowCore.js +21 -2
  245. package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
  246. package/vendor/core/dist/index.d.ts +1 -1
  247. package/vendor/core/dist/index.d.ts.map +1 -1
  248. package/vendor/core/dist/index.js.map +1 -1
  249. package/vendor/core/dist/version.d.ts +1 -1
  250. package/vendor/core/dist/version.js +1 -1
  251. package/vendor/core/package.json +1 -1
  252. package/vendor/protocol/package.json +1 -1
  253. package/docs/webview-custom-banner-poc.md +0 -64
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import AsyncStorage from '@react-native-async-storage/async-storage';
4
3
  import { UserflowAuthError } from '@userflow-tech/core';
4
+ import { getAsyncStorage } from "./storage/asyncStorage.js";
5
5
 
6
6
  /** Matches the web SDK's `userflow:anonymousId` localStorage key. */
7
7
  export const ANONYMOUS_ID_STORAGE_KEY = 'userflow:anonymousId';
8
+ export const ANONYMOUS_STORAGE_UNAVAILABLE = 'Userflow.identifyAnonymous() is not supported when persistent storage is unavailable.';
9
+ export const ANONYMOUS_STORAGE_NOT_LINKED = 'Userflow.identifyAnonymous() needs @react-native-async-storage/async-storage, which is not ' + "linked in this native build. Add it to your app's package.json, run pod install, and rebuild.";
8
10
  export function uuid() {
9
11
  const webcrypto = globalThis.crypto;
10
12
  if (webcrypto?.randomUUID) return webcrypto.randomUUID();
@@ -15,22 +17,30 @@ export function uuid() {
15
17
  });
16
18
  }
17
19
  export async function getOrCreateAnonymousId() {
20
+ const storage = getAsyncStorage();
21
+ if (!storage) {
22
+ throw new UserflowAuthError(ANONYMOUS_STORAGE_NOT_LINKED, {
23
+ isHostContract: true
24
+ });
25
+ }
18
26
  try {
19
- let externalId = await AsyncStorage.getItem(ANONYMOUS_ID_STORAGE_KEY);
27
+ let externalId = await storage.getItem(ANONYMOUS_ID_STORAGE_KEY);
20
28
  if (!externalId) {
21
29
  externalId = `anon-${uuid()}`;
22
- await AsyncStorage.setItem(ANONYMOUS_ID_STORAGE_KEY, externalId);
30
+ await storage.setItem(ANONYMOUS_ID_STORAGE_KEY, externalId);
23
31
  }
24
32
  return externalId;
25
33
  } catch {
26
- throw new UserflowAuthError('Userflow.identifyAnonymous() is not supported when persistent storage is unavailable.', {
34
+ throw new UserflowAuthError(ANONYMOUS_STORAGE_UNAVAILABLE, {
27
35
  isHostContract: true
28
36
  });
29
37
  }
30
38
  }
31
39
  export async function clearAnonymousId() {
40
+ const storage = getAsyncStorage();
41
+ if (!storage) return;
32
42
  try {
33
- await AsyncStorage.removeItem(ANONYMOUS_ID_STORAGE_KEY);
43
+ await storage.removeItem(ANONYMOUS_ID_STORAGE_KEY);
34
44
  } catch {
35
45
  // Best-effort clear, mirroring the web SDK when storage access is denied.
36
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncStorage","UserflowAuthError","ANONYMOUS_ID_STORAGE_KEY","uuid","webcrypto","globalThis","crypto","randomUUID","replace","char","rand","Math","random","value","toString","getOrCreateAnonymousId","externalId","getItem","setItem","isHostContract","clearAnonymousId","removeItem"],"sourceRoot":"../../src","sources":["anonymousId.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;AACA,OAAO,MAAMC,wBAAwB,GAAG,sBAAsB;AAE9D,OAAO,SAASC,IAAIA,CAAA,EAAW;EAC7B,MAAMC,SAAS,GAAGC,UAAU,CAACC,MAAM;EACnC,IAAIF,SAAS,EAAEG,UAAU,EAAE,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EACxD,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,IAAI,IAAK;IACvE,MAAMC,IAAI,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IACrC,MAAMC,KAAK,GAAGJ,IAAI,KAAK,GAAG,GAAGC,IAAI,GAAIA,IAAI,GAAG,GAAG,GAAI,GAAG;IACtD,OAAOG,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeC,sBAAsBA,CAAA,EAAoB;EAC9D,IAAI;IACF,IAAIC,UAAU,GAAG,MAAMhB,YAAY,CAACiB,OAAO,CAACf,wBAAwB,CAAC;IACrE,IAAI,CAACc,UAAU,EAAE;MACfA,UAAU,GAAG,QAAQb,IAAI,CAAC,CAAC,EAAE;MAC7B,MAAMH,YAAY,CAACkB,OAAO,CAAChB,wBAAwB,EAAEc,UAAU,CAAC;IAClE;IACA,OAAOA,UAAU;EACnB,CAAC,CAAC,MAAM;IACN,MAAM,IAAIf,iBAAiB,CACzB,uFAAuF,EACvF;MAAEkB,cAAc,EAAE;IAAK,CACzB,CAAC;EACH;AACF;AAEA,OAAO,eAAeC,gBAAgBA,CAAA,EAAkB;EACtD,IAAI;IACF,MAAMpB,YAAY,CAACqB,UAAU,CAACnB,wBAAwB,CAAC;EACzD,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["UserflowAuthError","getAsyncStorage","ANONYMOUS_ID_STORAGE_KEY","ANONYMOUS_STORAGE_UNAVAILABLE","ANONYMOUS_STORAGE_NOT_LINKED","uuid","webcrypto","globalThis","crypto","randomUUID","replace","char","rand","Math","random","value","toString","getOrCreateAnonymousId","storage","isHostContract","externalId","getItem","setItem","clearAnonymousId","removeItem"],"sourceRoot":"../../src","sources":["anonymousId.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,eAAe,QAAQ,2BAAwB;;AAExD;AACA,OAAO,MAAMC,wBAAwB,GAAG,sBAAsB;AAE9D,OAAO,MAAMC,6BAA6B,GACxC,uFAAuF;AAEzF,OAAO,MAAMC,4BAA4B,GACvC,6FAA6F,GAC7F,+FAA+F;AAEjG,OAAO,SAASC,IAAIA,CAAA,EAAW;EAC7B,MAAMC,SAAS,GAAGC,UAAU,CAACC,MAAM;EACnC,IAAIF,SAAS,EAAEG,UAAU,EAAE,OAAOH,SAAS,CAACG,UAAU,CAAC,CAAC;EACxD,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,IAAI,IAAK;IACvE,MAAMC,IAAI,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IACrC,MAAMC,KAAK,GAAGJ,IAAI,KAAK,GAAG,GAAGC,IAAI,GAAIA,IAAI,GAAG,GAAG,GAAI,GAAG;IACtD,OAAOG,KAAK,CAACC,QAAQ,CAAC,EAAE,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeC,sBAAsBA,CAAA,EAAoB;EAC9D,MAAMC,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIlB,iBAAiB,CAACI,4BAA4B,EAAE;MAAEe,cAAc,EAAE;IAAK,CAAC,CAAC;EACrF;EACA,IAAI;IACF,IAAIC,UAAU,GAAG,MAAMF,OAAO,CAACG,OAAO,CAACnB,wBAAwB,CAAC;IAChE,IAAI,CAACkB,UAAU,EAAE;MACfA,UAAU,GAAG,QAAQf,IAAI,CAAC,CAAC,EAAE;MAC7B,MAAMa,OAAO,CAACI,OAAO,CAACpB,wBAAwB,EAAEkB,UAAU,CAAC;IAC7D;IACA,OAAOA,UAAU;EACnB,CAAC,CAAC,MAAM;IACN,MAAM,IAAIpB,iBAAiB,CAACG,6BAA6B,EAAE;MAAEgB,cAAc,EAAE;IAAK,CAAC,CAAC;EACtF;AACF;AAEA,OAAO,eAAeI,gBAAgBA,CAAA,EAAkB;EACtD,MAAML,OAAO,GAAGjB,eAAe,CAAC,CAAC;EACjC,IAAI,CAACiB,OAAO,EAAE;EACd,IAAI;IACF,MAAMA,OAAO,CAACM,UAAU,CAACtB,wBAAwB,CAAC;EACpD,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { Dimensions } from 'react-native';
4
+ import { isNativeModuleLinked } from "../nativeModules.js";
4
5
  const MAX_CAPTURE_WIDTH = 480;
6
+ const VIEW_SHOT_MODULE = 'RNViewShot';
5
7
  const MISSING_VIEW_SHOT_WARNING = '[Userflow] Required peer react-native-view-shot is not installed; ' + 'skipping picker screenshot. Install react-native-view-shot (>=5.0.0) and rebuild native.';
6
8
  let didWarnMissingViewShot = false;
7
9
  function warnMissingViewShot() {
@@ -13,8 +15,14 @@ function warnMissingViewShot() {
13
15
  }
14
16
  }
15
17
  function loadViewShot() {
18
+ // view-shot 4 calls TurboModuleRegistry.getEnforcing at import. Metro reports
19
+ // that throw as fatal before this try/catch can see it.
20
+ if (!isNativeModuleLinked(VIEW_SHOT_MODULE)) {
21
+ warnMissingViewShot();
22
+ return null;
23
+ }
16
24
  try {
17
- // Required peer; degrade if unlinked or the JS package is missing.
25
+ // Required peer; degrade if the JS package is missing.
18
26
  // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
19
27
  return require('react-native-view-shot');
20
28
  } catch {
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","MAX_CAPTURE_WIDTH","MISSING_VIEW_SHOT_WARNING","didWarnMissingViewShot","warnMissingViewShot","__DEV__","console","warn","loadViewShot","require","capturePickerScreenshot","rect","viewShot","captureScreen","window","get","winW","width","winH","height","captureWidth","Math","min","round","captureHeight","max","dataUrl","format","quality","result","length","sx","sy","targetX1","x","targetY1","y","targetX2","targetY2","resetViewShotWarningForTests"],"sourceRoot":"../../../src","sources":["authoring/capturePickerScreenshot.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAKzC,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,MAAMC,yBAAyB,GAC7B,oEAAoE,GACpE,0FAA0F;AAY5F,IAAIC,sBAAsB,GAAG,KAAK;AAElC,SAASC,mBAAmBA,CAAA,EAAS;EACnC,IAAID,sBAAsB,EAAE;EAC5BA,sBAAsB,GAAG,IAAI;EAC7B,IAAIE,OAAO,EAAE;IACX;IACAC,OAAO,CAACC,IAAI,CAACL,yBAAyB,CAAC;EACzC;AACF;AAEA,SAASM,YAAYA,CAAA,EAA0B;EAC7C,IAAI;IACF;IACA;IACA,OAAOC,OAAO,CAAC,wBAAwB,CAAC;EAC1C,CAAC,CAAC,MAAM;IACNL,mBAAmB,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,uBAAuBA,CAC3CC,IAAa,EAC4B;EACzC,MAAMC,QAAQ,GAAGJ,YAAY,CAAC,CAAC;EAC/B,IAAI,CAACI,QAAQ,EAAEC,aAAa,EAAE,OAAO,IAAI;EAEzC,IAAI;IACF,MAAMC,MAAM,GAAGd,UAAU,CAACe,GAAG,CAAC,QAAQ,CAAC;IACvC,MAAMC,IAAI,GAAGF,MAAM,CAACG,KAAK,IAAI,CAAC;IAC9B,MAAMC,IAAI,GAAGJ,MAAM,CAACK,MAAM,IAAI,CAAC;IAC/B,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACP,IAAI,CAAC,EAAEf,iBAAiB,CAAC;IAClE,MAAMuB,aAAa,GAAGH,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACE,KAAK,CAACL,IAAI,IAAIE,YAAY,GAAGJ,IAAI,CAAC,CAAC,CAAC;IAE3E,MAAMU,OAAO,GAAG,MAAMd,QAAQ,CAACC,aAAa,CAAC;MAC3Cc,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,UAAU;MAClBZ,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK;IACV,CAAC,CAAC;IACF,IAAI,OAAOE,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;IAEpE,MAAMC,EAAE,GAAGX,YAAY,GAAGJ,IAAI;IAC9B,MAAMgB,EAAE,GAAGR,aAAa,GAAGN,IAAI;IAC/B,OAAO;MACLQ,OAAO;MACPT,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK,aAAa;MACrBS,QAAQ,EAAEZ,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACuB,CAAC,GAAGH,EAAE,CAAC;MACjCI,QAAQ,EAAEd,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACyB,CAAC,GAAGJ,EAAE,CAAC;MACjCK,QAAQ,EAAEhB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACuB,CAAC,GAAGvB,IAAI,CAACM,KAAK,IAAIc,EAAE,CAAC;MAChDO,QAAQ,EAAEjB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACyB,CAAC,GAAGzB,IAAI,CAACQ,MAAM,IAAIa,EAAE;IAClD,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA,OAAO,SAASO,4BAA4BA,CAAA,EAAS;EACnDpC,sBAAsB,GAAG,KAAK;AAChC","ignoreList":[]}
1
+ {"version":3,"names":["Dimensions","isNativeModuleLinked","MAX_CAPTURE_WIDTH","VIEW_SHOT_MODULE","MISSING_VIEW_SHOT_WARNING","didWarnMissingViewShot","warnMissingViewShot","__DEV__","console","warn","loadViewShot","require","capturePickerScreenshot","rect","viewShot","captureScreen","window","get","winW","width","winH","height","captureWidth","Math","min","round","captureHeight","max","dataUrl","format","quality","result","length","sx","sy","targetX1","x","targetY1","y","targetX2","targetY2","resetViewShotWarningForTests"],"sourceRoot":"../../../src","sources":["authoring/capturePickerScreenshot.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,oBAAoB,QAAQ,qBAAkB;AAKvD,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,gBAAgB,GAAG,YAAY;AAErC,MAAMC,yBAAyB,GAC7B,oEAAoE,GACpE,0FAA0F;AAY5F,IAAIC,sBAAsB,GAAG,KAAK;AAElC,SAASC,mBAAmBA,CAAA,EAAS;EACnC,IAAID,sBAAsB,EAAE;EAC5BA,sBAAsB,GAAG,IAAI;EAC7B,IAAIE,OAAO,EAAE;IACX;IACAC,OAAO,CAACC,IAAI,CAACL,yBAAyB,CAAC;EACzC;AACF;AAEA,SAASM,YAAYA,CAAA,EAA0B;EAC7C;EACA;EACA,IAAI,CAACT,oBAAoB,CAACE,gBAAgB,CAAC,EAAE;IAC3CG,mBAAmB,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;EACA,IAAI;IACF;IACA;IACA,OAAOK,OAAO,CAAC,wBAAwB,CAAC;EAC1C,CAAC,CAAC,MAAM;IACNL,mBAAmB,CAAC,CAAC;IACrB,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,uBAAuBA,CAC3CC,IAAa,EAC4B;EACzC,MAAMC,QAAQ,GAAGJ,YAAY,CAAC,CAAC;EAC/B,IAAI,CAACI,QAAQ,EAAEC,aAAa,EAAE,OAAO,IAAI;EAEzC,IAAI;IACF,MAAMC,MAAM,GAAGhB,UAAU,CAACiB,GAAG,CAAC,QAAQ,CAAC;IACvC,MAAMC,IAAI,GAAGF,MAAM,CAACG,KAAK,IAAI,CAAC;IAC9B,MAAMC,IAAI,GAAGJ,MAAM,CAACK,MAAM,IAAI,CAAC;IAC/B,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,KAAK,CAACP,IAAI,CAAC,EAAEhB,iBAAiB,CAAC;IAClE,MAAMwB,aAAa,GAAGH,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACE,KAAK,CAACL,IAAI,IAAIE,YAAY,GAAGJ,IAAI,CAAC,CAAC,CAAC;IAE3E,MAAMU,OAAO,GAAG,MAAMd,QAAQ,CAACC,aAAa,CAAC;MAC3Cc,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,UAAU;MAClBZ,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK;IACV,CAAC,CAAC;IACF,IAAI,OAAOE,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;IAEpE,MAAMC,EAAE,GAAGX,YAAY,GAAGJ,IAAI;IAC9B,MAAMgB,EAAE,GAAGR,aAAa,GAAGN,IAAI;IAC/B,OAAO;MACLQ,OAAO;MACPT,KAAK,EAAEG,YAAY;MACnBD,MAAM,EAAEK,aAAa;MACrBS,QAAQ,EAAEZ,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACuB,CAAC,GAAGH,EAAE,CAAC;MACjCI,QAAQ,EAAEd,IAAI,CAACE,KAAK,CAACZ,IAAI,CAACyB,CAAC,GAAGJ,EAAE,CAAC;MACjCK,QAAQ,EAAEhB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACuB,CAAC,GAAGvB,IAAI,CAACM,KAAK,IAAIc,EAAE,CAAC;MAChDO,QAAQ,EAAEjB,IAAI,CAACE,KAAK,CAAC,CAACZ,IAAI,CAACyB,CAAC,GAAGzB,IAAI,CAACQ,MAAM,IAAIa,EAAE;IAClD,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA,OAAO,SAASO,4BAA4BA,CAAA,EAAS;EACnDpC,sBAAsB,GAAG,KAAK;AAChC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { NativeModules, TurboModuleRegistry } from 'react-native';
3
+ import { isNativeModuleLinked } from "../nativeModules.js";
4
4
 
5
5
  /**
6
6
  * Minimal surface of `react-native-webview` this spike uses.
@@ -13,20 +13,11 @@ let warnedMissing = false;
13
13
  /**
14
14
  * True when the native `react-native-webview` binary is linked. Do not
15
15
  * `require('react-native-webview')` before this passes — the JS entry calls
16
- * `TurboModuleRegistry.getEnforcing('RNCWebViewModule')` and can red-screen.
16
+ * `TurboModuleRegistry.getEnforcing('RNCWebViewModule')` and Metro reports that
17
+ * throw as fatal before try/catch.
17
18
  */
18
19
  export function isEvalJsWebViewNativeLinked() {
19
- try {
20
- if (typeof TurboModuleRegistry?.get === 'function') {
21
- if (TurboModuleRegistry.get('RNCWebViewModule') != null) {
22
- return true;
23
- }
24
- }
25
- const legacy = NativeModules.RNCWebViewModule;
26
- return legacy != null;
27
- } catch {
28
- return false;
29
- }
20
+ return isNativeModuleLinked('RNCWebViewModule');
30
21
  }
31
22
 
32
23
  /**
@@ -61,6 +52,7 @@ export function getEvalJsWebView() {
61
52
  function warnMissing(reason) {
62
53
  if (warnedMissing) return;
63
54
  warnedMissing = true;
55
+ if (!__DEV__) return;
64
56
  if (reason === 'native') {
65
57
  console.warn('Userflow: react-native-webview is listed in package.json but RNCWebViewModule is not in ' + 'this native build. Run npx expo install react-native-webview (or npm install), then ' + 'rebuild the dev client (expo prebuild + run:ios / run:android — not Expo Go). ' + 'Evaluate JavaScript and WebView banners will not run until then.');
66
58
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","TurboModuleRegistry","cached","warnedMissing","isEvalJsWebViewNativeLinked","get","legacy","RNCWebViewModule","getEvalJsWebView","undefined","require","warnMissing","mod","component","WebView","default","reason","console","warn","resetEvalJsWebViewCacheForTests"],"sourceRoot":"../../../src","sources":["evalJs/getWebView.ts"],"mappings":";;AACA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,cAAc;;AAEjE;AACA;AACA;AACA;;AAmCA,IAAIC,MAAiD;AACrD,IAAIC,aAAa,GAAG,KAAK;;AAEzB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAY;EACrD,IAAI;IACF,IAAI,OAAOH,mBAAmB,EAAEI,GAAG,KAAK,UAAU,EAAE;MAClD,IAAIJ,mBAAmB,CAACI,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE;QACvD,OAAO,IAAI;MACb;IACF;IACA,MAAMC,MAAM,GAAGN,aAAa,CAACO,gBAA2B;IACxD,OAAOD,MAAM,IAAI,IAAI;EACvB,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,gBAAgBA,CAAA,EAAkC;EAChE,IAAIN,MAAM,KAAKO,SAAS,EAAE,OAAOP,MAAM;EAEvC,IAAI,OAAOQ,OAAO,KAAK,UAAU,EAAE;IACjCR,MAAM,GAAG,IAAI;IACbS,WAAW,CAAC,aAAa,CAAC;IAC1B,OAAOT,MAAM;EACf;EAEA,IAAI,CAACE,2BAA2B,CAAC,CAAC,EAAE;IAClCF,MAAM,GAAG,IAAI;IACbS,WAAW,CAAC,QAAQ,CAAC;IACrB,OAAOT,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMU,GAAG,GAAGF,OAAO,CAAC,sBAAsB,CAGzC;IACD,MAAMG,SAAS,GAAGD,GAAG,EAAEE,OAAO,IAAIF,GAAG,EAAEG,OAAO;IAC9Cb,MAAM,GAAGW,SAAS,IAAI,IAAI,GAAGA,SAAS,GAAG,IAAI;EAC/C,CAAC,CAAC,MAAM;IACNX,MAAM,GAAG,IAAI;EACf;EAEA,IAAIA,MAAM,IAAI,IAAI,EAAE;IAClBS,WAAW,CAAC,IAAI,CAAC;EACnB;EACA,OAAOT,MAAM;AACf;AAEA,SAASS,WAAWA,CAACK,MAAuC,EAAQ;EAClE,IAAIb,aAAa,EAAE;EACnBA,aAAa,GAAG,IAAI;EACpB,IAAIa,MAAM,KAAK,QAAQ,EAAE;IACvBC,OAAO,CAACC,IAAI,CACV,0FAA0F,GACxF,sFAAsF,GACtF,gFAAgF,GAChF,kEACJ,CAAC;IACD;EACF;EACAD,OAAO,CAACC,IAAI,CACV,sFAAsF,GACpF,oFAAoF,GACpF,yBACJ,CAAC;AACH;;AAEA;AACA,OAAO,SAASC,+BAA+BA,CAAA,EAAS;EACtDjB,MAAM,GAAGO,SAAS;EAClBN,aAAa,GAAG,KAAK;AACvB","ignoreList":[]}
1
+ {"version":3,"names":["isNativeModuleLinked","cached","warnedMissing","isEvalJsWebViewNativeLinked","getEvalJsWebView","undefined","require","warnMissing","mod","component","WebView","default","reason","__DEV__","console","warn","resetEvalJsWebViewCacheForTests"],"sourceRoot":"../../../src","sources":["evalJs/getWebView.ts"],"mappings":";;AAEA,SAASA,oBAAoB,QAAQ,qBAAkB;;AAEvD;AACA;AACA;AACA;;AAmCA,IAAIC,MAAiD;AACrD,IAAIC,aAAa,GAAG,KAAK;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAY;EACrD,OAAOH,oBAAoB,CAAC,kBAAkB,CAAC;AACjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASI,gBAAgBA,CAAA,EAAkC;EAChE,IAAIH,MAAM,KAAKI,SAAS,EAAE,OAAOJ,MAAM;EAEvC,IAAI,OAAOK,OAAO,KAAK,UAAU,EAAE;IACjCL,MAAM,GAAG,IAAI;IACbM,WAAW,CAAC,aAAa,CAAC;IAC1B,OAAON,MAAM;EACf;EAEA,IAAI,CAACE,2BAA2B,CAAC,CAAC,EAAE;IAClCF,MAAM,GAAG,IAAI;IACbM,WAAW,CAAC,QAAQ,CAAC;IACrB,OAAON,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMO,GAAG,GAAGF,OAAO,CAAC,sBAAsB,CAGzC;IACD,MAAMG,SAAS,GAAGD,GAAG,EAAEE,OAAO,IAAIF,GAAG,EAAEG,OAAO;IAC9CV,MAAM,GAAGQ,SAAS,IAAI,IAAI,GAAGA,SAAS,GAAG,IAAI;EAC/C,CAAC,CAAC,MAAM;IACNR,MAAM,GAAG,IAAI;EACf;EAEA,IAAIA,MAAM,IAAI,IAAI,EAAE;IAClBM,WAAW,CAAC,IAAI,CAAC;EACnB;EACA,OAAON,MAAM;AACf;AAEA,SAASM,WAAWA,CAACK,MAAuC,EAAQ;EAClE,IAAIV,aAAa,EAAE;EACnBA,aAAa,GAAG,IAAI;EACpB,IAAI,CAACW,OAAO,EAAE;EACd,IAAID,MAAM,KAAK,QAAQ,EAAE;IACvBE,OAAO,CAACC,IAAI,CACV,0FAA0F,GACxF,sFAAsF,GACtF,gFAAgF,GAChF,kEACJ,CAAC;IACD;EACF;EACAD,OAAO,CAACC,IAAI,CACV,sFAAsF,GACpF,oFAAoF,GACpF,yBACJ,CAAC;AACH;;AAEA;AACA,OAAO,SAASC,+BAA+BA,CAAA,EAAS;EACtDf,MAAM,GAAGI,SAAS;EAClBH,aAAa,GAAG,KAAK;AACvB","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * Read the host app's native marketing version (store version), not the
5
5
  * SDK package version. React Native does not expose the store version on
6
6
  * `Platform`; Expo hosts may use optional expo modules; bare RN reads
7
- * `NativeModules.RNDeviceInfo` constants from the bundled device-info native
7
+ * `NativeModules.RNDeviceInfo` constants from the device-info native
8
8
  * module (after autolink + rebuild). The OS name is `Platform.OS`.
9
9
  *
10
10
  * Do not `require('react-native-device-info')` — that package throws at import
@@ -12,6 +12,7 @@
12
12
  * even inside try/catch.
13
13
  */
14
14
 
15
+ import { isNativeModuleLinked } from "./nativeModules.js";
15
16
  function nonEmptyString(value) {
16
17
  return typeof value === 'string' && value.length > 0 ? value : undefined;
17
18
  }
@@ -28,6 +29,10 @@ function unwrapModule(mod) {
28
29
  return record;
29
30
  }
30
31
  function tryRequireExpoApplication() {
32
+ // expo-application calls requireNativeModule('ExpoApplication') at import.
33
+ // Skip the require when that module is not registered so a missing binary
34
+ // cannot surface as a fatal error.
35
+ if (!isNativeModuleLinked('ExpoApplication')) return undefined;
31
36
  try {
32
37
  // Optional on bare RN — Metro requires a string literal.
33
38
  // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
@@ -1 +1 @@
1
- {"version":3,"names":["nonEmptyString","value","length","undefined","unwrapModule","mod","record","nested","tryRequireExpoApplication","require","tryRequireExpoConstants","loadLinkedDeviceInfoNativeModule","NativeModules","RNDeviceInfo","readExpoApplication","version","build","source","readExpoConstants","expoConfig","configVersion","readDeviceInfoFromNativeModule","module","appVersion","buildNumber","resolveHostAppVersionFromSources","sources","expoApplication","expoConstants","deviceInfoNative","resolveHostAppVersion","resolveHostAppVersionForInit","options","overrideVersion","appBuild","cachedHostAppVersion","cacheHostAppVersionAtInit","getCachedHostAppVersion","HOST_APP_VERSION_USER_ATTRIBUTE","HOST_APP_BUILD_USER_ATTRIBUTE","hostAppVersionUserAttributes","cached","mergeHostAppVersionUserAttributes","attributes","system","Object","keys","resetCachedHostAppVersionForTests","readPlatformOS","os","Platform","OS","formatHostAppVersionLog","resolved","level","message","logHostAppVersion","console","warn","log"],"sourceRoot":"../../src","sources":["hostAppVersion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNativeModuleLinked","nonEmptyString","value","length","undefined","unwrapModule","mod","record","nested","tryRequireExpoApplication","require","tryRequireExpoConstants","loadLinkedDeviceInfoNativeModule","NativeModules","RNDeviceInfo","readExpoApplication","version","build","source","readExpoConstants","expoConfig","configVersion","readDeviceInfoFromNativeModule","module","appVersion","buildNumber","resolveHostAppVersionFromSources","sources","expoApplication","expoConstants","deviceInfoNative","resolveHostAppVersion","resolveHostAppVersionForInit","options","overrideVersion","appBuild","cachedHostAppVersion","cacheHostAppVersionAtInit","getCachedHostAppVersion","HOST_APP_VERSION_USER_ATTRIBUTE","HOST_APP_BUILD_USER_ATTRIBUTE","hostAppVersionUserAttributes","cached","mergeHostAppVersionUserAttributes","attributes","system","Object","keys","resetCachedHostAppVersionForTests","readPlatformOS","os","Platform","OS","formatHostAppVersionLog","resolved","level","message","logHostAppVersion","console","warn","log"],"sourceRoot":"../../src","sources":["hostAppVersion.ts"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,7 @@ import { cacheDeviceContextAtInit, getCachedDeviceContext, logDeviceContext as l
20
20
  import { setEvalJsBridgeHandlers } from "./evalJs/evalJsBridge.js";
21
21
  import { evalJsController } from "./evalJs/evalJsController.js";
22
22
  import { cacheHostAppVersionAtInit, getCachedHostAppVersion, logHostAppVersion as logHostAppVersionToConsole, mergeHostAppVersionUserAttributes } from "./hostAppVersion.js";
23
+ import { commitInitOptions, releaseFailedInitOptions, warnIfInitOptionsIgnored, warnIfInstallIncomplete } from "./installCheck.js";
23
24
  import { LifecycleController } from "./lifecycle.js";
24
25
  import { openFlowNavigateUrl, setHostOnNavigate } from "./navigation/openFlowNavigateUrl.js";
25
26
  import { NetworkController } from "./network.js";
@@ -148,6 +149,7 @@ async function afterIdentify() {
148
149
  export const Userflow = {
149
150
  /** Validate credentials, store configuration, and wire app-lifecycle handling. */
150
151
  init(config) {
152
+ warnIfInitOptionsIgnored(config);
151
153
  cacheHostAppVersionAtInit({
152
154
  ...(config.appVersion !== undefined ? {
153
155
  appVersion: config.appVersion
@@ -156,6 +158,7 @@ export const Userflow = {
156
158
  appBuild: config.appBuild
157
159
  } : {})
158
160
  });
161
+ warnIfInstallIncomplete();
159
162
  cacheDeviceContextAtInit();
160
163
  setHostOnNavigate(config.onNavigate);
161
164
  lifecycle.start();
@@ -185,6 +188,7 @@ export const Userflow = {
185
188
  pairing.notifyInitStarted();
186
189
  void pairing.start();
187
190
  return core.init(config).then(resolved => {
191
+ commitInitOptions();
188
192
  enableScreenTracking();
189
193
  // Pairing connect can take the full socket timeout. Identify, and the
190
194
  // end-user socket that delivers the preview, must not wait on it.
@@ -192,6 +196,7 @@ export const Userflow = {
192
196
  void pairing.notifyInitialized();
193
197
  return resolved;
194
198
  }, error => {
199
+ releaseFailedInitOptions();
195
200
  pairing.notifyInitFailed(error);
196
201
  throw error;
197
202
  });
@@ -1 +1 @@
1
- {"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["anchorChangeTicker","notifyAnchorScreenChange","setCustomScrollIntoView","setCustomScrollIntoViewConfig","setScrollPadding","setScrollPaddingConfig","clearAnonymousId","getOrCreateAnonymousId","didHandleURL","flushPendingPreviewToken","startDeepLinking","stopDeepLinking","cacheDeviceContextAtInit","getCachedDeviceContext","logDeviceContext","logDeviceContextToConsole","mergeDeviceContextUserAttributes","setEvalJsBridgeHandlers","evalJsController","cacheHostAppVersionAtInit","getCachedHostAppVersion","logHostAppVersion","logHostAppVersionToConsole","mergeHostAppVersionUserAttributes","commitInitOptions","releaseFailedInitOptions","warnIfInitOptionsIgnored","warnIfInstallIncomplete","LifecycleController","openFlowNavigateUrl","setHostOnNavigate","NetworkController","getPairingController","installPairingController","attachBannerSessionEngine","clearBannerSessionEngineLocalSession","getBannerSessionEngine","resetBannerSessionEngine","attachClientConditionEngine","resetClientConditionEngine","attachFlowSessionEngine","cancelPendingDraftEnd","clearFlowSessionEngineLocalSession","endDraftFlowSession","endEvalJsFlowSession","getFlowSessionEngine","hasActiveFlowSession","resetFlowSessionEngine","isolateAsync","isolateSync","getUserflowCore","disableScreenTracking","enableScreenTracking","getCurrentScreenLocation","handleScreenChange","reportCurrentScreen","SCREEN_VIEWED_EVENT","screenViewedAttributes","setScreenChangeReporter","setSurfaceInteractionBlocking","setSurfaceInteractionBlockingConfig","SDK_VERSION","EmbedBannerPlaceholder","UserflowProvider","useUserflow","useFlowSessionState","useUserflowScreen","useUserflowAnchor","__userflowAutoAnchor","useUserflowScrollContainer","INACTIVITY_TIMEOUT_MS","SESSION_STALE_AFTER_BACKGROUND_MS","SUSPEND_GRACE_MS","inspectPairingDeepLink","isPairingAttempt","parsePairingDeepLink","isUserflowPairingUrl","PreviewModeBanner","core","lifecycle","suspend","resume","flushPendingSends","clearLocalSession","setFlowSessionId","setBannerSessionId","ensureAlive","hasActiveSession","onScreenResume","network","screenViewedAwaitingIdentify","armScreenViewedForNextIdentify","wireScreenChangeReporter","location","reportActivity","screenKey","path","screen","notify","identified","getUserId","__DEV__","console","log","updateScreen","rethrowHostContract","attrs","track","wireDeepLinking","isIdentified","startFlowWithToken","token","mergeSystemUserAttributes","attributes","afterIdentify","notifyIdentified","Userflow","init","config","appVersion","undefined","appBuild","onNavigate","start","pairing","pairingEndpoint","reset","endDraftSession","notifyInitStarted","then","resolved","notifyInitialized","error","notifyInitFailed","handlePairingUrl","url","handleUrl","exitPreview","setOnNavigate","handler","identify","userId","options","previousId","setClientConditions","identifyAnonymous","anonymousId","group","groupId","updateUser","updateGroup","name","getAttributes","getHostAppVersion","getDeviceContext","teardown","stop","screenName","padding","fn","enabled","setEvalJsContext","values","setHostContext","membership","openUrl","endFlow","sessionIds","warn","message"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ import { isEvalJsWebViewNativeLinked } from "./evalJs/getWebView.js";
4
+ import { isNativeModuleLinked } from "./nativeModules.js";
5
+ import { isAsyncStorageLinked } from "./storage/asyncStorage.js";
6
+ import { isSafeAreaContextInstalled } from "./surfaces/safeArea.js";
7
+ export const INSTALL_CHECK_HEADER = '[Userflow] Native setup is incomplete. Flows may not run until you fix the following, then rebuild the app (a Metro reload is not enough):';
8
+ export const INSTALL_ASYNC_STORAGE_LINE = '- @react-native-async-storage/async-storage is not linked. Anonymous users and Builder pairing will not persist. Add it to the app package.json (npx expo install @react-native-async-storage/async-storage), run pod install on iOS, and rebuild.';
9
+ export const INSTALL_VIEW_SHOT_LINE = '- react-native-view-shot is not linked, so Builder element selection gets no screenshot. Install react-native-view-shot@^5.0.0 and rebuild. On Expo SDK 54, pin ^5.0.0; an unpinned npx expo install resolves 4.0.3.';
10
+ export const INSTALL_WEBVIEW_LINE = '- react-native-webview is not linked. Evaluate JavaScript and WebView banners will not run. Install it (npx expo install react-native-webview) and rebuild.';
11
+ export const INSTALL_DEVICE_INFO_LINE = '- react-native-device-info is not linked, so app_version and app_build are not sent. npm install react-native-device-info, then rebuild.';
12
+ export const INSTALL_CHECK_FOOTER = 'See node_modules/@userflow-tech/react-native/docs/troubleshooting.md.';
13
+
14
+ /**
15
+ * Separate from {@link INSTALL_CHECK_HEADER}. Flows still run without
16
+ * safe-area-context; they draw under the status bar.
17
+ */
18
+ export const INSTALL_SAFE_AREA_WARNING = '[Userflow] react-native-safe-area-context is not installed, so banners, flow cards, and Builder bars draw under the status bar and home indicator. Install it (npx expo install react-native-safe-area-context) and wrap the app in <SafeAreaProvider>.\n' + INSTALL_CHECK_FOOTER;
19
+
20
+ /**
21
+ * Separate from {@link INSTALL_CHECK_HEADER}. Flows still run on view-shot 4;
22
+ * Builder screenshots may not. The installed version is interpolated.
23
+ */
24
+ export function formatViewShotVersionWarning(version) {
25
+ return `[Userflow] react-native-view-shot@${version} is older than 5.0.0, so Builder element selection may not get a screenshot. ` + 'Install react-native-view-shot@^5.0.0 in the same command as the SDK and rebuild. ' + 'Do not retry the install with --force or --legacy-peer-deps; that leaves this version in place. ' + 'On Expo SDK 54, pin ^5.0.0 and add "react-native-view-shot" to expo.install.exclude.\n' + INSTALL_CHECK_FOOTER;
26
+ }
27
+ export const EXPO_GO_WARNING = '[Userflow] This app is running in Expo Go, which cannot load the SDK native modules. Builder preview links will not open the app. Use a development build (npx expo run:ios / npx expo run:android).';
28
+ export const INIT_OPTIONS_IGNORED_WARNING = '[Userflow] Userflow.init() already ran with different options. The new clientToken, serverEndpoint, and pairingEndpoint are ignored because init runs once per process. Userflow.reset() does not apply new credentials. Restart the app to change them.';
29
+ const VIEW_SHOT_MODULE = 'RNViewShot';
30
+ const DEVICE_INFO_MODULE = 'RNDeviceInfo';
31
+ let didWarn = false;
32
+ function readExpoConstants() {
33
+ try {
34
+ // Optional. Bare React Native does not have this package.
35
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
36
+ const mod = require('expo-constants');
37
+ const record = mod?.default ?? mod;
38
+ if (record == null || typeof record !== 'object') return null;
39
+ // Touch the field so a throwing getter (missing package stand-in) is caught.
40
+ void record.executionEnvironment;
41
+ return record;
42
+ } catch {
43
+ return null;
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Installed view-shot version, read from package.json only. Requiring the
49
+ * package entry loads the native module, and view-shot 4 calls
50
+ * `TurboModuleRegistry.getEnforcing` at import.
51
+ */
52
+ function readViewShotVersion() {
53
+ try {
54
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
55
+ const pkg = require('react-native-view-shot/package.json');
56
+ return typeof pkg.version === 'string' && pkg.version.length > 0 ? pkg.version : null;
57
+ } catch {
58
+ return null;
59
+ }
60
+ }
61
+
62
+ /** Dev warning when view-shot 4.x is installed. Null on 5.x or when it is absent. */
63
+ export function viewShotVersionWarning() {
64
+ const version = readViewShotVersion();
65
+ if (!version) return null;
66
+ const match = version.match(/\d+/);
67
+ const major = match ? Number(match[0]) : null;
68
+ if (major == null || major >= 5) return null;
69
+ return formatViewShotVersionWarning(version);
70
+ }
71
+
72
+ /** Lines for missing native modules. Empty when the build looks complete. */
73
+ export function collectInstallFindings() {
74
+ const findings = [];
75
+ if (!isAsyncStorageLinked()) findings.push(INSTALL_ASYNC_STORAGE_LINE);
76
+ if (!isNativeModuleLinked(VIEW_SHOT_MODULE)) findings.push(INSTALL_VIEW_SHOT_LINE);
77
+ if (!isEvalJsWebViewNativeLinked()) findings.push(INSTALL_WEBVIEW_LINE);
78
+ // Expo reads the store version from expo-constants / expo-application.
79
+ // device-info is the bare React Native path.
80
+ if (readExpoConstants() == null && !isNativeModuleLinked(DEVICE_INFO_MODULE)) {
81
+ findings.push(INSTALL_DEVICE_INFO_LINE);
82
+ }
83
+ return findings;
84
+ }
85
+ export function expoGoWarning() {
86
+ const constants = readExpoConstants();
87
+ const environment = constants?.executionEnvironment;
88
+ return environment === 'storeClient' ? EXPO_GO_WARNING : null;
89
+ }
90
+ export function formatInstallWarning(findings) {
91
+ return [INSTALL_CHECK_HEADER, ...findings, INSTALL_CHECK_FOOTER].join('\n');
92
+ }
93
+
94
+ /**
95
+ * One development warning for missing native modules, separate warnings when
96
+ * safe-area-context is not installed or view-shot is older than 5, and a
97
+ * separate warning when the host is Expo Go. Release builds stay quiet. The
98
+ * safe-area and old view-shot warnings are not part of the native-module list:
99
+ * flows still run, and that list says they may not.
100
+ */
101
+ export function warnIfInstallIncomplete() {
102
+ if (!__DEV__ || didWarn) return;
103
+ didWarn = true;
104
+ const findings = collectInstallFindings();
105
+ if (findings.length > 0) {
106
+ // eslint-disable-next-line no-console -- intentional install diagnostic
107
+ console.warn(formatInstallWarning(findings));
108
+ }
109
+ if (!isSafeAreaContextInstalled()) {
110
+ // eslint-disable-next-line no-console -- intentional install diagnostic
111
+ console.warn(INSTALL_SAFE_AREA_WARNING);
112
+ }
113
+ const oldViewShot = viewShotVersionWarning();
114
+ if (oldViewShot) {
115
+ // eslint-disable-next-line no-console -- intentional install diagnostic
116
+ console.warn(oldViewShot);
117
+ }
118
+ const expoGo = expoGoWarning();
119
+ if (expoGo) {
120
+ // eslint-disable-next-line no-console -- intentional install diagnostic
121
+ console.warn(expoGo);
122
+ }
123
+ }
124
+
125
+ /** @internal */
126
+ export function resetInstallCheckForTests() {
127
+ didWarn = false;
128
+ recordedInitOptions = null;
129
+ initOptionsCommitted = false;
130
+ }
131
+ let recordedInitOptions = null;
132
+ /** True once an `init` promise has resolved. A rejection before that clears the record. */
133
+ let initOptionsCommitted = false;
134
+ function recordInitOptions(config) {
135
+ return {
136
+ clientToken: config.clientToken,
137
+ serverEndpoint: config.serverEndpoint ?? '',
138
+ pairingEndpoint: config.pairingEndpoint ?? ''
139
+ };
140
+ }
141
+ export function warnIfInitOptionsIgnored(config) {
142
+ const next = recordInitOptions(config);
143
+ if (!recordedInitOptions) {
144
+ recordedInitOptions = next;
145
+ return;
146
+ }
147
+ if (recordedInitOptions.clientToken === next.clientToken && recordedInitOptions.serverEndpoint === next.serverEndpoint && recordedInitOptions.pairingEndpoint === next.pairingEndpoint) {
148
+ return;
149
+ }
150
+ if (!__DEV__) return;
151
+ // eslint-disable-next-line no-console -- intentional install diagnostic
152
+ console.warn(INIT_OPTIONS_IGNORED_WARNING);
153
+ }
154
+
155
+ /** The in-flight `init` resolved, so later calls really are ignored. */
156
+ export function commitInitOptions() {
157
+ initOptionsCommitted = true;
158
+ }
159
+
160
+ /**
161
+ * The in-flight `init` rejected. Core drops its cached promise and will run
162
+ * the next call, so a corrected token or endpoint must not warn.
163
+ * A rejection after a successful init does not forget that success.
164
+ */
165
+ export function releaseFailedInitOptions() {
166
+ if (initOptionsCommitted) return;
167
+ recordedInitOptions = null;
168
+ }
169
+ //# sourceMappingURL=installCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isEvalJsWebViewNativeLinked","isNativeModuleLinked","isAsyncStorageLinked","isSafeAreaContextInstalled","INSTALL_CHECK_HEADER","INSTALL_ASYNC_STORAGE_LINE","INSTALL_VIEW_SHOT_LINE","INSTALL_WEBVIEW_LINE","INSTALL_DEVICE_INFO_LINE","INSTALL_CHECK_FOOTER","INSTALL_SAFE_AREA_WARNING","formatViewShotVersionWarning","version","EXPO_GO_WARNING","INIT_OPTIONS_IGNORED_WARNING","VIEW_SHOT_MODULE","DEVICE_INFO_MODULE","didWarn","readExpoConstants","mod","require","record","default","executionEnvironment","readViewShotVersion","pkg","length","viewShotVersionWarning","match","major","Number","collectInstallFindings","findings","push","expoGoWarning","constants","environment","formatInstallWarning","join","warnIfInstallIncomplete","__DEV__","console","warn","oldViewShot","expoGo","resetInstallCheckForTests","recordedInitOptions","initOptionsCommitted","recordInitOptions","config","clientToken","serverEndpoint","pairingEndpoint","warnIfInitOptionsIgnored","next","commitInitOptions","releaseFailedInitOptions"],"sourceRoot":"../../src","sources":["installCheck.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Whether a native module is registered in this binary.
5
+ *
6
+ * Check this before `require`ing a package that throws while it loads when the
7
+ * native half is missing. Metro reports that throw as a fatal error before the
8
+ * caller's try/catch runs, which is a red screen in debug and can crash a
9
+ * release build.
10
+ *
11
+ * React Native modules show up on `TurboModuleRegistry` or `NativeModules`.
12
+ * Expo modules are on `globalThis.expo.modules` (see `requireOptionalNativeModule`).
13
+ */
14
+
15
+ function loadReactNative() {
16
+ try {
17
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
18
+ return require('react-native');
19
+ } catch {
20
+ return null;
21
+ }
22
+ }
23
+ export function isNativeModuleLinked(name) {
24
+ const expoModules = globalThis.expo?.modules;
25
+ if (expoModules?.[name] != null) return true;
26
+ const reactNative = loadReactNative();
27
+ if (!reactNative) return false;
28
+ try {
29
+ const turbo = reactNative.TurboModuleRegistry;
30
+ if (typeof turbo?.get === 'function' && turbo.get(name) != null) return true;
31
+ } catch {
32
+ // Fall through to the legacy registry.
33
+ }
34
+ try {
35
+ return reactNative.NativeModules?.[name] != null;
36
+ } catch {
37
+ return false;
38
+ }
39
+ }
40
+ //# sourceMappingURL=nativeModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loadReactNative","require","isNativeModuleLinked","name","expoModules","globalThis","expo","modules","reactNative","turbo","TurboModuleRegistry","get","NativeModules"],"sourceRoot":"../../src","sources":["nativeModules.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,SAASA,eAAeA,CAAA,EAAwB;EAC9C,IAAI;IACF;IACA,OAAOC,OAAO,CAAC,cAAc,CAAC;EAChC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,OAAO,SAASC,oBAAoBA,CAACC,IAAY,EAAW;EAC1D,MAAMC,WAAW,GAAIC,UAAU,CAA4BC,IAAI,EAAEC,OAAO;EACxE,IAAIH,WAAW,GAAGD,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,IAAI;EAE5C,MAAMK,WAAW,GAAGR,eAAe,CAAC,CAAC;EACrC,IAAI,CAACQ,WAAW,EAAE,OAAO,KAAK;EAC9B,IAAI;IACF,MAAMC,KAAK,GAAGD,WAAW,CAACE,mBAAmB;IAC7C,IAAI,OAAOD,KAAK,EAAEE,GAAG,KAAK,UAAU,IAAIF,KAAK,CAACE,GAAG,CAACR,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,IAAI;EAC9E,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,IAAI;IACF,OAAOK,WAAW,CAACI,aAAa,GAAGT,IAAI,CAAC,IAAI,IAAI;EAClD,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF","ignoreList":[]}
@@ -16,13 +16,29 @@
16
16
  * recovers within a few seconds of the next beat / foreground return.
17
17
  */
18
18
 
19
+ import { isNativeModuleLinked } from "./nativeModules.js";
19
20
  function isOnline(status) {
20
21
  return status.isConnected === true && status.isInternetReachable !== false;
21
22
  }
23
+ const NETINFO_MODULE = 'RNCNetInfo';
24
+ const NETINFO_UNAVAILABLE_WARNING = '[Userflow] Optional peer @react-native-community/netinfo is not installed or not linked; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.';
25
+ function warnNetInfoUnavailable() {
26
+ if (!__DEV__) return;
27
+ // eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
28
+ console.warn(NETINFO_UNAVAILABLE_WARNING);
29
+ }
22
30
  function defaultSubscribe(handler) {
23
- // Lazy require so the SDK works without the optional peer. When installed,
24
- // NetInfo makes offline→online reconnect fast; when absent the transport's
25
- // adaptive heartbeat + foreground probe still recover the connection.
31
+ // Check the native module before require. NetInfo throws while its module
32
+ // loads when RNCNetInfo is missing, and Metro reports that as fatal before
33
+ // this try/catch can see it.
34
+ if (!isNativeModuleLinked(NETINFO_MODULE)) {
35
+ warnNetInfoUnavailable();
36
+ return () => {};
37
+ }
38
+
39
+ // Lazy require so the SDK works without the optional peer. When installed
40
+ // and linked, NetInfo makes offline→online reconnect fast; when absent the
41
+ // transport's adaptive heartbeat + foreground probe still recover.
26
42
  try {
27
43
  // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- optional peer at import time
28
44
  const NetInfo = require('@react-native-community/netinfo');
@@ -33,10 +49,7 @@ function defaultSubscribe(handler) {
33
49
  });
34
50
  });
35
51
  } catch {
36
- if (__DEV__) {
37
- // eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
38
- console.warn('[Userflow] Optional peer @react-native-community/netinfo is not installed; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.');
39
- }
52
+ warnNetInfoUnavailable();
40
53
  return () => {};
41
54
  }
42
55
  }
@@ -1 +1 @@
1
- {"version":3,"names":["isOnline","status","isConnected","isInternetReachable","defaultSubscribe","handler","NetInfo","require","addEventListener","state","__DEV__","console","warn","NetworkController","unsubscribe","started","wasOnline","constructor","deps","ensureAlive","subscribe","start","handleStatus","stop","online","previous"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,SAASA,QAAQA,CAACC,MAAqB,EAAW;EAChD,OAAOA,MAAM,CAACC,WAAW,KAAK,IAAI,IAAID,MAAM,CAACE,mBAAmB,KAAK,KAAK;AAC5E;AAEA,SAASC,gBAAgBA,CAACC,OAAwC,EAAc;EAC9E;EACA;EACA;EACA,IAAI;IACF;IACA,MAAMC,OAAO,GAAGC,OAAO,CAAC,iCAAiC,CAOxD;IACD,OAAOD,OAAO,CAACE,gBAAgB,CAAEC,KAAK,IAAK;MACzCJ,OAAO,CAAC;QACNH,WAAW,EAAEO,KAAK,CAACP,WAAW;QAC9BC,mBAAmB,EAAEM,KAAK,CAACN;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACN,IAAIO,OAAO,EAAE;MACX;MACAC,OAAO,CAACC,IAAI,CACV,6EAA6E,GAC3E,4EAA4E,GAC5E,2DACJ,CAAC;IACH;IACA,OAAO,MAAM,CAAC,CAAC;EACjB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,CAAC;EAIrBC,WAAW,GAAwB,IAAI;EACvCC,OAAO,GAAG,KAAK;EACfC,SAAS,GAAmB,IAAI;EAExCC,WAAWA,CAACC,IAA2B,EAAE;IACvC,IAAI,CAACC,WAAW,GAAGD,IAAI,CAACC,WAAW;IACnC,IAAI,CAACC,SAAS,GAAGF,IAAI,CAACE,SAAS,IAAIhB,gBAAgB;EACrD;EAEAiB,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACN,OAAO,EAAE;IAClB,IAAI,CAACA,OAAO,GAAG,IAAI;IACnB,IAAI,CAACD,WAAW,GAAG,IAAI,CAACM,SAAS,CAAEnB,MAAM,IAAK;MAC5C,IAAI,CAACqB,YAAY,CAACrB,MAAM,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEAsB,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,IAAI,CAACR,OAAO,EAAE;IACnB,IAAI,CAACA,OAAO,GAAG,KAAK;IACpB,IAAI,CAACD,WAAW,GAAG,CAAC;IACpB,IAAI,CAACA,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,SAAS,GAAG,IAAI;EACvB;;EAEA;EACAM,YAAYA,CAACrB,MAAqB,EAAQ;IACxC,IAAI,CAAC,IAAI,CAACc,OAAO,EAAE;IAEnB,MAAMS,MAAM,GAAGxB,QAAQ,CAACC,MAAM,CAAC;IAC/B,MAAMwB,QAAQ,GAAG,IAAI,CAACT,SAAS;IAC/B,IAAI,CAACA,SAAS,GAAGQ,MAAM;;IAEvB;IACA,IAAIC,QAAQ,KAAK,IAAI,EAAE;IACvB,IAAI,CAACA,QAAQ,IAAID,MAAM,EAAE;MACvB,IAAI,CAACL,WAAW,CAAC,CAAC;IACpB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["isNativeModuleLinked","isOnline","status","isConnected","isInternetReachable","NETINFO_MODULE","NETINFO_UNAVAILABLE_WARNING","warnNetInfoUnavailable","__DEV__","console","warn","defaultSubscribe","handler","NetInfo","require","addEventListener","state","NetworkController","unsubscribe","started","wasOnline","constructor","deps","ensureAlive","subscribe","start","handleStatus","stop","online","previous"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,oBAAoB,QAAQ,oBAAiB;AActD,SAASC,QAAQA,CAACC,MAAqB,EAAW;EAChD,OAAOA,MAAM,CAACC,WAAW,KAAK,IAAI,IAAID,MAAM,CAACE,mBAAmB,KAAK,KAAK;AAC5E;AAEA,MAAMC,cAAc,GAAG,YAAY;AAEnC,MAAMC,2BAA2B,GAC/B,2FAA2F,GAC3F,4EAA4E,GAC5E,2DAA2D;AAE7D,SAASC,sBAAsBA,CAAA,EAAS;EACtC,IAAI,CAACC,OAAO,EAAE;EACd;EACAC,OAAO,CAACC,IAAI,CAACJ,2BAA2B,CAAC;AAC3C;AAEA,SAASK,gBAAgBA,CAACC,OAAwC,EAAc;EAC9E;EACA;EACA;EACA,IAAI,CAACZ,oBAAoB,CAACK,cAAc,CAAC,EAAE;IACzCE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;;EAEA;EACA;EACA;EACA,IAAI;IACF;IACA,MAAMM,OAAO,GAAGC,OAAO,CAAC,iCAAiC,CAOxD;IACD,OAAOD,OAAO,CAACE,gBAAgB,CAAEC,KAAK,IAAK;MACzCJ,OAAO,CAAC;QACNT,WAAW,EAAEa,KAAK,CAACb,WAAW;QAC9BC,mBAAmB,EAAEY,KAAK,CAACZ;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACNG,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMU,iBAAiB,CAAC;EAIrBC,WAAW,GAAwB,IAAI;EACvCC,OAAO,GAAG,KAAK;EACfC,SAAS,GAAmB,IAAI;EAExCC,WAAWA,CAACC,IAA2B,EAAE;IACvC,IAAI,CAACC,WAAW,GAAGD,IAAI,CAACC,WAAW;IACnC,IAAI,CAACC,SAAS,GAAGF,IAAI,CAACE,SAAS,IAAIb,gBAAgB;EACrD;EAEAc,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACN,OAAO,EAAE;IAClB,IAAI,CAACA,OAAO,GAAG,IAAI;IACnB,IAAI,CAACD,WAAW,GAAG,IAAI,CAACM,SAAS,CAAEtB,MAAM,IAAK;MAC5C,IAAI,CAACwB,YAAY,CAACxB,MAAM,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEAyB,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,IAAI,CAACR,OAAO,EAAE;IACnB,IAAI,CAACA,OAAO,GAAG,KAAK;IACpB,IAAI,CAACD,WAAW,GAAG,CAAC;IACpB,IAAI,CAACA,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,SAAS,GAAG,IAAI;EACvB;;EAEA;EACAM,YAAYA,CAACxB,MAAqB,EAAQ;IACxC,IAAI,CAAC,IAAI,CAACiB,OAAO,EAAE;IAEnB,MAAMS,MAAM,GAAG3B,QAAQ,CAACC,MAAM,CAAC;IAC/B,MAAM2B,QAAQ,GAAG,IAAI,CAACT,SAAS;IAC/B,IAAI,CAACA,SAAS,GAAGQ,MAAM;;IAEvB;IACA,IAAIC,QAAQ,KAAK,IAAI,EAAE;IACvB,IAAI,CAACA,QAAQ,IAAID,MAAM,EAAE;MACvB,IAAI,CAACL,WAAW,CAAC,CAAC;IACpB;EACF;AACF","ignoreList":[]}