@scalebun/react-native 1.1.0 → 1.2.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 (373) hide show
  1. package/dist/scalebun.full.js +33132 -0
  2. package/dist/scalebun.full.js.map +1 -0
  3. package/dist/scalebun.slim.js +29930 -0
  4. package/dist/scalebun.slim.js.map +1 -0
  5. package/lib/commonjs/bootstrap/FeatureRegistry.js +4 -4
  6. package/lib/commonjs/bootstrap/FeatureRegistry.js.map +1 -1
  7. package/lib/commonjs/bootstrap/SDKBootstrapper.js +8 -8
  8. package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
  9. package/lib/commonjs/core/config/schema.js +412 -232
  10. package/lib/commonjs/core/config/schema.js.map +1 -1
  11. package/lib/commonjs/core/constants/protocol.js +31 -0
  12. package/lib/commonjs/core/constants/protocol.js.map +1 -0
  13. package/lib/commonjs/core/constants/timings.js +4 -1
  14. package/lib/commonjs/core/constants/timings.js.map +1 -1
  15. package/lib/commonjs/core/lifecycle/appLifecycle.js +1 -1
  16. package/lib/commonjs/core/lifecycle/appLifecycle.js.map +1 -1
  17. package/lib/commonjs/debug/bootstrap.js +30 -10
  18. package/lib/commonjs/debug/bootstrap.js.map +1 -1
  19. package/lib/commonjs/debug/exportBridge.js +5 -3
  20. package/lib/commonjs/debug/exportBridge.js.map +1 -1
  21. package/lib/commonjs/debug/hostResolver.js +2 -2
  22. package/lib/commonjs/debug/hostResolver.js.map +1 -1
  23. package/lib/commonjs/debug/perfWiring.js +4 -4
  24. package/lib/commonjs/debug/perfWiring.js.map +1 -1
  25. package/lib/commonjs/debug/replayWiring.js +5 -5
  26. package/lib/commonjs/debug/replayWiring.js.map +1 -1
  27. package/lib/commonjs/debug/screenTracking.js +2 -2
  28. package/lib/commonjs/debug/screenTracking.js.map +1 -1
  29. package/lib/commonjs/debug/sessionWiring.js +2 -2
  30. package/lib/commonjs/debug/sessionWiring.js.map +1 -1
  31. package/lib/commonjs/features/crash/NativeCrashFeature.js +1 -1
  32. package/lib/commonjs/features/crash/NativeCrashFeature.js.map +1 -1
  33. package/lib/commonjs/features/crash/globalHandler.js +3 -3
  34. package/lib/commonjs/features/crash/globalHandler.js.map +1 -1
  35. package/lib/commonjs/features/crash/nativeCrashBridge.js +7 -7
  36. package/lib/commonjs/features/crash/nativeCrashBridge.js.map +1 -1
  37. package/lib/commonjs/features/crash/rejectionHandler.js +2 -2
  38. package/lib/commonjs/features/crash/rejectionHandler.js.map +1 -1
  39. package/lib/commonjs/features/engage/EngageArchetypeRenderers.js +0 -9
  40. package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +1 -1
  41. package/lib/commonjs/features/engage/EngageInAppView.js +1 -1
  42. package/lib/commonjs/features/engage/EngageInAppView.js.map +1 -1
  43. package/lib/commonjs/features/engage/EngagePromptProvider.js +17 -17
  44. package/lib/commonjs/features/engage/EngagePromptProvider.js.map +1 -1
  45. package/lib/commonjs/features/engage/EngageTransport.js +5 -5
  46. package/lib/commonjs/features/engage/EngageTransport.js.map +1 -1
  47. package/lib/commonjs/features/engage/engagePushTokenBridge.js +4 -4
  48. package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +1 -1
  49. package/lib/commonjs/features/engage/engageShakeBridge.js +2 -2
  50. package/lib/commonjs/features/engage/engageShakeBridge.js.map +1 -1
  51. package/lib/commonjs/features/engage/engageSignals.js +1 -1
  52. package/lib/commonjs/features/engage/engageSignals.js.map +1 -1
  53. package/lib/commonjs/features/engage/engageStoreReviewBridge.js +2 -2
  54. package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +1 -1
  55. package/lib/commonjs/features/engage/engageTestSeenStore.js +1 -1
  56. package/lib/commonjs/features/engage/engageTestSeenStore.js.map +1 -1
  57. package/lib/commonjs/features/engage/engageThrottle.js +4 -4
  58. package/lib/commonjs/features/engage/engageThrottle.js.map +1 -1
  59. package/lib/commonjs/features/engage/engageTriggerEngine.js +4 -4
  60. package/lib/commonjs/features/engage/engageTriggerEngine.js.map +1 -1
  61. package/lib/commonjs/features/engage/engageWindowInsets.js +1 -1
  62. package/lib/commonjs/features/engage/engageWindowInsets.js.map +1 -1
  63. package/lib/commonjs/features/install-referrer/installReferrer.js +3 -3
  64. package/lib/commonjs/features/install-referrer/installReferrer.js.map +1 -1
  65. package/lib/commonjs/features/journey/calibrationContext.js +0 -9
  66. package/lib/commonjs/features/journey/calibrationContext.js.map +1 -1
  67. package/lib/commonjs/features/journey/journeyManager.js +4 -1
  68. package/lib/commonjs/features/journey/journeyManager.js.map +1 -1
  69. package/lib/commonjs/features/navigation/AutoScreenDetector.js +4 -4
  70. package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +1 -1
  71. package/lib/commonjs/features/ota/OtaOrchestrator.js +18 -18
  72. package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
  73. package/lib/commonjs/features/ota/geoCountry.js +2 -2
  74. package/lib/commonjs/features/ota/geoCountry.js.map +1 -1
  75. package/lib/commonjs/features/ota/retry.js +2 -2
  76. package/lib/commonjs/features/ota/retry.js.map +1 -1
  77. package/lib/commonjs/features/replay/core/logger/logger.js +0 -4
  78. package/lib/commonjs/features/replay/core/logger/logger.js.map +1 -1
  79. package/lib/commonjs/features/replay/integrations/network/networkAdapter.js +1 -54
  80. package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +1 -1
  81. package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js +1 -1
  82. package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +1 -1
  83. package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js +1 -1
  84. package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +1 -1
  85. package/lib/commonjs/features/replay/pipeline/batching/batchManager.js +1 -1
  86. package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +1 -1
  87. package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js +1 -1
  88. package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +1 -1
  89. package/lib/commonjs/features/replay/public/api.js +7 -7
  90. package/lib/commonjs/features/replay/public/api.js.map +1 -1
  91. package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js +9 -9
  92. package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +1 -1
  93. package/lib/commonjs/features/session/BackendSessionAdapter.js +41 -41
  94. package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
  95. package/lib/commonjs/features/session/DesktopSessionTransport.js +5 -2
  96. package/lib/commonjs/features/session/DesktopSessionTransport.js.map +1 -1
  97. package/lib/commonjs/features/session/JourneyEventPipeline.js +1 -1
  98. package/lib/commonjs/features/session/JourneyEventPipeline.js.map +1 -1
  99. package/lib/commonjs/features/session/ReplayCaptureManager.js +14 -14
  100. package/lib/commonjs/features/session/ReplayCaptureManager.js.map +1 -1
  101. package/lib/commonjs/features/session/SessionManager.js +9 -9
  102. package/lib/commonjs/features/session/SessionManager.js.map +1 -1
  103. package/lib/commonjs/features/session/SyncDecisionEngine.js +1 -1
  104. package/lib/commonjs/features/session/SyncDecisionEngine.js.map +1 -1
  105. package/lib/commonjs/features/skan/skanBridge.js +6 -15
  106. package/lib/commonjs/features/skan/skanBridge.js.map +1 -1
  107. package/lib/commonjs/features/skan/skanConversionManager.js +5 -5
  108. package/lib/commonjs/features/skan/skanConversionManager.js.map +1 -1
  109. package/lib/commonjs/integrations/fetch/fetchInterceptor.js +1 -1
  110. package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +1 -1
  111. package/lib/commonjs/integrations/xhr/xhrInterceptor.js +1 -1
  112. package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +1 -1
  113. package/lib/commonjs/metro/composeSourceMap.js +105 -0
  114. package/lib/commonjs/metro/composeSourceMap.js.map +1 -0
  115. package/lib/commonjs/metro/featureModules.js +131 -0
  116. package/lib/commonjs/metro/featureModules.js.map +1 -0
  117. package/lib/commonjs/metro/index.js +123 -2
  118. package/lib/commonjs/metro/index.js.map +1 -1
  119. package/lib/commonjs/metro/serializerCompose.js +129 -0
  120. package/lib/commonjs/metro/serializerCompose.js.map +1 -0
  121. package/lib/commonjs/pipeline/dispatcher/dispatcher.js +1 -1
  122. package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +1 -1
  123. package/lib/commonjs/pipeline/queue/flushQueue.js +2 -2
  124. package/lib/commonjs/pipeline/queue/flushQueue.js.map +1 -1
  125. package/lib/commonjs/pipeline/queue/persistentQueue.js +6 -37
  126. package/lib/commonjs/pipeline/queue/persistentQueue.js.map +1 -1
  127. package/lib/commonjs/pipeline/scheduler/flushScheduler.js +1 -1
  128. package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +1 -1
  129. package/lib/commonjs/public/ScaleBunFacade.js +15 -15
  130. package/lib/commonjs/public/ScaleBunFacade.js.map +1 -1
  131. package/lib/commonjs/push/PushManager.js +3 -3
  132. package/lib/commonjs/push/PushManager.js.map +1 -1
  133. package/lib/commonjs/push/adapters/NativeBridgeAdapter.js +1 -1
  134. package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +1 -1
  135. package/lib/commonjs/push/native/nativeNotifications.js +7 -18
  136. package/lib/commonjs/push/native/nativeNotifications.js.map +1 -1
  137. package/lib/commonjs/storage/StorageBackend.js +1 -1
  138. package/lib/commonjs/storage/StorageBackend.js.map +1 -1
  139. package/lib/module/bootstrap/FeatureRegistry.js +4 -4
  140. package/lib/module/bootstrap/FeatureRegistry.js.map +1 -1
  141. package/lib/module/bootstrap/SDKBootstrapper.js +8 -8
  142. package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
  143. package/lib/module/core/config/schema.js +411 -231
  144. package/lib/module/core/config/schema.js.map +1 -1
  145. package/lib/module/core/constants/protocol.js +25 -0
  146. package/lib/module/core/constants/protocol.js.map +1 -0
  147. package/lib/module/core/constants/timings.js +3 -1
  148. package/lib/module/core/constants/timings.js.map +1 -1
  149. package/lib/module/core/lifecycle/appLifecycle.js +1 -1
  150. package/lib/module/core/lifecycle/appLifecycle.js.map +1 -1
  151. package/lib/module/debug/bootstrap.js +30 -9
  152. package/lib/module/debug/bootstrap.js.map +1 -1
  153. package/lib/module/debug/exportBridge.js +5 -3
  154. package/lib/module/debug/exportBridge.js.map +1 -1
  155. package/lib/module/debug/hostResolver.js +2 -2
  156. package/lib/module/debug/hostResolver.js.map +1 -1
  157. package/lib/module/debug/perfWiring.js +4 -4
  158. package/lib/module/debug/perfWiring.js.map +1 -1
  159. package/lib/module/debug/replayWiring.js +5 -5
  160. package/lib/module/debug/replayWiring.js.map +1 -1
  161. package/lib/module/debug/screenTracking.js +2 -2
  162. package/lib/module/debug/screenTracking.js.map +1 -1
  163. package/lib/module/debug/sessionWiring.js +2 -2
  164. package/lib/module/debug/sessionWiring.js.map +1 -1
  165. package/lib/module/features/crash/NativeCrashFeature.js +1 -1
  166. package/lib/module/features/crash/NativeCrashFeature.js.map +1 -1
  167. package/lib/module/features/crash/globalHandler.js +3 -3
  168. package/lib/module/features/crash/globalHandler.js.map +1 -1
  169. package/lib/module/features/crash/nativeCrashBridge.js +7 -7
  170. package/lib/module/features/crash/nativeCrashBridge.js.map +1 -1
  171. package/lib/module/features/crash/rejectionHandler.js +2 -2
  172. package/lib/module/features/crash/rejectionHandler.js.map +1 -1
  173. package/lib/module/features/engage/EngageArchetypeRenderers.js +0 -8
  174. package/lib/module/features/engage/EngageArchetypeRenderers.js.map +1 -1
  175. package/lib/module/features/engage/EngageInAppView.js +1 -1
  176. package/lib/module/features/engage/EngageInAppView.js.map +1 -1
  177. package/lib/module/features/engage/EngagePromptProvider.js +17 -17
  178. package/lib/module/features/engage/EngagePromptProvider.js.map +1 -1
  179. package/lib/module/features/engage/EngageTransport.js +5 -5
  180. package/lib/module/features/engage/EngageTransport.js.map +1 -1
  181. package/lib/module/features/engage/engagePushTokenBridge.js +4 -4
  182. package/lib/module/features/engage/engagePushTokenBridge.js.map +1 -1
  183. package/lib/module/features/engage/engageShakeBridge.js +2 -2
  184. package/lib/module/features/engage/engageShakeBridge.js.map +1 -1
  185. package/lib/module/features/engage/engageSignals.js +1 -1
  186. package/lib/module/features/engage/engageSignals.js.map +1 -1
  187. package/lib/module/features/engage/engageStoreReviewBridge.js +2 -2
  188. package/lib/module/features/engage/engageStoreReviewBridge.js.map +1 -1
  189. package/lib/module/features/engage/engageTestSeenStore.js +1 -1
  190. package/lib/module/features/engage/engageTestSeenStore.js.map +1 -1
  191. package/lib/module/features/engage/engageThrottle.js +4 -4
  192. package/lib/module/features/engage/engageThrottle.js.map +1 -1
  193. package/lib/module/features/engage/engageTriggerEngine.js +4 -4
  194. package/lib/module/features/engage/engageTriggerEngine.js.map +1 -1
  195. package/lib/module/features/engage/engageWindowInsets.js +1 -1
  196. package/lib/module/features/engage/engageWindowInsets.js.map +1 -1
  197. package/lib/module/features/install-referrer/installReferrer.js +3 -3
  198. package/lib/module/features/install-referrer/installReferrer.js.map +1 -1
  199. package/lib/module/features/journey/calibrationContext.js +0 -8
  200. package/lib/module/features/journey/calibrationContext.js.map +1 -1
  201. package/lib/module/features/journey/journeyManager.js +3 -1
  202. package/lib/module/features/journey/journeyManager.js.map +1 -1
  203. package/lib/module/features/navigation/AutoScreenDetector.js +4 -4
  204. package/lib/module/features/navigation/AutoScreenDetector.js.map +1 -1
  205. package/lib/module/features/ota/OtaOrchestrator.js +18 -18
  206. package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
  207. package/lib/module/features/ota/geoCountry.js +2 -2
  208. package/lib/module/features/ota/geoCountry.js.map +1 -1
  209. package/lib/module/features/ota/retry.js +2 -2
  210. package/lib/module/features/ota/retry.js.map +1 -1
  211. package/lib/module/features/replay/core/logger/logger.js +0 -3
  212. package/lib/module/features/replay/core/logger/logger.js.map +1 -1
  213. package/lib/module/features/replay/integrations/network/networkAdapter.js +1 -52
  214. package/lib/module/features/replay/integrations/network/networkAdapter.js.map +1 -1
  215. package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js +1 -1
  216. package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +1 -1
  217. package/lib/module/features/replay/integrations/touch/ReplayRoot.js +1 -1
  218. package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +1 -1
  219. package/lib/module/features/replay/pipeline/batching/batchManager.js +1 -1
  220. package/lib/module/features/replay/pipeline/batching/batchManager.js.map +1 -1
  221. package/lib/module/features/replay/pipeline/retry/retryPolicy.js +1 -1
  222. package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +1 -1
  223. package/lib/module/features/replay/public/api.js +7 -7
  224. package/lib/module/features/replay/public/api.js.map +1 -1
  225. package/lib/module/features/replay/replay/session/sessionOrchestrator.js +9 -9
  226. package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +1 -1
  227. package/lib/module/features/session/BackendSessionAdapter.js +41 -41
  228. package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
  229. package/lib/module/features/session/DesktopSessionTransport.js +4 -2
  230. package/lib/module/features/session/DesktopSessionTransport.js.map +1 -1
  231. package/lib/module/features/session/JourneyEventPipeline.js +1 -1
  232. package/lib/module/features/session/JourneyEventPipeline.js.map +1 -1
  233. package/lib/module/features/session/ReplayCaptureManager.js +14 -14
  234. package/lib/module/features/session/ReplayCaptureManager.js.map +1 -1
  235. package/lib/module/features/session/SessionManager.js +9 -9
  236. package/lib/module/features/session/SessionManager.js.map +1 -1
  237. package/lib/module/features/session/SyncDecisionEngine.js +1 -1
  238. package/lib/module/features/session/SyncDecisionEngine.js.map +1 -1
  239. package/lib/module/features/skan/skanBridge.js +6 -14
  240. package/lib/module/features/skan/skanBridge.js.map +1 -1
  241. package/lib/module/features/skan/skanConversionManager.js +5 -5
  242. package/lib/module/features/skan/skanConversionManager.js.map +1 -1
  243. package/lib/module/integrations/fetch/fetchInterceptor.js +1 -1
  244. package/lib/module/integrations/fetch/fetchInterceptor.js.map +1 -1
  245. package/lib/module/integrations/xhr/xhrInterceptor.js +1 -1
  246. package/lib/module/integrations/xhr/xhrInterceptor.js.map +1 -1
  247. package/lib/module/metro/composeSourceMap.js +97 -0
  248. package/lib/module/metro/composeSourceMap.js.map +1 -0
  249. package/lib/module/metro/featureModules.js +123 -0
  250. package/lib/module/metro/featureModules.js.map +1 -0
  251. package/lib/module/metro/index.js +122 -2
  252. package/lib/module/metro/index.js.map +1 -1
  253. package/lib/module/metro/serializerCompose.js +120 -0
  254. package/lib/module/metro/serializerCompose.js.map +1 -0
  255. package/lib/module/pipeline/dispatcher/dispatcher.js +1 -1
  256. package/lib/module/pipeline/dispatcher/dispatcher.js.map +1 -1
  257. package/lib/module/pipeline/queue/flushQueue.js +2 -2
  258. package/lib/module/pipeline/queue/flushQueue.js.map +1 -1
  259. package/lib/module/pipeline/queue/persistentQueue.js +6 -36
  260. package/lib/module/pipeline/queue/persistentQueue.js.map +1 -1
  261. package/lib/module/pipeline/scheduler/flushScheduler.js +1 -1
  262. package/lib/module/pipeline/scheduler/flushScheduler.js.map +1 -1
  263. package/lib/module/public/ScaleBunFacade.js +15 -15
  264. package/lib/module/public/ScaleBunFacade.js.map +1 -1
  265. package/lib/module/push/PushManager.js +3 -3
  266. package/lib/module/push/PushManager.js.map +1 -1
  267. package/lib/module/push/adapters/NativeBridgeAdapter.js +1 -1
  268. package/lib/module/push/adapters/NativeBridgeAdapter.js.map +1 -1
  269. package/lib/module/push/native/nativeNotifications.js +7 -17
  270. package/lib/module/push/native/nativeNotifications.js.map +1 -1
  271. package/lib/module/storage/StorageBackend.js +1 -1
  272. package/lib/module/storage/StorageBackend.js.map +1 -1
  273. package/lib/typescript/core/config/schema.d.ts +61 -40
  274. package/lib/typescript/core/config/schema.d.ts.map +1 -1
  275. package/lib/typescript/core/constants/protocol.d.ts +23 -0
  276. package/lib/typescript/core/constants/protocol.d.ts.map +1 -0
  277. package/lib/typescript/core/constants/timings.d.ts +1 -1
  278. package/lib/typescript/core/constants/timings.d.ts.map +1 -1
  279. package/lib/typescript/debug/bootstrap.d.ts +0 -1
  280. package/lib/typescript/debug/bootstrap.d.ts.map +1 -1
  281. package/lib/typescript/debug/exportBridge.d.ts.map +1 -1
  282. package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts +0 -2
  283. package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts.map +1 -1
  284. package/lib/typescript/features/journey/calibrationContext.d.ts +0 -1
  285. package/lib/typescript/features/journey/calibrationContext.d.ts.map +1 -1
  286. package/lib/typescript/features/journey/journeyManager.d.ts.map +1 -1
  287. package/lib/typescript/features/replay/core/logger/logger.d.ts +0 -1
  288. package/lib/typescript/features/replay/core/logger/logger.d.ts.map +1 -1
  289. package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts +0 -10
  290. package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts.map +1 -1
  291. package/lib/typescript/features/session/DesktopSessionTransport.d.ts.map +1 -1
  292. package/lib/typescript/features/skan/skanBridge.d.ts +0 -2
  293. package/lib/typescript/features/skan/skanBridge.d.ts.map +1 -1
  294. package/lib/typescript/metro/composeSourceMap.d.ts +26 -0
  295. package/lib/typescript/metro/composeSourceMap.d.ts.map +1 -0
  296. package/lib/typescript/metro/featureModules.d.ts +49 -0
  297. package/lib/typescript/metro/featureModules.d.ts.map +1 -0
  298. package/lib/typescript/metro/index.d.ts +22 -0
  299. package/lib/typescript/metro/index.d.ts.map +1 -1
  300. package/lib/typescript/metro/serializerCompose.d.ts +46 -0
  301. package/lib/typescript/metro/serializerCompose.d.ts.map +1 -0
  302. package/lib/typescript/pipeline/queue/persistentQueue.d.ts +0 -10
  303. package/lib/typescript/pipeline/queue/persistentQueue.d.ts.map +1 -1
  304. package/lib/typescript/push/native/nativeNotifications.d.ts +0 -6
  305. package/lib/typescript/push/native/nativeNotifications.d.ts.map +1 -1
  306. package/package.json +15 -11
  307. package/src/bootstrap/FeatureRegistry.ts +4 -4
  308. package/src/bootstrap/SDKBootstrapper.ts +8 -8
  309. package/src/core/config/schema.ts +353 -235
  310. package/src/core/constants/protocol.ts +24 -0
  311. package/src/core/constants/timings.ts +3 -1
  312. package/src/core/lifecycle/appLifecycle.ts +1 -1
  313. package/src/debug/bootstrap.ts +40 -7
  314. package/src/debug/exportBridge.ts +5 -3
  315. package/src/debug/hostResolver.ts +2 -2
  316. package/src/debug/perfWiring.ts +4 -4
  317. package/src/debug/replayWiring.ts +5 -5
  318. package/src/debug/screenTracking.ts +2 -2
  319. package/src/debug/sessionWiring.ts +2 -2
  320. package/src/features/crash/NativeCrashFeature.ts +1 -1
  321. package/src/features/crash/globalHandler.ts +3 -3
  322. package/src/features/crash/nativeCrashBridge.ts +7 -7
  323. package/src/features/crash/rejectionHandler.ts +2 -2
  324. package/src/features/engage/EngageArchetypeRenderers.tsx +0 -11
  325. package/src/features/engage/EngageInAppView.tsx +1 -1
  326. package/src/features/engage/EngagePromptProvider.tsx +17 -17
  327. package/src/features/engage/EngageTransport.ts +5 -5
  328. package/src/features/engage/engagePushTokenBridge.ts +4 -4
  329. package/src/features/engage/engageShakeBridge.ts +2 -2
  330. package/src/features/engage/engageSignals.ts +1 -1
  331. package/src/features/engage/engageStoreReviewBridge.ts +2 -2
  332. package/src/features/engage/engageTestSeenStore.ts +1 -1
  333. package/src/features/engage/engageThrottle.ts +4 -4
  334. package/src/features/engage/engageTriggerEngine.ts +4 -4
  335. package/src/features/engage/engageWindowInsets.ts +1 -1
  336. package/src/features/install-referrer/installReferrer.ts +3 -3
  337. package/src/features/journey/calibrationContext.ts +0 -9
  338. package/src/features/journey/journeyManager.ts +3 -1
  339. package/src/features/navigation/AutoScreenDetector.ts +4 -4
  340. package/src/features/ota/OtaOrchestrator.ts +18 -18
  341. package/src/features/ota/geoCountry.ts +2 -2
  342. package/src/features/ota/retry.ts +2 -2
  343. package/src/features/replay/core/logger/logger.ts +0 -4
  344. package/src/features/replay/integrations/network/networkAdapter.ts +1 -56
  345. package/src/features/replay/integrations/react-navigation/navigationIntegration.ts +1 -1
  346. package/src/features/replay/integrations/touch/ReplayRoot.tsx +1 -1
  347. package/src/features/replay/pipeline/batching/batchManager.ts +1 -1
  348. package/src/features/replay/pipeline/retry/retryPolicy.ts +1 -1
  349. package/src/features/replay/public/api.ts +7 -7
  350. package/src/features/replay/replay/session/sessionOrchestrator.ts +9 -9
  351. package/src/features/session/BackendSessionAdapter.ts +41 -41
  352. package/src/features/session/DesktopSessionTransport.ts +4 -2
  353. package/src/features/session/JourneyEventPipeline.ts +1 -1
  354. package/src/features/session/ReplayCaptureManager.ts +14 -14
  355. package/src/features/session/SessionManager.ts +9 -9
  356. package/src/features/session/SyncDecisionEngine.ts +1 -1
  357. package/src/features/skan/skanBridge.ts +6 -14
  358. package/src/features/skan/skanConversionManager.ts +5 -5
  359. package/src/integrations/fetch/fetchInterceptor.ts +1 -1
  360. package/src/integrations/xhr/xhrInterceptor.ts +1 -1
  361. package/src/metro/composeSourceMap.ts +104 -0
  362. package/src/metro/featureModules.ts +143 -0
  363. package/src/metro/index.ts +173 -1
  364. package/src/metro/serializerCompose.ts +157 -0
  365. package/src/pipeline/dispatcher/dispatcher.ts +1 -1
  366. package/src/pipeline/queue/flushQueue.ts +2 -2
  367. package/src/pipeline/queue/persistentQueue.ts +6 -35
  368. package/src/pipeline/scheduler/flushScheduler.ts +1 -1
  369. package/src/public/ScaleBunFacade.ts +15 -15
  370. package/src/push/PushManager.ts +3 -3
  371. package/src/push/adapters/NativeBridgeAdapter.ts +1 -1
  372. package/src/push/native/nativeNotifications.ts +7 -16
  373. package/src/storage/StorageBackend.ts +1 -1
@@ -87,7 +87,7 @@ export class PersistentQueue {
87
87
  this.config = { ...DEFAULT_PERSISTENCE_CONFIG, ...config };
88
88
  this.meta = this._loadMeta();
89
89
 
90
- logger.debug(
90
+ __DEV__ && logger.debug(
91
91
  `[PersistentQueue] Initialized: count=${this.meta.count}, ` +
92
92
  `bytes=${this.meta.totalBytes}, head=${this.meta.head}, tail=${this.meta.tail}`,
93
93
  );
@@ -150,7 +150,7 @@ export class PersistentQueue {
150
150
  this.meta.totalBytes -= raw.length;
151
151
  } else {
152
152
  // Gap — entry was already evicted or corrupted
153
- logger.debug(`[PersistentQueue] Missing entry at seq=${seq}`);
153
+ __DEV__ && logger.debug(`[PersistentQueue] Missing entry at seq=${seq}`);
154
154
  }
155
155
  }
156
156
 
@@ -224,7 +224,7 @@ export class PersistentQueue {
224
224
  drainLeftovers(): Envelope[] {
225
225
  if (this.meta.count === 0) return [];
226
226
 
227
- logger.info(
227
+ __DEV__ && logger.info(
228
228
  `[PersistentQueue] Draining ${this.meta.count} leftover envelopes ` +
229
229
  `from previous run (${this.meta.totalBytes} bytes)`,
230
230
  );
@@ -311,7 +311,7 @@ export class PersistentQueue {
311
311
  totalBytes,
312
312
  };
313
313
 
314
- logger.info(
314
+ __DEV__ && logger.info(
315
315
  `[PersistentQueue] Recovered metadata: ${meta.count} entries, ` +
316
316
  `head=${meta.head}, tail=${meta.tail}, bytes=${meta.totalBytes}`,
317
317
  );
@@ -381,34 +381,5 @@ export class PersistentQueue {
381
381
  }
382
382
  }
383
383
 
384
- // ─── Factory ────────────────────────────────────────────────────────────────
385
-
386
- /**
387
- * Create a PersistentQueue with the best available backend.
388
- *
389
- * If persistence is disabled in config, uses MemoryBackend.
390
- * Otherwise uses the shared first-party durable backend from createStorageBackend().
391
- *
392
- * @param config - Persistence config from SDK init
393
- * @param backend - Override backend (for tests). If provided, skips auto-detection.
394
- */
395
- export function createPersistentQueue(
396
- config: Partial<PersistenceConfig> = {},
397
- backend?: StorageBackend,
398
- ): PersistentQueue {
399
- if (backend) {
400
- return new PersistentQueue(backend, config);
401
- }
402
-
403
- const mergedConfig = { ...DEFAULT_PERSISTENCE_CONFIG, ...config };
404
-
405
- if (!mergedConfig.enabled) {
406
- logger.info('[PersistentQueue] Persistence disabled — using in-memory queue');
407
- const { MemoryBackend } = require('../../storage/StorageBackend');
408
- return new PersistentQueue(new MemoryBackend(), mergedConfig);
409
- }
410
-
411
- const { createStorageBackend } = require('../../storage/StorageBackend');
412
- const autoBackend = createStorageBackend();
413
- return new PersistentQueue(autoBackend, mergedConfig);
414
- }
384
+ // (A createPersistentQueue factory used to live here; every construction site builds
385
+ // PersistentQueue directly with an explicit backend, so the factory was verified dead and removed.)
@@ -16,7 +16,7 @@ export class FlushScheduler {
16
16
  // Skip if the previous tick's flush hasn't settled — avoids
17
17
  // overlapping flushes piling up when the network is slow.
18
18
  if (this.running) {
19
- logger.debug('[FlushScheduler] Previous flush still running — skipping tick');
19
+ __DEV__ && logger.debug('[FlushScheduler] Previous flush still running — skipping tick');
20
20
  return;
21
21
  }
22
22
  this.running = true;
@@ -234,7 +234,7 @@ class ScaleBunFacade {
234
234
  const realQueue = coreContainer.get<PersistentQueue>('PersistentQueue');
235
235
  const buffered = this._preInitBuffer.popBatch(this._preInitBuffer.length());
236
236
  if (buffered.length > 0) {
237
- logger.debug(`[ScaleBun] Draining ${buffered.length} pre-init events into persistent queue`);
237
+ __DEV__ && logger.debug(`[ScaleBun] Draining ${buffered.length} pre-init events into persistent queue`);
238
238
  for (const envelope of buffered) {
239
239
  realQueue.add(envelope);
240
240
  }
@@ -315,7 +315,7 @@ class ScaleBunFacade {
315
315
  if (!dbgConfig) return;
316
316
  (dbgConfig as any).__skipDeprecationWarning = true;
317
317
  this.enableDebug(dbgConfig);
318
- logger.info('[ScaleBun] Debug auto-connected via init({ debug }).');
318
+ __DEV__ && logger.info('[ScaleBun] Debug auto-connected via init({ debug }).');
319
319
  } catch (err: any) {
320
320
  logger.warn('[ScaleBun] Auto debug connection failed:', err?.message);
321
321
  }
@@ -332,7 +332,7 @@ class ScaleBunFacade {
332
332
  const apiBaseUrl = this._apiBaseUrl;
333
333
  if (!enabled || !appId || !clientKey || !apiBaseUrl) {
334
334
  if (enabled && !appId) {
335
- logger.info('[ScaleBun] Envelope event tracking disabled — no appId in init config.');
335
+ __DEV__ && logger.info('[ScaleBun] Envelope event tracking disabled — no appId in init config.');
336
336
  }
337
337
  return;
338
338
  }
@@ -381,7 +381,7 @@ class ScaleBunFacade {
381
381
  onEvent: (eventName, revenue) => this._skanManager?.onEvent(eventName, revenue),
382
382
  });
383
383
  this._eventTracker.start();
384
- logger.info('[ScaleBun] Envelope event tracking started → /v1/batch.');
384
+ __DEV__ && logger.info('[ScaleBun] Envelope event tracking started → /v1/batch.');
385
385
 
386
386
  // Android: capture the Play Install Referrer once per install → feeds the
387
387
  // deterministic click_id path + a one-off install_referrer event (UTM/gclid).
@@ -904,7 +904,7 @@ class ScaleBunFacade {
904
904
  const cfg = await (this._getEngageTransport()?.fetchEngageConfig(context) ?? Promise.resolve(null));
905
905
  const messages = cfg?.inAppMessages ?? [];
906
906
  const previews = messages.filter((m) => m.preview === true || m.isTest === true);
907
- logger.info(
907
+ __DEV__ && logger.info(
908
908
  `[Engage] debugFetchInAppMessages → ${messages.length} message(s), ${previews.length} test preview(s)`,
909
909
  );
910
910
  return messages;
@@ -1215,7 +1215,7 @@ class ScaleBunFacade {
1215
1215
  logger.warn('SDK not initialized. Event dropped:', name);
1216
1216
  return;
1217
1217
  }
1218
- logger.debug('Tracking event:', name);
1218
+ __DEV__ && logger.debug('Tracking event:', name);
1219
1219
 
1220
1220
  // Fan this event out to the Engage trigger engine. Same single funnel,
1221
1221
  // extra observer — lets behavioral triggers (custom_event, failed_action,
@@ -1355,7 +1355,7 @@ class ScaleBunFacade {
1355
1355
  ]);
1356
1356
  return;
1357
1357
  }
1358
- logger.debug('Flushing events from persistent queue...');
1358
+ __DEV__ && logger.debug('Flushing events from persistent queue...');
1359
1359
  const httpClient = coreContainer.get<HttpClient>('HttpClient');
1360
1360
  await flushQueue(this._getQueue(), httpClient, getDeviceId());
1361
1361
  });
@@ -1383,10 +1383,10 @@ class ScaleBunFacade {
1383
1383
  const bootstrapPerfFeature = _getPerformanceFeature();
1384
1384
  if (bootstrapPerfFeature) {
1385
1385
  this._performanceFeature = bootstrapPerfFeature;
1386
- logger.debug('Performance feature linked from bootstrap');
1386
+ __DEV__ && logger.debug('Performance feature linked from bootstrap');
1387
1387
  }
1388
1388
 
1389
- logger.info('Debug enabled');
1389
+ __DEV__ && logger.info('Debug enabled');
1390
1390
  });
1391
1391
  }
1392
1392
 
@@ -1541,14 +1541,14 @@ class ScaleBunFacade {
1541
1541
  return false;
1542
1542
  }
1543
1543
  sm.startSession(metadata as Parameters<SessionManager['startSession']>[0]);
1544
- logger.info('session.start() ✅ sessionId:', sm.currentSessionId);
1544
+ __DEV__ && logger.info('session.start() ✅ sessionId:', sm.currentSessionId);
1545
1545
  return true;
1546
1546
  },
1547
1547
  end: (reason?: 'ended' | 'timeout'): boolean => {
1548
1548
  const sm = SessionManager.getExistingInstance();
1549
1549
  if (!sm || !sm.isActive) return false;
1550
1550
  sm.endSession(reason);
1551
- logger.info('session.end() ✅');
1551
+ __DEV__ && logger.info('session.end() ✅');
1552
1552
  return true;
1553
1553
  },
1554
1554
  emitEvent: (type: string, data?: Record<string, unknown>) => {
@@ -1604,13 +1604,13 @@ class ScaleBunFacade {
1604
1604
  /** Set SDK-wide privacy settings for report generation. */
1605
1605
  setPrivacy: (config: PrivacyConfig): void => {
1606
1606
  this._privacyConfig = { ...this._privacyConfig, ...config };
1607
- logger.debug('[report] Privacy config updated');
1607
+ __DEV__ && logger.debug('[report] Privacy config updated');
1608
1608
  },
1609
1609
 
1610
1610
  /** Set branding for exported reports. */
1611
1611
  setBranding: (config: BrandingConfig): void => {
1612
1612
  this._brandingConfig = { ...this._brandingConfig, ...config };
1613
- logger.debug('[report] Branding config updated');
1613
+ __DEV__ && logger.debug('[report] Branding config updated');
1614
1614
  },
1615
1615
 
1616
1616
  /** Get current privacy config. */
@@ -1661,9 +1661,9 @@ class ScaleBunFacade {
1661
1661
  try {
1662
1662
  const { AutoScreenDetector } = require('../features/navigation/AutoScreenDetector');
1663
1663
  AutoScreenDetector.getInstance().setNavigationRef(ref);
1664
- logger.info('[ScaleBun] Navigation ref set → auto screen detection active');
1664
+ __DEV__ && logger.info('[ScaleBun] Navigation ref set → auto screen detection active');
1665
1665
  } catch (err: any) {
1666
- logger.debug('[ScaleBun] Navigation ref stashed (detector not ready):', err?.message);
1666
+ __DEV__ && logger.debug('[ScaleBun] Navigation ref stashed (detector not ready):', err?.message);
1667
1667
  }
1668
1668
  });
1669
1669
  }
@@ -89,7 +89,7 @@ export class PushManager {
89
89
  return { ok: false, adapter: this.adapter.id, reason: this.reason };
90
90
  }
91
91
 
92
- logger.info('[push] adapter:', this.adapter.id, '—', selection.reason);
92
+ __DEV__ && logger.info('[push] adapter:', this.adapter.id, '—', selection.reason);
93
93
 
94
94
  // 1) Permission
95
95
  if (!options.skipPermissionRequest) {
@@ -215,7 +215,7 @@ export class PushManager {
215
215
  */
216
216
  private async syncToken(token: string, force = false): Promise<any> {
217
217
  if (!force && token === this.lastSyncedToken) {
218
- logger.debug('[push] token unchanged since last registration — skipping');
218
+ __DEV__ && logger.debug('[push] token unchanged since last registration — skipping');
219
219
  return { ok: true, skipped: true };
220
220
  }
221
221
  const platform = Platform.OS === 'ios' ? 'ios' : 'android';
@@ -224,7 +224,7 @@ export class PushManager {
224
224
  // adapter is set (manual setToken before enable).
225
225
  const pushProvider: PushProviderId =
226
226
  this.adapter?.pushProvider() ?? (platform === 'ios' ? 'apns' : 'fcm');
227
- logger.debug(`[push] registering device token with backend (provider=${pushProvider})`);
227
+ __DEV__ && logger.debug(`[push] registering device token with backend (provider=${pushProvider})`);
228
228
  const res = await this.deps.registerToken({ pushToken: token, platform, pushProvider, tokenStatus: 'active' });
229
229
  this.lastSyncedToken = token;
230
230
  return res;
@@ -84,7 +84,7 @@ export class NativeBridgeAdapter implements PushAdapter {
84
84
  public async createAndroidChannel(_channel: AndroidChannelConfig): Promise<void> {
85
85
  // The native bridge has no JS channel API; FCM uses the manifest-declared
86
86
  // fallback channel (default_notification_channel_id). No-op on iOS.
87
- logger.debug('[push] native adapter relies on FCM fallback channel');
87
+ __DEV__ && logger.debug('[push] native adapter relies on FCM fallback channel');
88
88
  }
89
89
 
90
90
  public async getToken(): Promise<string | null> {
@@ -78,7 +78,7 @@ export async function ensureNativeChannel(config: {
78
78
  config.description ?? null,
79
79
  );
80
80
  } catch (err: any) {
81
- logger.debug(`[Push.native] ensureChannel failed (fail-soft): ${err?.message}`);
81
+ __DEV__ && logger.debug(`[Push.native] ensureChannel failed (fail-soft): ${err?.message}`);
82
82
  return false;
83
83
  }
84
84
  }
@@ -102,7 +102,7 @@ export async function showNativeNotification(input: {
102
102
  ...(input.notificationId != null ? { notificationId: input.notificationId } : {}),
103
103
  });
104
104
  } catch (err: any) {
105
- logger.debug(`[Push.native] showNotification failed (fail-soft): ${err?.message}`);
105
+ __DEV__ && logger.debug(`[Push.native] showNotification failed (fail-soft): ${err?.message}`);
106
106
  return false;
107
107
  }
108
108
  }
@@ -124,7 +124,7 @@ export function subscribeNativeNotificationOpened(
124
124
  );
125
125
  return () => sub.remove();
126
126
  } catch (err: any) {
127
- logger.debug(`[Push.native] opened subscription failed (fail-soft): ${err?.message}`);
127
+ __DEV__ && logger.debug(`[Push.native] opened subscription failed (fail-soft): ${err?.message}`);
128
128
  return () => {};
129
129
  }
130
130
  }
@@ -141,20 +141,11 @@ export async function consumeInitialNativeNotification(): Promise<Record<string,
141
141
  if (!payload) return null;
142
142
  return payload.data ?? {};
143
143
  } catch (err: any) {
144
- logger.debug(`[Push.native] consumeInitial failed (fail-soft): ${err?.message}`);
144
+ __DEV__ && logger.debug(`[Push.native] consumeInitial failed (fail-soft): ${err?.message}`);
145
145
  return null;
146
146
  }
147
147
  }
148
148
 
149
- /**
150
- * iOS (UNUserNotificationCenter): the native module owns the full notification
151
- * surface — request authorization, foreground presentation, taps, and cold-start.
152
- * Presence == iOS ScaleBunEngage exposes the notification delegate methods.
153
- */
154
- export function hasNativeNotificationDelegate(): boolean {
155
- const mod = getModule();
156
- return !!(mod?.requestPushPermission && mod?.consumeInitialNotification);
157
- }
158
149
 
159
150
  /**
160
151
  * iOS: request notification authorization natively. Returns the normalized status
@@ -166,7 +157,7 @@ export async function requestNativePushPermission(): Promise<string | null> {
166
157
  if (!mod?.requestPushPermission) return null;
167
158
  return await mod.requestPushPermission();
168
159
  } catch (err: any) {
169
- logger.debug(`[Push.native] requestPushPermission failed (fail-soft): ${err?.message}`);
160
+ __DEV__ && logger.debug(`[Push.native] requestPushPermission failed (fail-soft): ${err?.message}`);
170
161
  return null;
171
162
  }
172
163
  }
@@ -189,7 +180,7 @@ export function subscribeNativeForegroundNotification(
189
180
  );
190
181
  return () => sub.remove();
191
182
  } catch (err: any) {
192
- logger.debug(`[Push.native] foreground subscription failed (fail-soft): ${err?.message}`);
183
+ __DEV__ && logger.debug(`[Push.native] foreground subscription failed (fail-soft): ${err?.message}`);
193
184
  return () => {};
194
185
  }
195
186
  }
@@ -210,7 +201,7 @@ export async function consumeInitialNativeNotificationFull(): Promise<NativeNoti
210
201
  data: payload.data ?? {},
211
202
  };
212
203
  } catch (err: any) {
213
- logger.debug(`[Push.native] consumeInitialFull failed (fail-soft): ${err?.message}`);
204
+ __DEV__ && logger.debug(`[Push.native] consumeInitialFull failed (fail-soft): ${err?.message}`);
214
205
  return null;
215
206
  }
216
207
  }
@@ -244,7 +244,7 @@ export function createStorageBackend(): StorageBackend {
244
244
  if (native) {
245
245
  try {
246
246
  sharedBackend = new NativeKVBackend(native);
247
- logger.debug('[StorageBackend] Using native durable backend (ScaleBunStorage)');
247
+ __DEV__ && logger.debug('[StorageBackend] Using native durable backend (ScaleBunStorage)');
248
248
  return sharedBackend;
249
249
  } catch (e) {
250
250
  logger.warn('[StorageBackend] Native durable store failed to initialize; ' +