@scalebun/react-native 1.10.4 → 1.10.6

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 (802) hide show
  1. package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +19 -0
  2. package/dist/scalebun.full.js +460 -57
  3. package/dist/scalebun.slim.js +457 -62
  4. package/ios/Core/DeviceIdentity.swift +50 -0
  5. package/ios/Profiler/ScaleBunProfilerModule.swift +2 -8
  6. package/ios/ReplaySdk.swift +3 -1
  7. package/lib/commonjs/analytics/EventTracker.js +22 -0
  8. package/lib/commonjs/bootstrap/SDKBootstrapper.js +17 -3
  9. package/lib/commonjs/core/config/schema.js +29 -0
  10. package/lib/commonjs/core/constants/version.js +1 -1
  11. package/lib/commonjs/core/context/device.js +5 -0
  12. package/lib/commonjs/debug/redaction.js +227 -41
  13. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +9 -1
  14. package/lib/commonjs/features/navigation/AutoScreenDetector.js +68 -16
  15. package/lib/commonjs/features/session/BackendSessionAdapter.js +73 -6
  16. package/lib/commonjs/features/session/SessionManager.js +28 -0
  17. package/lib/commonjs/public/ScaleBunFacade.js +113 -2
  18. package/lib/module/analytics/EventTracker.js +22 -0
  19. package/lib/module/bootstrap/SDKBootstrapper.js +17 -3
  20. package/lib/module/core/config/schema.js +29 -0
  21. package/lib/module/core/constants/version.js +1 -1
  22. package/lib/module/core/context/device.js +5 -0
  23. package/lib/module/debug/redaction.js +227 -41
  24. package/lib/module/features/journey/ScaleBunDebugRoot.js +9 -1
  25. package/lib/module/features/navigation/AutoScreenDetector.js +68 -16
  26. package/lib/module/features/session/BackendSessionAdapter.js +73 -6
  27. package/lib/module/features/session/SessionManager.js +28 -0
  28. package/lib/module/public/ScaleBunFacade.js +114 -3
  29. package/lib/typescript/analytics/EventTracker.d.ts +15 -0
  30. package/lib/typescript/core/config/schema.d.ts +8 -0
  31. package/lib/typescript/core/constants/version.d.ts +1 -1
  32. package/lib/typescript/core/context/device.d.ts +1 -0
  33. package/lib/typescript/debug/redaction.d.ts +8 -2
  34. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +25 -0
  35. package/lib/typescript/features/session/BackendSessionAdapter.d.ts +9 -0
  36. package/lib/typescript/features/session/SessionManager.d.ts +15 -0
  37. package/lib/typescript/public/ScaleBunFacade.d.ts +44 -2
  38. package/lib/typescript/public/types.d.ts +1 -1
  39. package/package.json +6 -2
  40. package/src/analytics/EventTracker.ts +19 -0
  41. package/src/bootstrap/SDKBootstrapper.ts +17 -1
  42. package/src/core/config/schema.ts +22 -0
  43. package/src/core/constants/version.ts +1 -1
  44. package/src/core/context/device.ts +6 -0
  45. package/src/debug/redaction.ts +235 -42
  46. package/src/features/journey/ScaleBunDebugRoot.tsx +9 -1
  47. package/src/features/navigation/AutoScreenDetector.ts +70 -16
  48. package/src/features/session/BackendSessionAdapter.ts +81 -7
  49. package/src/features/session/SessionManager.ts +31 -0
  50. package/src/public/ScaleBunFacade.ts +122 -3
  51. package/src/public/types.ts +1 -1
  52. package/dist/scalebun.full.js.map +0 -1
  53. package/dist/scalebun.slim.js.map +0 -1
  54. package/lib/commonjs/analytics/EventTracker.js.map +0 -1
  55. package/lib/commonjs/analytics/automaticEvents.js.map +0 -1
  56. package/lib/commonjs/analytics/batching.js.map +0 -1
  57. package/lib/commonjs/analytics/eventLane.js.map +0 -1
  58. package/lib/commonjs/bootstrap/FeatureRegistry.js.map +0 -1
  59. package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +0 -1
  60. package/lib/commonjs/bucketing/fnv1a32.js.map +0 -1
  61. package/lib/commonjs/compat/codepush.js.map +0 -1
  62. package/lib/commonjs/config/ConfigManager.js.map +0 -1
  63. package/lib/commonjs/config/configTypes.js.map +0 -1
  64. package/lib/commonjs/core/architecture.js.map +0 -1
  65. package/lib/commonjs/core/clock/now.js.map +0 -1
  66. package/lib/commonjs/core/config/defaults.js.map +0 -1
  67. package/lib/commonjs/core/config/schema.js.map +0 -1
  68. package/lib/commonjs/core/constants/endpoints.js.map +0 -1
  69. package/lib/commonjs/core/constants/protocol.js.map +0 -1
  70. package/lib/commonjs/core/constants/timings.js.map +0 -1
  71. package/lib/commonjs/core/constants/version.js.map +0 -1
  72. package/lib/commonjs/core/context/app.js.map +0 -1
  73. package/lib/commonjs/core/context/device.js.map +0 -1
  74. package/lib/commonjs/core/context/session.js.map +0 -1
  75. package/lib/commonjs/core/context/user.js.map +0 -1
  76. package/lib/commonjs/core/contracts/IFeature.js.map +0 -1
  77. package/lib/commonjs/core/di/container.js.map +0 -1
  78. package/lib/commonjs/core/encoding/base64.js.map +0 -1
  79. package/lib/commonjs/core/id/deviceId.js.map +0 -1
  80. package/lib/commonjs/core/id/installationId.js.map +0 -1
  81. package/lib/commonjs/core/id/sessionId.js.map +0 -1
  82. package/lib/commonjs/core/lifecycle/appLifecycle.js.map +0 -1
  83. package/lib/commonjs/core/lifecycle/crashSafe.js.map +0 -1
  84. package/lib/commonjs/core/logger/errorClassification.js.map +0 -1
  85. package/lib/commonjs/core/logger/internalLogger.js.map +0 -1
  86. package/lib/commonjs/core/logger/levels.js.map +0 -1
  87. package/lib/commonjs/crypto/hmacSha256.js.map +0 -1
  88. package/lib/commonjs/debug/bootstrap.js.map +0 -1
  89. package/lib/commonjs/debug/commands.js.map +0 -1
  90. package/lib/commonjs/debug/configBuilder.js.map +0 -1
  91. package/lib/commonjs/debug/exportBridge.js.map +0 -1
  92. package/lib/commonjs/debug/hostResolver.js.map +0 -1
  93. package/lib/commonjs/debug/index.js.map +0 -1
  94. package/lib/commonjs/debug/metrics.js.map +0 -1
  95. package/lib/commonjs/debug/perf.js.map +0 -1
  96. package/lib/commonjs/debug/perfWiring.js.map +0 -1
  97. package/lib/commonjs/debug/protocol.js.map +0 -1
  98. package/lib/commonjs/debug/redaction.js.map +0 -1
  99. package/lib/commonjs/debug/replayWiring.js.map +0 -1
  100. package/lib/commonjs/debug/screenTracking.js.map +0 -1
  101. package/lib/commonjs/debug/sessionWiring.js.map +0 -1
  102. package/lib/commonjs/debug/stream.js.map +0 -1
  103. package/lib/commonjs/debug/transport.js.map +0 -1
  104. package/lib/commonjs/features/bugreport/BugReportFeature.js.map +0 -1
  105. package/lib/commonjs/features/bugreport/buildPayload.js.map +0 -1
  106. package/lib/commonjs/features/bugreport/index.js.map +0 -1
  107. package/lib/commonjs/features/crash/CrashFeature.js.map +0 -1
  108. package/lib/commonjs/features/crash/CrashReporter.js.map +0 -1
  109. package/lib/commonjs/features/crash/NativeCrashFeature.js.map +0 -1
  110. package/lib/commonjs/features/crash/capture.js.map +0 -1
  111. package/lib/commonjs/features/crash/globalHandler.js.map +0 -1
  112. package/lib/commonjs/features/crash/index.js.map +0 -1
  113. package/lib/commonjs/features/crash/nativeCrashBridge.js.map +0 -1
  114. package/lib/commonjs/features/crash/rejectionHandler.js.map +0 -1
  115. package/lib/commonjs/features/engage/EngageAnchor.js.map +0 -1
  116. package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +0 -1
  117. package/lib/commonjs/features/engage/EngageInAppView.js.map +0 -1
  118. package/lib/commonjs/features/engage/EngageInlinePlacement.js.map +0 -1
  119. package/lib/commonjs/features/engage/EngagePromptProvider.js.map +0 -1
  120. package/lib/commonjs/features/engage/EngagePromptView.js.map +0 -1
  121. package/lib/commonjs/features/engage/EngageTransport.js.map +0 -1
  122. package/lib/commonjs/features/engage/EngageVariantContent.js.map +0 -1
  123. package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  124. package/lib/commonjs/features/engage/attachmentCapture.js.map +0 -1
  125. package/lib/commonjs/features/engage/captureVoiceAttachment.js.map +0 -1
  126. package/lib/commonjs/features/engage/engageCoachmarkTour.js.map +0 -1
  127. package/lib/commonjs/features/engage/engageGameLogic.js.map +0 -1
  128. package/lib/commonjs/features/engage/engageMediaSizing.js.map +0 -1
  129. package/lib/commonjs/features/engage/engageMultiStepSheet.js.map +0 -1
  130. package/lib/commonjs/features/engage/engageOutcome.js.map +0 -1
  131. package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +0 -1
  132. package/lib/commonjs/features/engage/engageShakeBridge.js.map +0 -1
  133. package/lib/commonjs/features/engage/engageSignals.js.map +0 -1
  134. package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +0 -1
  135. package/lib/commonjs/features/engage/engageTestSeenStore.js.map +0 -1
  136. package/lib/commonjs/features/engage/engageThrottle.js.map +0 -1
  137. package/lib/commonjs/features/engage/engageTriggerEngine.js.map +0 -1
  138. package/lib/commonjs/features/engage/engageTypes.js.map +0 -1
  139. package/lib/commonjs/features/engage/engageVariantResolver.js.map +0 -1
  140. package/lib/commonjs/features/engage/engageWindowInsets.js.map +0 -1
  141. package/lib/commonjs/features/engage/gestureTriggerDetector.js.map +0 -1
  142. package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  143. package/lib/commonjs/features/install-referrer/installReferrer.js.map +0 -1
  144. package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +0 -1
  145. package/lib/commonjs/features/journey/ScaleBunFlatList.js.map +0 -1
  146. package/lib/commonjs/features/journey/ScaleBunImpression.js.map +0 -1
  147. package/lib/commonjs/features/journey/ScaleBunScrollView.js.map +0 -1
  148. package/lib/commonjs/features/journey/ScaleBunSectionList.js.map +0 -1
  149. package/lib/commonjs/features/journey/calibrationContext.js.map +0 -1
  150. package/lib/commonjs/features/journey/gestureBuffer.js.map +0 -1
  151. package/lib/commonjs/features/journey/gestureDetector.js.map +0 -1
  152. package/lib/commonjs/features/journey/impression.js.map +0 -1
  153. package/lib/commonjs/features/journey/journeyManager.js.map +0 -1
  154. package/lib/commonjs/features/journey/journeyTypes.js.map +0 -1
  155. package/lib/commonjs/features/journey/navDetector.js.map +0 -1
  156. package/lib/commonjs/features/journey/screenshotHelper.js.map +0 -1
  157. package/lib/commonjs/features/journey/targetRegistry.js.map +0 -1
  158. package/lib/commonjs/features/journey/touchTarget.js.map +0 -1
  159. package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +0 -1
  160. package/lib/commonjs/features/network/NetworkFeature.js.map +0 -1
  161. package/lib/commonjs/features/network/index.js.map +0 -1
  162. package/lib/commonjs/features/ota/OtaEventEmitter.js.map +0 -1
  163. package/lib/commonjs/features/ota/OtaOrchestrator.js.map +0 -1
  164. package/lib/commonjs/features/ota/OtaTypes.js.map +0 -1
  165. package/lib/commonjs/features/ota/deviceAttributes.js.map +0 -1
  166. package/lib/commonjs/features/ota/environment.js.map +0 -1
  167. package/lib/commonjs/features/ota/geoCountry.js.map +0 -1
  168. package/lib/commonjs/features/ota/retry.js.map +0 -1
  169. package/lib/commonjs/features/ota/signature.js.map +0 -1
  170. package/lib/commonjs/features/ota/useOtaUpdate.js.map +0 -1
  171. package/lib/commonjs/features/performance/PerformanceFeature.js.map +0 -1
  172. package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  173. package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  174. package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  175. package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  176. package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +0 -1
  177. package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  178. package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  179. package/lib/commonjs/features/performance/collectors/UiHangCollector.js.map +0 -1
  180. package/lib/commonjs/features/performance/config.js.map +0 -1
  181. package/lib/commonjs/features/performance/getNativePerformanceModule.js.map +0 -1
  182. package/lib/commonjs/features/performance/index.js.map +0 -1
  183. package/lib/commonjs/features/performance/metrics/MetricsEngine.js.map +0 -1
  184. package/lib/commonjs/features/performance/models.js.map +0 -1
  185. package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +0 -1
  186. package/lib/commonjs/features/profiler/ProfilerFeature.js.map +0 -1
  187. package/lib/commonjs/features/profiler/config.js.map +0 -1
  188. package/lib/commonjs/features/profiler/contracts.js.map +0 -1
  189. package/lib/commonjs/features/profiler/index.js.map +0 -1
  190. package/lib/commonjs/features/profiler/models.js.map +0 -1
  191. package/lib/commonjs/features/profiler/transport/ProfilerTransport.js.map +0 -1
  192. package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  193. package/lib/commonjs/features/replay/bridge/eventEmitter.js.map +0 -1
  194. package/lib/commonjs/features/replay/bridge/nativeModule.js.map +0 -1
  195. package/lib/commonjs/features/replay/core/clock/clock.js.map +0 -1
  196. package/lib/commonjs/features/replay/core/config/defaults.js.map +0 -1
  197. package/lib/commonjs/features/replay/core/config/validator.js.map +0 -1
  198. package/lib/commonjs/features/replay/core/env/environmentDetector.js.map +0 -1
  199. package/lib/commonjs/features/replay/core/errors/safeCall.js.map +0 -1
  200. package/lib/commonjs/features/replay/core/ids/sessionId.js.map +0 -1
  201. package/lib/commonjs/features/replay/core/logger/logger.js.map +0 -1
  202. package/lib/commonjs/features/replay/core/privacy/privacyTypes.js.map +0 -1
  203. package/lib/commonjs/features/replay/core/queue/boundedQueue.js.map +0 -1
  204. package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  205. package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  206. package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +0 -1
  207. package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  208. package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  209. package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +0 -1
  210. package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  211. package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  212. package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  213. package/lib/commonjs/features/replay/public/api.js.map +0 -1
  214. package/lib/commonjs/features/replay/public/enums.js.map +0 -1
  215. package/lib/commonjs/features/replay/public/types.js.map +0 -1
  216. package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  217. package/lib/commonjs/features/replay/replay/frames/frameModels.js.map +0 -1
  218. package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  219. package/lib/commonjs/features/replay/replay/timeline/timelineModels.js.map +0 -1
  220. package/lib/commonjs/features/replay/transport/BackendReplayTransport.js.map +0 -1
  221. package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  222. package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  223. package/lib/commonjs/features/replay/transport/ReplayTransport.js.map +0 -1
  224. package/lib/commonjs/features/session/BackendSessionAdapter.js.map +0 -1
  225. package/lib/commonjs/features/session/DesktopSessionTransport.js.map +0 -1
  226. package/lib/commonjs/features/session/JourneyEventPipeline.js.map +0 -1
  227. package/lib/commonjs/features/session/ReplayCaptureManager.js.map +0 -1
  228. package/lib/commonjs/features/session/ScrollTracker.js.map +0 -1
  229. package/lib/commonjs/features/session/SessionManager.js.map +0 -1
  230. package/lib/commonjs/features/session/SyncDecisionEngine.js.map +0 -1
  231. package/lib/commonjs/features/session/index.js.map +0 -1
  232. package/lib/commonjs/features/session/nativeCapture.js.map +0 -1
  233. package/lib/commonjs/features/session/outboxFrameCapture.js.map +0 -1
  234. package/lib/commonjs/features/session/sessionTypes.js.map +0 -1
  235. package/lib/commonjs/features/skan/skanBridge.js.map +0 -1
  236. package/lib/commonjs/features/skan/skanConversionManager.js.map +0 -1
  237. package/lib/commonjs/index.js.map +0 -1
  238. package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +0 -1
  239. package/lib/commonjs/integrations/navigation/screenTracker.js.map +0 -1
  240. package/lib/commonjs/integrations/network/bodyCapture.js.map +0 -1
  241. package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +0 -1
  242. package/lib/commonjs/metro/composeSourceMap.js.map +0 -1
  243. package/lib/commonjs/metro/featureModules.js.map +0 -1
  244. package/lib/commonjs/metro/index.js.map +0 -1
  245. package/lib/commonjs/metro/optionalDependencyStub.js.map +0 -1
  246. package/lib/commonjs/metro/optionalModules.js.map +0 -1
  247. package/lib/commonjs/metro/serializerCompose.js.map +0 -1
  248. package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +0 -1
  249. package/lib/commonjs/pipeline/envelope/envelope.js.map +0 -1
  250. package/lib/commonjs/pipeline/envelope/serializer.js.map +0 -1
  251. package/lib/commonjs/pipeline/processors/dedupe.js.map +0 -1
  252. package/lib/commonjs/pipeline/processors/enrich.js.map +0 -1
  253. package/lib/commonjs/pipeline/processors/sampling.js.map +0 -1
  254. package/lib/commonjs/pipeline/processors/sanitize.js.map +0 -1
  255. package/lib/commonjs/pipeline/queue/flushQueue.js.map +0 -1
  256. package/lib/commonjs/pipeline/queue/memoryQueue.js.map +0 -1
  257. package/lib/commonjs/pipeline/queue/persistentQueue.js.map +0 -1
  258. package/lib/commonjs/pipeline/queue/queuePolicy.js.map +0 -1
  259. package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +0 -1
  260. package/lib/commonjs/pipeline/scheduler/retryPolicy.js.map +0 -1
  261. package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +0 -1
  262. package/lib/commonjs/public/ScaleBunFacade.js.map +0 -1
  263. package/lib/commonjs/public/ScaleBunProvider.js.map +0 -1
  264. package/lib/commonjs/public/typedTracker.js.map +0 -1
  265. package/lib/commonjs/public/types.js.map +0 -1
  266. package/lib/commonjs/push/PushManager.js.map +0 -1
  267. package/lib/commonjs/push/adapters/ManualAdapter.js.map +0 -1
  268. package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +0 -1
  269. package/lib/commonjs/push/adapters/NoopAdapter.js.map +0 -1
  270. package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  271. package/lib/commonjs/push/adapters/loadMessaging.js.map +0 -1
  272. package/lib/commonjs/push/adapters/loadNotifee.js.map +0 -1
  273. package/lib/commonjs/push/adapters/selectAdapter.js.map +0 -1
  274. package/lib/commonjs/push/detect/capabilities.js.map +0 -1
  275. package/lib/commonjs/push/index.js.map +0 -1
  276. package/lib/commonjs/push/native/nativeNotifications.js.map +0 -1
  277. package/lib/commonjs/push/types.js.map +0 -1
  278. package/lib/commonjs/specs/NativeReplaySdk.js.map +0 -1
  279. package/lib/commonjs/specs/NativeScaleBunCrash.js.map +0 -1
  280. package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  281. package/lib/commonjs/specs/NativeScaleBunOta.js.map +0 -1
  282. package/lib/commonjs/specs/NativeScaleBunPerformance.js.map +0 -1
  283. package/lib/commonjs/specs/NativeScaleBunProfiler.js.map +0 -1
  284. package/lib/commonjs/specs/NativeScaleBunStorage.js.map +0 -1
  285. package/lib/commonjs/storage/StorageBackend.js.map +0 -1
  286. package/lib/commonjs/storage/db/sqlite.js.map +0 -1
  287. package/lib/commonjs/storage/files/fileStore.js.map +0 -1
  288. package/lib/commonjs/transport/auth/sdkSession.js.map +0 -1
  289. package/lib/commonjs/transport/backoff/exponentialJitter.js.map +0 -1
  290. package/lib/commonjs/transport/http/endpoints.js.map +0 -1
  291. package/lib/commonjs/transport/http/httpClient.js.map +0 -1
  292. package/lib/commonjs/transport/rateLimit/retryAfter.js.map +0 -1
  293. package/lib/commonjs/transport/signing/requestSigner.js.map +0 -1
  294. package/lib/commonjs/vendor/protocol/index.js.map +0 -1
  295. package/lib/commonjs/vendor/protocol/internal/validation.js.map +0 -1
  296. package/lib/commonjs/vendor/sdk-contracts/bridge.js.map +0 -1
  297. package/lib/commonjs/vendor/sdk-contracts/config.js.map +0 -1
  298. package/lib/commonjs/vendor/sdk-contracts/events.js.map +0 -1
  299. package/lib/commonjs/vendor/sdk-contracts/features.js.map +0 -1
  300. package/lib/commonjs/vendor/sdk-contracts/index.js.map +0 -1
  301. package/lib/commonjs/vendor/sdk-contracts/platform.js.map +0 -1
  302. package/lib/commonjs/vendor/sdk-contracts/session-boundary.js.map +0 -1
  303. package/lib/commonjs/vendor/sdk-contracts/session.js.map +0 -1
  304. package/lib/module/analytics/EventTracker.js.map +0 -1
  305. package/lib/module/analytics/automaticEvents.js.map +0 -1
  306. package/lib/module/analytics/batching.js.map +0 -1
  307. package/lib/module/analytics/eventLane.js.map +0 -1
  308. package/lib/module/bootstrap/FeatureRegistry.js.map +0 -1
  309. package/lib/module/bootstrap/SDKBootstrapper.js.map +0 -1
  310. package/lib/module/bucketing/fnv1a32.js.map +0 -1
  311. package/lib/module/compat/codepush.js.map +0 -1
  312. package/lib/module/config/ConfigManager.js.map +0 -1
  313. package/lib/module/config/configTypes.js.map +0 -1
  314. package/lib/module/core/architecture.js.map +0 -1
  315. package/lib/module/core/clock/now.js.map +0 -1
  316. package/lib/module/core/config/defaults.js.map +0 -1
  317. package/lib/module/core/config/schema.js.map +0 -1
  318. package/lib/module/core/constants/endpoints.js.map +0 -1
  319. package/lib/module/core/constants/protocol.js.map +0 -1
  320. package/lib/module/core/constants/timings.js.map +0 -1
  321. package/lib/module/core/constants/version.js.map +0 -1
  322. package/lib/module/core/context/app.js.map +0 -1
  323. package/lib/module/core/context/device.js.map +0 -1
  324. package/lib/module/core/context/session.js.map +0 -1
  325. package/lib/module/core/context/user.js.map +0 -1
  326. package/lib/module/core/contracts/IFeature.js.map +0 -1
  327. package/lib/module/core/di/container.js.map +0 -1
  328. package/lib/module/core/encoding/base64.js.map +0 -1
  329. package/lib/module/core/id/deviceId.js.map +0 -1
  330. package/lib/module/core/id/installationId.js.map +0 -1
  331. package/lib/module/core/id/sessionId.js.map +0 -1
  332. package/lib/module/core/lifecycle/appLifecycle.js.map +0 -1
  333. package/lib/module/core/lifecycle/crashSafe.js.map +0 -1
  334. package/lib/module/core/logger/errorClassification.js.map +0 -1
  335. package/lib/module/core/logger/internalLogger.js.map +0 -1
  336. package/lib/module/core/logger/levels.js.map +0 -1
  337. package/lib/module/crypto/hmacSha256.js.map +0 -1
  338. package/lib/module/debug/bootstrap.js.map +0 -1
  339. package/lib/module/debug/commands.js.map +0 -1
  340. package/lib/module/debug/configBuilder.js.map +0 -1
  341. package/lib/module/debug/exportBridge.js.map +0 -1
  342. package/lib/module/debug/hostResolver.js.map +0 -1
  343. package/lib/module/debug/index.js.map +0 -1
  344. package/lib/module/debug/metrics.js.map +0 -1
  345. package/lib/module/debug/perf.js.map +0 -1
  346. package/lib/module/debug/perfWiring.js.map +0 -1
  347. package/lib/module/debug/protocol.js.map +0 -1
  348. package/lib/module/debug/redaction.js.map +0 -1
  349. package/lib/module/debug/replayWiring.js.map +0 -1
  350. package/lib/module/debug/screenTracking.js.map +0 -1
  351. package/lib/module/debug/sessionWiring.js.map +0 -1
  352. package/lib/module/debug/stream.js.map +0 -1
  353. package/lib/module/debug/transport.js.map +0 -1
  354. package/lib/module/features/bugreport/BugReportFeature.js.map +0 -1
  355. package/lib/module/features/bugreport/buildPayload.js.map +0 -1
  356. package/lib/module/features/bugreport/index.js.map +0 -1
  357. package/lib/module/features/crash/CrashFeature.js.map +0 -1
  358. package/lib/module/features/crash/CrashReporter.js.map +0 -1
  359. package/lib/module/features/crash/NativeCrashFeature.js.map +0 -1
  360. package/lib/module/features/crash/capture.js.map +0 -1
  361. package/lib/module/features/crash/globalHandler.js.map +0 -1
  362. package/lib/module/features/crash/index.js.map +0 -1
  363. package/lib/module/features/crash/nativeCrashBridge.js.map +0 -1
  364. package/lib/module/features/crash/rejectionHandler.js.map +0 -1
  365. package/lib/module/features/engage/EngageAnchor.js.map +0 -1
  366. package/lib/module/features/engage/EngageArchetypeRenderers.js.map +0 -1
  367. package/lib/module/features/engage/EngageInAppView.js.map +0 -1
  368. package/lib/module/features/engage/EngageInlinePlacement.js.map +0 -1
  369. package/lib/module/features/engage/EngagePromptProvider.js.map +0 -1
  370. package/lib/module/features/engage/EngagePromptView.js.map +0 -1
  371. package/lib/module/features/engage/EngageTransport.js.map +0 -1
  372. package/lib/module/features/engage/EngageVariantContent.js.map +0 -1
  373. package/lib/module/features/engage/__test-support__/reactNativeStub.js.map +0 -1
  374. package/lib/module/features/engage/attachmentCapture.js.map +0 -1
  375. package/lib/module/features/engage/captureVoiceAttachment.js.map +0 -1
  376. package/lib/module/features/engage/engageCoachmarkTour.js.map +0 -1
  377. package/lib/module/features/engage/engageGameLogic.js.map +0 -1
  378. package/lib/module/features/engage/engageMediaSizing.js.map +0 -1
  379. package/lib/module/features/engage/engageMultiStepSheet.js.map +0 -1
  380. package/lib/module/features/engage/engageOutcome.js.map +0 -1
  381. package/lib/module/features/engage/engagePushTokenBridge.js.map +0 -1
  382. package/lib/module/features/engage/engageShakeBridge.js.map +0 -1
  383. package/lib/module/features/engage/engageSignals.js.map +0 -1
  384. package/lib/module/features/engage/engageStoreReviewBridge.js.map +0 -1
  385. package/lib/module/features/engage/engageTestSeenStore.js.map +0 -1
  386. package/lib/module/features/engage/engageThrottle.js.map +0 -1
  387. package/lib/module/features/engage/engageTriggerEngine.js.map +0 -1
  388. package/lib/module/features/engage/engageTypes.js.map +0 -1
  389. package/lib/module/features/engage/engageVariantResolver.js.map +0 -1
  390. package/lib/module/features/engage/engageWindowInsets.js.map +0 -1
  391. package/lib/module/features/engage/gestureTriggerDetector.js.map +0 -1
  392. package/lib/module/features/engage/transcription/TranscriptionProvider.js.map +0 -1
  393. package/lib/module/features/install-referrer/installReferrer.js.map +0 -1
  394. package/lib/module/features/journey/ScaleBunDebugRoot.js.map +0 -1
  395. package/lib/module/features/journey/ScaleBunFlatList.js.map +0 -1
  396. package/lib/module/features/journey/ScaleBunImpression.js.map +0 -1
  397. package/lib/module/features/journey/ScaleBunScrollView.js.map +0 -1
  398. package/lib/module/features/journey/ScaleBunSectionList.js.map +0 -1
  399. package/lib/module/features/journey/calibrationContext.js.map +0 -1
  400. package/lib/module/features/journey/gestureBuffer.js.map +0 -1
  401. package/lib/module/features/journey/gestureDetector.js.map +0 -1
  402. package/lib/module/features/journey/impression.js.map +0 -1
  403. package/lib/module/features/journey/journeyManager.js.map +0 -1
  404. package/lib/module/features/journey/journeyTypes.js.map +0 -1
  405. package/lib/module/features/journey/navDetector.js.map +0 -1
  406. package/lib/module/features/journey/screenshotHelper.js.map +0 -1
  407. package/lib/module/features/journey/targetRegistry.js.map +0 -1
  408. package/lib/module/features/journey/touchTarget.js.map +0 -1
  409. package/lib/module/features/navigation/AutoScreenDetector.js.map +0 -1
  410. package/lib/module/features/network/NetworkFeature.js.map +0 -1
  411. package/lib/module/features/network/index.js.map +0 -1
  412. package/lib/module/features/ota/OtaEventEmitter.js.map +0 -1
  413. package/lib/module/features/ota/OtaOrchestrator.js.map +0 -1
  414. package/lib/module/features/ota/OtaTypes.js.map +0 -1
  415. package/lib/module/features/ota/deviceAttributes.js.map +0 -1
  416. package/lib/module/features/ota/environment.js.map +0 -1
  417. package/lib/module/features/ota/geoCountry.js.map +0 -1
  418. package/lib/module/features/ota/retry.js.map +0 -1
  419. package/lib/module/features/ota/signature.js.map +0 -1
  420. package/lib/module/features/ota/useOtaUpdate.js.map +0 -1
  421. package/lib/module/features/performance/PerformanceFeature.js.map +0 -1
  422. package/lib/module/features/performance/collectors/AppLaunchCollector.js.map +0 -1
  423. package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
  424. package/lib/module/features/performance/collectors/CustomTraceCollector.js.map +0 -1
  425. package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
  426. package/lib/module/features/performance/collectors/JsStallCollector.js.map +0 -1
  427. package/lib/module/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
  428. package/lib/module/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
  429. package/lib/module/features/performance/collectors/UiHangCollector.js.map +0 -1
  430. package/lib/module/features/performance/config.js.map +0 -1
  431. package/lib/module/features/performance/getNativePerformanceModule.js.map +0 -1
  432. package/lib/module/features/performance/index.js.map +0 -1
  433. package/lib/module/features/performance/metrics/MetricsEngine.js.map +0 -1
  434. package/lib/module/features/performance/models.js.map +0 -1
  435. package/lib/module/features/performance/transport/PerformanceTransport.js.map +0 -1
  436. package/lib/module/features/profiler/ProfilerFeature.js.map +0 -1
  437. package/lib/module/features/profiler/config.js.map +0 -1
  438. package/lib/module/features/profiler/contracts.js.map +0 -1
  439. package/lib/module/features/profiler/index.js.map +0 -1
  440. package/lib/module/features/profiler/models.js.map +0 -1
  441. package/lib/module/features/profiler/transport/ProfilerTransport.js.map +0 -1
  442. package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
  443. package/lib/module/features/replay/bridge/eventEmitter.js.map +0 -1
  444. package/lib/module/features/replay/bridge/nativeModule.js.map +0 -1
  445. package/lib/module/features/replay/core/clock/clock.js.map +0 -1
  446. package/lib/module/features/replay/core/config/defaults.js.map +0 -1
  447. package/lib/module/features/replay/core/config/validator.js.map +0 -1
  448. package/lib/module/features/replay/core/env/environmentDetector.js.map +0 -1
  449. package/lib/module/features/replay/core/errors/safeCall.js.map +0 -1
  450. package/lib/module/features/replay/core/ids/sessionId.js.map +0 -1
  451. package/lib/module/features/replay/core/logger/logger.js.map +0 -1
  452. package/lib/module/features/replay/core/privacy/privacyTypes.js.map +0 -1
  453. package/lib/module/features/replay/core/queue/boundedQueue.js.map +0 -1
  454. package/lib/module/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
  455. package/lib/module/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
  456. package/lib/module/features/replay/integrations/network/networkAdapter.js.map +0 -1
  457. package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
  458. package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
  459. package/lib/module/features/replay/pipeline/batching/batchManager.js.map +0 -1
  460. package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
  461. package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
  462. package/lib/module/features/replay/pipeline/transport/transportTypes.js.map +0 -1
  463. package/lib/module/features/replay/public/api.js.map +0 -1
  464. package/lib/module/features/replay/public/enums.js.map +0 -1
  465. package/lib/module/features/replay/public/types.js.map +0 -1
  466. package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
  467. package/lib/module/features/replay/replay/frames/frameModels.js.map +0 -1
  468. package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
  469. package/lib/module/features/replay/replay/timeline/timelineModels.js.map +0 -1
  470. package/lib/module/features/replay/transport/BackendReplayTransport.js.map +0 -1
  471. package/lib/module/features/replay/transport/CompositeReplayTransport.js.map +0 -1
  472. package/lib/module/features/replay/transport/DesktopReplayTransport.js.map +0 -1
  473. package/lib/module/features/replay/transport/ReplayTransport.js.map +0 -1
  474. package/lib/module/features/session/BackendSessionAdapter.js.map +0 -1
  475. package/lib/module/features/session/DesktopSessionTransport.js.map +0 -1
  476. package/lib/module/features/session/JourneyEventPipeline.js.map +0 -1
  477. package/lib/module/features/session/ReplayCaptureManager.js.map +0 -1
  478. package/lib/module/features/session/ScrollTracker.js.map +0 -1
  479. package/lib/module/features/session/SessionManager.js.map +0 -1
  480. package/lib/module/features/session/SyncDecisionEngine.js.map +0 -1
  481. package/lib/module/features/session/index.js.map +0 -1
  482. package/lib/module/features/session/nativeCapture.js.map +0 -1
  483. package/lib/module/features/session/outboxFrameCapture.js.map +0 -1
  484. package/lib/module/features/session/sessionTypes.js.map +0 -1
  485. package/lib/module/features/skan/skanBridge.js.map +0 -1
  486. package/lib/module/features/skan/skanConversionManager.js.map +0 -1
  487. package/lib/module/index.js.map +0 -1
  488. package/lib/module/integrations/fetch/fetchInterceptor.js.map +0 -1
  489. package/lib/module/integrations/navigation/screenTracker.js.map +0 -1
  490. package/lib/module/integrations/network/bodyCapture.js.map +0 -1
  491. package/lib/module/integrations/xhr/xhrInterceptor.js.map +0 -1
  492. package/lib/module/metro/composeSourceMap.js.map +0 -1
  493. package/lib/module/metro/featureModules.js.map +0 -1
  494. package/lib/module/metro/index.js.map +0 -1
  495. package/lib/module/metro/optionalDependencyStub.js.map +0 -1
  496. package/lib/module/metro/optionalModules.js.map +0 -1
  497. package/lib/module/metro/serializerCompose.js.map +0 -1
  498. package/lib/module/pipeline/dispatcher/dispatcher.js.map +0 -1
  499. package/lib/module/pipeline/envelope/envelope.js.map +0 -1
  500. package/lib/module/pipeline/envelope/serializer.js.map +0 -1
  501. package/lib/module/pipeline/processors/dedupe.js.map +0 -1
  502. package/lib/module/pipeline/processors/enrich.js.map +0 -1
  503. package/lib/module/pipeline/processors/sampling.js.map +0 -1
  504. package/lib/module/pipeline/processors/sanitize.js.map +0 -1
  505. package/lib/module/pipeline/queue/flushQueue.js.map +0 -1
  506. package/lib/module/pipeline/queue/memoryQueue.js.map +0 -1
  507. package/lib/module/pipeline/queue/persistentQueue.js.map +0 -1
  508. package/lib/module/pipeline/queue/queuePolicy.js.map +0 -1
  509. package/lib/module/pipeline/scheduler/flushScheduler.js.map +0 -1
  510. package/lib/module/pipeline/scheduler/retryPolicy.js.map +0 -1
  511. package/lib/module/public/ScaleBunErrorBoundary.js.map +0 -1
  512. package/lib/module/public/ScaleBunFacade.js.map +0 -1
  513. package/lib/module/public/ScaleBunProvider.js.map +0 -1
  514. package/lib/module/public/typedTracker.js.map +0 -1
  515. package/lib/module/public/types.js.map +0 -1
  516. package/lib/module/push/PushManager.js.map +0 -1
  517. package/lib/module/push/adapters/ManualAdapter.js.map +0 -1
  518. package/lib/module/push/adapters/NativeBridgeAdapter.js.map +0 -1
  519. package/lib/module/push/adapters/NoopAdapter.js.map +0 -1
  520. package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
  521. package/lib/module/push/adapters/loadMessaging.js.map +0 -1
  522. package/lib/module/push/adapters/loadNotifee.js.map +0 -1
  523. package/lib/module/push/adapters/selectAdapter.js.map +0 -1
  524. package/lib/module/push/detect/capabilities.js.map +0 -1
  525. package/lib/module/push/index.js.map +0 -1
  526. package/lib/module/push/native/nativeNotifications.js.map +0 -1
  527. package/lib/module/push/types.js.map +0 -1
  528. package/lib/module/specs/NativeReplaySdk.js.map +0 -1
  529. package/lib/module/specs/NativeScaleBunCrash.js.map +0 -1
  530. package/lib/module/specs/NativeScaleBunInstallReferrer.js.map +0 -1
  531. package/lib/module/specs/NativeScaleBunOta.js.map +0 -1
  532. package/lib/module/specs/NativeScaleBunPerformance.js.map +0 -1
  533. package/lib/module/specs/NativeScaleBunProfiler.js.map +0 -1
  534. package/lib/module/specs/NativeScaleBunStorage.js.map +0 -1
  535. package/lib/module/storage/StorageBackend.js.map +0 -1
  536. package/lib/module/storage/db/sqlite.js.map +0 -1
  537. package/lib/module/storage/files/fileStore.js.map +0 -1
  538. package/lib/module/transport/auth/sdkSession.js.map +0 -1
  539. package/lib/module/transport/backoff/exponentialJitter.js.map +0 -1
  540. package/lib/module/transport/http/endpoints.js.map +0 -1
  541. package/lib/module/transport/http/httpClient.js.map +0 -1
  542. package/lib/module/transport/rateLimit/retryAfter.js.map +0 -1
  543. package/lib/module/transport/signing/requestSigner.js.map +0 -1
  544. package/lib/module/vendor/protocol/index.js.map +0 -1
  545. package/lib/module/vendor/protocol/internal/validation.js.map +0 -1
  546. package/lib/module/vendor/sdk-contracts/bridge.js.map +0 -1
  547. package/lib/module/vendor/sdk-contracts/config.js.map +0 -1
  548. package/lib/module/vendor/sdk-contracts/events.js.map +0 -1
  549. package/lib/module/vendor/sdk-contracts/features.js.map +0 -1
  550. package/lib/module/vendor/sdk-contracts/index.js.map +0 -1
  551. package/lib/module/vendor/sdk-contracts/platform.js.map +0 -1
  552. package/lib/module/vendor/sdk-contracts/session-boundary.js.map +0 -1
  553. package/lib/module/vendor/sdk-contracts/session.js.map +0 -1
  554. package/lib/typescript/analytics/EventTracker.d.ts.map +0 -1
  555. package/lib/typescript/analytics/automaticEvents.d.ts.map +0 -1
  556. package/lib/typescript/analytics/batching.d.ts.map +0 -1
  557. package/lib/typescript/analytics/eventLane.d.ts.map +0 -1
  558. package/lib/typescript/bootstrap/FeatureRegistry.d.ts.map +0 -1
  559. package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +0 -1
  560. package/lib/typescript/bucketing/fnv1a32.d.ts.map +0 -1
  561. package/lib/typescript/compat/codepush.d.ts.map +0 -1
  562. package/lib/typescript/config/ConfigManager.d.ts.map +0 -1
  563. package/lib/typescript/config/configTypes.d.ts.map +0 -1
  564. package/lib/typescript/core/architecture.d.ts.map +0 -1
  565. package/lib/typescript/core/clock/now.d.ts.map +0 -1
  566. package/lib/typescript/core/config/defaults.d.ts.map +0 -1
  567. package/lib/typescript/core/config/schema.d.ts.map +0 -1
  568. package/lib/typescript/core/constants/endpoints.d.ts.map +0 -1
  569. package/lib/typescript/core/constants/protocol.d.ts.map +0 -1
  570. package/lib/typescript/core/constants/timings.d.ts.map +0 -1
  571. package/lib/typescript/core/constants/version.d.ts.map +0 -1
  572. package/lib/typescript/core/context/app.d.ts.map +0 -1
  573. package/lib/typescript/core/context/device.d.ts.map +0 -1
  574. package/lib/typescript/core/context/session.d.ts.map +0 -1
  575. package/lib/typescript/core/context/user.d.ts.map +0 -1
  576. package/lib/typescript/core/contracts/IFeature.d.ts.map +0 -1
  577. package/lib/typescript/core/di/container.d.ts.map +0 -1
  578. package/lib/typescript/core/encoding/base64.d.ts.map +0 -1
  579. package/lib/typescript/core/id/deviceId.d.ts.map +0 -1
  580. package/lib/typescript/core/id/installationId.d.ts.map +0 -1
  581. package/lib/typescript/core/id/sessionId.d.ts.map +0 -1
  582. package/lib/typescript/core/lifecycle/appLifecycle.d.ts.map +0 -1
  583. package/lib/typescript/core/lifecycle/crashSafe.d.ts.map +0 -1
  584. package/lib/typescript/core/logger/errorClassification.d.ts.map +0 -1
  585. package/lib/typescript/core/logger/internalLogger.d.ts.map +0 -1
  586. package/lib/typescript/core/logger/levels.d.ts.map +0 -1
  587. package/lib/typescript/crypto/hmacSha256.d.ts.map +0 -1
  588. package/lib/typescript/debug/bootstrap.d.ts.map +0 -1
  589. package/lib/typescript/debug/commands.d.ts.map +0 -1
  590. package/lib/typescript/debug/configBuilder.d.ts.map +0 -1
  591. package/lib/typescript/debug/exportBridge.d.ts.map +0 -1
  592. package/lib/typescript/debug/hostResolver.d.ts.map +0 -1
  593. package/lib/typescript/debug/index.d.ts.map +0 -1
  594. package/lib/typescript/debug/metrics.d.ts.map +0 -1
  595. package/lib/typescript/debug/perf.d.ts.map +0 -1
  596. package/lib/typescript/debug/perfWiring.d.ts.map +0 -1
  597. package/lib/typescript/debug/protocol.d.ts.map +0 -1
  598. package/lib/typescript/debug/redaction.d.ts.map +0 -1
  599. package/lib/typescript/debug/replayWiring.d.ts.map +0 -1
  600. package/lib/typescript/debug/screenTracking.d.ts.map +0 -1
  601. package/lib/typescript/debug/sessionWiring.d.ts.map +0 -1
  602. package/lib/typescript/debug/stream.d.ts.map +0 -1
  603. package/lib/typescript/debug/transport.d.ts.map +0 -1
  604. package/lib/typescript/features/bugreport/BugReportFeature.d.ts.map +0 -1
  605. package/lib/typescript/features/bugreport/buildPayload.d.ts.map +0 -1
  606. package/lib/typescript/features/bugreport/index.d.ts.map +0 -1
  607. package/lib/typescript/features/crash/CrashFeature.d.ts.map +0 -1
  608. package/lib/typescript/features/crash/CrashReporter.d.ts.map +0 -1
  609. package/lib/typescript/features/crash/NativeCrashFeature.d.ts.map +0 -1
  610. package/lib/typescript/features/crash/capture.d.ts.map +0 -1
  611. package/lib/typescript/features/crash/globalHandler.d.ts.map +0 -1
  612. package/lib/typescript/features/crash/index.d.ts.map +0 -1
  613. package/lib/typescript/features/crash/nativeCrashBridge.d.ts.map +0 -1
  614. package/lib/typescript/features/crash/rejectionHandler.d.ts.map +0 -1
  615. package/lib/typescript/features/engage/EngageAnchor.d.ts.map +0 -1
  616. package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts.map +0 -1
  617. package/lib/typescript/features/engage/EngageInAppView.d.ts.map +0 -1
  618. package/lib/typescript/features/engage/EngageInlinePlacement.d.ts.map +0 -1
  619. package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +0 -1
  620. package/lib/typescript/features/engage/EngagePromptView.d.ts.map +0 -1
  621. package/lib/typescript/features/engage/EngageTransport.d.ts.map +0 -1
  622. package/lib/typescript/features/engage/EngageVariantContent.d.ts.map +0 -1
  623. package/lib/typescript/features/engage/attachmentCapture.d.ts.map +0 -1
  624. package/lib/typescript/features/engage/captureVoiceAttachment.d.ts.map +0 -1
  625. package/lib/typescript/features/engage/engageCoachmarkTour.d.ts.map +0 -1
  626. package/lib/typescript/features/engage/engageGameLogic.d.ts.map +0 -1
  627. package/lib/typescript/features/engage/engageMediaSizing.d.ts.map +0 -1
  628. package/lib/typescript/features/engage/engageMultiStepSheet.d.ts.map +0 -1
  629. package/lib/typescript/features/engage/engageOutcome.d.ts.map +0 -1
  630. package/lib/typescript/features/engage/engagePushTokenBridge.d.ts.map +0 -1
  631. package/lib/typescript/features/engage/engageShakeBridge.d.ts.map +0 -1
  632. package/lib/typescript/features/engage/engageSignals.d.ts.map +0 -1
  633. package/lib/typescript/features/engage/engageStoreReviewBridge.d.ts.map +0 -1
  634. package/lib/typescript/features/engage/engageTestSeenStore.d.ts.map +0 -1
  635. package/lib/typescript/features/engage/engageThrottle.d.ts.map +0 -1
  636. package/lib/typescript/features/engage/engageTriggerEngine.d.ts.map +0 -1
  637. package/lib/typescript/features/engage/engageTypes.d.ts.map +0 -1
  638. package/lib/typescript/features/engage/engageVariantResolver.d.ts.map +0 -1
  639. package/lib/typescript/features/engage/engageWindowInsets.d.ts.map +0 -1
  640. package/lib/typescript/features/engage/gestureTriggerDetector.d.ts.map +0 -1
  641. package/lib/typescript/features/engage/transcription/TranscriptionProvider.d.ts.map +0 -1
  642. package/lib/typescript/features/install-referrer/installReferrer.d.ts.map +0 -1
  643. package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts.map +0 -1
  644. package/lib/typescript/features/journey/ScaleBunFlatList.d.ts.map +0 -1
  645. package/lib/typescript/features/journey/ScaleBunImpression.d.ts.map +0 -1
  646. package/lib/typescript/features/journey/ScaleBunScrollView.d.ts.map +0 -1
  647. package/lib/typescript/features/journey/ScaleBunSectionList.d.ts.map +0 -1
  648. package/lib/typescript/features/journey/calibrationContext.d.ts.map +0 -1
  649. package/lib/typescript/features/journey/gestureBuffer.d.ts.map +0 -1
  650. package/lib/typescript/features/journey/gestureDetector.d.ts.map +0 -1
  651. package/lib/typescript/features/journey/impression.d.ts.map +0 -1
  652. package/lib/typescript/features/journey/journeyManager.d.ts.map +0 -1
  653. package/lib/typescript/features/journey/journeyTypes.d.ts.map +0 -1
  654. package/lib/typescript/features/journey/navDetector.d.ts.map +0 -1
  655. package/lib/typescript/features/journey/screenshotHelper.d.ts.map +0 -1
  656. package/lib/typescript/features/journey/targetRegistry.d.ts.map +0 -1
  657. package/lib/typescript/features/journey/touchTarget.d.ts.map +0 -1
  658. package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +0 -1
  659. package/lib/typescript/features/network/NetworkFeature.d.ts.map +0 -1
  660. package/lib/typescript/features/network/index.d.ts.map +0 -1
  661. package/lib/typescript/features/ota/OtaEventEmitter.d.ts.map +0 -1
  662. package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +0 -1
  663. package/lib/typescript/features/ota/OtaTypes.d.ts.map +0 -1
  664. package/lib/typescript/features/ota/deviceAttributes.d.ts.map +0 -1
  665. package/lib/typescript/features/ota/environment.d.ts.map +0 -1
  666. package/lib/typescript/features/ota/geoCountry.d.ts.map +0 -1
  667. package/lib/typescript/features/ota/retry.d.ts.map +0 -1
  668. package/lib/typescript/features/ota/signature.d.ts.map +0 -1
  669. package/lib/typescript/features/ota/useOtaUpdate.d.ts.map +0 -1
  670. package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +0 -1
  671. package/lib/typescript/features/performance/collectors/AppLaunchCollector.d.ts.map +0 -1
  672. package/lib/typescript/features/performance/collectors/AutoScreenLoadCollector.d.ts.map +0 -1
  673. package/lib/typescript/features/performance/collectors/CustomTraceCollector.d.ts.map +0 -1
  674. package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +0 -1
  675. package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts.map +0 -1
  676. package/lib/typescript/features/performance/collectors/NetworkPerfCollector.d.ts.map +0 -1
  677. package/lib/typescript/features/performance/collectors/ScreenLoadCollector.d.ts.map +0 -1
  678. package/lib/typescript/features/performance/collectors/UiHangCollector.d.ts.map +0 -1
  679. package/lib/typescript/features/performance/config.d.ts.map +0 -1
  680. package/lib/typescript/features/performance/getNativePerformanceModule.d.ts.map +0 -1
  681. package/lib/typescript/features/performance/index.d.ts.map +0 -1
  682. package/lib/typescript/features/performance/metrics/MetricsEngine.d.ts.map +0 -1
  683. package/lib/typescript/features/performance/models.d.ts.map +0 -1
  684. package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts.map +0 -1
  685. package/lib/typescript/features/profiler/ProfilerFeature.d.ts.map +0 -1
  686. package/lib/typescript/features/profiler/config.d.ts.map +0 -1
  687. package/lib/typescript/features/profiler/contracts.d.ts.map +0 -1
  688. package/lib/typescript/features/profiler/index.d.ts.map +0 -1
  689. package/lib/typescript/features/profiler/models.d.ts.map +0 -1
  690. package/lib/typescript/features/profiler/transport/ProfilerTransport.d.ts.map +0 -1
  691. package/lib/typescript/features/replay/bridge/adapters/bridgeAdapter.d.ts.map +0 -1
  692. package/lib/typescript/features/replay/bridge/eventEmitter.d.ts.map +0 -1
  693. package/lib/typescript/features/replay/bridge/nativeModule.d.ts.map +0 -1
  694. package/lib/typescript/features/replay/core/clock/clock.d.ts.map +0 -1
  695. package/lib/typescript/features/replay/core/config/defaults.d.ts.map +0 -1
  696. package/lib/typescript/features/replay/core/config/validator.d.ts.map +0 -1
  697. package/lib/typescript/features/replay/core/env/environmentDetector.d.ts.map +0 -1
  698. package/lib/typescript/features/replay/core/errors/safeCall.d.ts.map +0 -1
  699. package/lib/typescript/features/replay/core/ids/sessionId.d.ts.map +0 -1
  700. package/lib/typescript/features/replay/core/logger/logger.d.ts.map +0 -1
  701. package/lib/typescript/features/replay/core/privacy/privacyTypes.d.ts.map +0 -1
  702. package/lib/typescript/features/replay/core/queue/boundedQueue.d.ts.map +0 -1
  703. package/lib/typescript/features/replay/integrations/alert/alertInstrumentation.d.ts.map +0 -1
  704. package/lib/typescript/features/replay/integrations/logs/consoleIntegration.d.ts.map +0 -1
  705. package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts.map +0 -1
  706. package/lib/typescript/features/replay/integrations/react-navigation/navigationIntegration.d.ts.map +0 -1
  707. package/lib/typescript/features/replay/integrations/touch/ReplayRoot.d.ts.map +0 -1
  708. package/lib/typescript/features/replay/pipeline/batching/batchManager.d.ts.map +0 -1
  709. package/lib/typescript/features/replay/pipeline/envelope/envelopeBuilder.d.ts.map +0 -1
  710. package/lib/typescript/features/replay/pipeline/retry/retryPolicy.d.ts.map +0 -1
  711. package/lib/typescript/features/replay/pipeline/transport/transportTypes.d.ts.map +0 -1
  712. package/lib/typescript/features/replay/public/api.d.ts.map +0 -1
  713. package/lib/typescript/features/replay/public/enums.d.ts.map +0 -1
  714. package/lib/typescript/features/replay/public/types.d.ts.map +0 -1
  715. package/lib/typescript/features/replay/replay/breadcrumbs/breadcrumbCollector.d.ts.map +0 -1
  716. package/lib/typescript/features/replay/replay/frames/frameModels.d.ts.map +0 -1
  717. package/lib/typescript/features/replay/replay/session/sessionOrchestrator.d.ts.map +0 -1
  718. package/lib/typescript/features/replay/replay/timeline/timelineModels.d.ts.map +0 -1
  719. package/lib/typescript/features/replay/transport/BackendReplayTransport.d.ts.map +0 -1
  720. package/lib/typescript/features/replay/transport/CompositeReplayTransport.d.ts.map +0 -1
  721. package/lib/typescript/features/replay/transport/DesktopReplayTransport.d.ts.map +0 -1
  722. package/lib/typescript/features/replay/transport/ReplayTransport.d.ts.map +0 -1
  723. package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +0 -1
  724. package/lib/typescript/features/session/DesktopSessionTransport.d.ts.map +0 -1
  725. package/lib/typescript/features/session/JourneyEventPipeline.d.ts.map +0 -1
  726. package/lib/typescript/features/session/ReplayCaptureManager.d.ts.map +0 -1
  727. package/lib/typescript/features/session/ScrollTracker.d.ts.map +0 -1
  728. package/lib/typescript/features/session/SessionManager.d.ts.map +0 -1
  729. package/lib/typescript/features/session/SyncDecisionEngine.d.ts.map +0 -1
  730. package/lib/typescript/features/session/index.d.ts.map +0 -1
  731. package/lib/typescript/features/session/nativeCapture.d.ts.map +0 -1
  732. package/lib/typescript/features/session/outboxFrameCapture.d.ts.map +0 -1
  733. package/lib/typescript/features/session/sessionTypes.d.ts.map +0 -1
  734. package/lib/typescript/features/skan/skanBridge.d.ts.map +0 -1
  735. package/lib/typescript/features/skan/skanConversionManager.d.ts.map +0 -1
  736. package/lib/typescript/index.d.ts.map +0 -1
  737. package/lib/typescript/integrations/fetch/fetchInterceptor.d.ts.map +0 -1
  738. package/lib/typescript/integrations/navigation/screenTracker.d.ts.map +0 -1
  739. package/lib/typescript/integrations/network/bodyCapture.d.ts.map +0 -1
  740. package/lib/typescript/integrations/xhr/xhrInterceptor.d.ts.map +0 -1
  741. package/lib/typescript/metro/composeSourceMap.d.ts.map +0 -1
  742. package/lib/typescript/metro/featureModules.d.ts.map +0 -1
  743. package/lib/typescript/metro/index.d.ts.map +0 -1
  744. package/lib/typescript/metro/optionalDependencyStub.d.ts.map +0 -1
  745. package/lib/typescript/metro/optionalModules.d.ts.map +0 -1
  746. package/lib/typescript/metro/serializerCompose.d.ts.map +0 -1
  747. package/lib/typescript/pipeline/dispatcher/dispatcher.d.ts.map +0 -1
  748. package/lib/typescript/pipeline/envelope/envelope.d.ts.map +0 -1
  749. package/lib/typescript/pipeline/envelope/serializer.d.ts.map +0 -1
  750. package/lib/typescript/pipeline/processors/dedupe.d.ts.map +0 -1
  751. package/lib/typescript/pipeline/processors/enrich.d.ts.map +0 -1
  752. package/lib/typescript/pipeline/processors/sampling.d.ts.map +0 -1
  753. package/lib/typescript/pipeline/processors/sanitize.d.ts.map +0 -1
  754. package/lib/typescript/pipeline/queue/flushQueue.d.ts.map +0 -1
  755. package/lib/typescript/pipeline/queue/memoryQueue.d.ts.map +0 -1
  756. package/lib/typescript/pipeline/queue/persistentQueue.d.ts.map +0 -1
  757. package/lib/typescript/pipeline/queue/queuePolicy.d.ts.map +0 -1
  758. package/lib/typescript/pipeline/scheduler/flushScheduler.d.ts.map +0 -1
  759. package/lib/typescript/pipeline/scheduler/retryPolicy.d.ts.map +0 -1
  760. package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +0 -1
  761. package/lib/typescript/public/ScaleBunFacade.d.ts.map +0 -1
  762. package/lib/typescript/public/ScaleBunProvider.d.ts.map +0 -1
  763. package/lib/typescript/public/typedTracker.d.ts.map +0 -1
  764. package/lib/typescript/public/types.d.ts.map +0 -1
  765. package/lib/typescript/push/PushManager.d.ts.map +0 -1
  766. package/lib/typescript/push/adapters/ManualAdapter.d.ts.map +0 -1
  767. package/lib/typescript/push/adapters/NativeBridgeAdapter.d.ts.map +0 -1
  768. package/lib/typescript/push/adapters/NoopAdapter.d.ts.map +0 -1
  769. package/lib/typescript/push/adapters/RNFirebaseMessagingAdapter.d.ts.map +0 -1
  770. package/lib/typescript/push/adapters/loadMessaging.d.ts.map +0 -1
  771. package/lib/typescript/push/adapters/loadNotifee.d.ts.map +0 -1
  772. package/lib/typescript/push/adapters/selectAdapter.d.ts.map +0 -1
  773. package/lib/typescript/push/detect/capabilities.d.ts.map +0 -1
  774. package/lib/typescript/push/index.d.ts.map +0 -1
  775. package/lib/typescript/push/native/nativeNotifications.d.ts.map +0 -1
  776. package/lib/typescript/push/types.d.ts.map +0 -1
  777. package/lib/typescript/specs/NativeReplaySdk.d.ts.map +0 -1
  778. package/lib/typescript/specs/NativeScaleBunCrash.d.ts.map +0 -1
  779. package/lib/typescript/specs/NativeScaleBunInstallReferrer.d.ts.map +0 -1
  780. package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +0 -1
  781. package/lib/typescript/specs/NativeScaleBunPerformance.d.ts.map +0 -1
  782. package/lib/typescript/specs/NativeScaleBunProfiler.d.ts.map +0 -1
  783. package/lib/typescript/specs/NativeScaleBunStorage.d.ts.map +0 -1
  784. package/lib/typescript/storage/StorageBackend.d.ts.map +0 -1
  785. package/lib/typescript/storage/db/sqlite.d.ts.map +0 -1
  786. package/lib/typescript/storage/files/fileStore.d.ts.map +0 -1
  787. package/lib/typescript/transport/auth/sdkSession.d.ts.map +0 -1
  788. package/lib/typescript/transport/backoff/exponentialJitter.d.ts.map +0 -1
  789. package/lib/typescript/transport/http/endpoints.d.ts.map +0 -1
  790. package/lib/typescript/transport/http/httpClient.d.ts.map +0 -1
  791. package/lib/typescript/transport/rateLimit/retryAfter.d.ts.map +0 -1
  792. package/lib/typescript/transport/signing/requestSigner.d.ts.map +0 -1
  793. package/lib/typescript/vendor/protocol/index.d.ts.map +0 -1
  794. package/lib/typescript/vendor/protocol/internal/validation.d.ts.map +0 -1
  795. package/lib/typescript/vendor/sdk-contracts/bridge.d.ts.map +0 -1
  796. package/lib/typescript/vendor/sdk-contracts/config.d.ts.map +0 -1
  797. package/lib/typescript/vendor/sdk-contracts/events.d.ts.map +0 -1
  798. package/lib/typescript/vendor/sdk-contracts/features.d.ts.map +0 -1
  799. package/lib/typescript/vendor/sdk-contracts/index.d.ts.map +0 -1
  800. package/lib/typescript/vendor/sdk-contracts/platform.d.ts.map +0 -1
  801. package/lib/typescript/vendor/sdk-contracts/session-boundary.d.ts.map +0 -1
  802. package/lib/typescript/vendor/sdk-contracts/session.d.ts.map +0 -1
@@ -41,12 +41,22 @@ class AutoScreenDetector {
41
41
  _manualScreen = null;
42
42
  _manualScreenTs = 0;
43
43
  _autoScreen = null;
44
+ /** `name#key` of the last auto-detected screen VISIT — see _extractActiveVisit. */
45
+ _autoVisitSig = null;
44
46
  _navigationRef = null;
45
47
  _navListenerRemover = null;
46
48
  _navListenerWired = false;
47
49
  _heuristicTimer = null;
48
50
  _started = false;
49
51
  _lastEmittedScreen = null;
52
+ _lastEmittedTs = 0;
53
+ /**
54
+ * Cross-source emit dedup window — see _emitScreenChange. Long enough to absorb the manual
55
+ * beacon and the navRef listener both reporting the SAME transition (they land within the
56
+ * 30ms nav debounce plus a render), short enough that a genuine re-visit of the same route
57
+ * a moment later is a new screen view rather than silence.
58
+ */
59
+ static EMIT_DEDUP_WINDOW_MS = 800;
50
60
  _navDebounceTimer = null;
51
61
  /** Whether the React Navigation exports were actually replaced — see _autoHookReactNavigation. */
52
62
  _autoHookInstalled = false;
@@ -105,6 +115,7 @@ class AutoScreenDetector {
105
115
  if (this.isManualScreenActive()) return;
106
116
  if (name !== this._autoScreen) {
107
117
  this._autoScreen = name;
118
+ this._autoVisitSig = name; // native lifecycle carries no route key — name-only visit
108
119
  this._emitScreenChange(name, 'heuristic');
109
120
  }
110
121
  } catch {/* no-throw */}
@@ -167,10 +178,13 @@ class AutoScreenDetector {
167
178
  try {
168
179
  const state = typeof container.getRootState === 'function' ? container.getRootState() : null;
169
180
  if (state) {
170
- const screen = this._extractActiveRoute(state);
171
- if (screen && screen !== this._autoScreen) {
172
- this._autoScreen = screen;
173
- this._emitScreenChange(screen, 'navRef');
181
+ // Compared by name#key so a re-VISIT of the same route
182
+ // (new key) is recorded — name-only comparison swallowed it.
183
+ const visit = this._extractActiveVisit(state);
184
+ if (visit && this._visitSig(visit) !== this._autoVisitSig) {
185
+ this._autoScreen = visit.name;
186
+ this._autoVisitSig = this._visitSig(visit);
187
+ this._emitScreenChange(visit.name, 'navRef');
174
188
  }
175
189
  }
176
190
  } catch {/* no-throw */}
@@ -184,10 +198,11 @@ class AutoScreenDetector {
184
198
  if (typeof container.getRootState === 'function') {
185
199
  const state = container.getRootState();
186
200
  if (state) {
187
- const screen = this._extractActiveRoute(state);
188
- if (screen) {
189
- this._autoScreen = screen;
190
- this._emitScreenChange(screen, 'navRef');
201
+ const visit = this._extractActiveVisit(state);
202
+ if (visit) {
203
+ this._autoScreen = visit.name;
204
+ this._autoVisitSig = this._visitSig(visit);
205
+ this._emitScreenChange(visit.name, 'navRef');
191
206
  }
192
207
  }
193
208
  }
@@ -223,10 +238,14 @@ class AutoScreenDetector {
223
238
  if (navContainer) {
224
239
  const state = typeof navContainer.getRootState === 'function' ? navContainer.getRootState() : null;
225
240
  if (state) {
226
- const screen = this._extractActiveRoute(state);
227
- if (screen && screen !== this._autoScreen) {
228
- this._autoScreen = screen;
229
- this._emitScreenChange(screen, 'heuristic');
241
+ // name#key comparison: a re-opened route (same name, fresh key) seen
242
+ // across poll ticks is a new visit even when every intermediate screen
243
+ // fell between polls — the case a name-only diff could never see.
244
+ const visit = this._extractActiveVisit(state);
245
+ if (visit && this._visitSig(visit) !== this._autoVisitSig) {
246
+ this._autoScreen = visit.name;
247
+ this._autoVisitSig = this._visitSig(visit);
248
+ this._emitScreenChange(visit.name, 'heuristic');
230
249
  }
231
250
  }
232
251
  }
@@ -266,6 +285,22 @@ class AutoScreenDetector {
266
285
  * Handles nested navigators by walking to the deepest active route.
267
286
  */
268
287
  _extractActiveRoute(state) {
288
+ return this._extractActiveVisit(state)?.name ?? null;
289
+ }
290
+
291
+ /**
292
+ * Extract the active route's name AND its React Navigation route `key`.
293
+ *
294
+ * The key is what makes re-VISITS detectable. Comparing names alone collapses two
295
+ * different visits to the same route into one screen view: leave Details, open Details
296
+ * again, and `name === _autoScreen` swallowed the second visit entirely (QA: "opened the
297
+ * same route again and no screen event was recorded"). React Navigation mints a fresh
298
+ * `key` for every pushed route instance, so a re-push of the same name is a NEW key —
299
+ * name+key comparison records each visit while a mere re-render of the same instance
300
+ * (same key) still emits nothing. States without keys degrade to name-only, i.e. the
301
+ * old behaviour, never worse.
302
+ */
303
+ _extractActiveVisit(state) {
269
304
  try {
270
305
  if (!state?.routes || typeof state.index !== 'number') return null;
271
306
  const activeRoute = state.routes[state.index];
@@ -273,15 +308,25 @@ class AutoScreenDetector {
273
308
 
274
309
  // If this route has nested state, recurse to find the deepest active route
275
310
  if (activeRoute.state?.routes && typeof activeRoute.state.index === 'number') {
276
- const nested = this._extractActiveRoute(activeRoute.state);
311
+ const nested = this._extractActiveVisit(activeRoute.state);
277
312
  if (nested) return nested;
278
313
  }
279
- return activeRoute.name || null;
314
+ if (!activeRoute.name) return null;
315
+ const rawKey = activeRoute.key;
316
+ return {
317
+ name: activeRoute.name,
318
+ key: typeof rawKey === 'string' ? rawKey : null
319
+ };
280
320
  } catch {
281
321
  return null;
282
322
  }
283
323
  }
284
324
 
325
+ /** `name#key` signature of one screen VISIT — what the auto paths dedup on. */
326
+ _visitSig(visit) {
327
+ return visit.key ? `${visit.name}#${visit.key}` : visit.name;
328
+ }
329
+
285
330
  // ─── Lifecycle ──────────────────────────────────────────────────────
286
331
 
287
332
  /** Start auto-detection (idempotent) */
@@ -471,9 +516,16 @@ class AutoScreenDetector {
471
516
 
472
517
  _emitScreenChange(name, source) {
473
518
  try {
474
- // Deduplicate: don't emit if the screen is the same as last emitted
475
- if (name === this._lastEmittedScreen) return;
519
+ // Cross-source dedup, TIME-BOUNDED. This used to drop any name equal to the last
520
+ // emitted, forever so re-entering a route whose departure was never observed
521
+ // (heuristic poll missed the intermediate screen, or the user re-pushed the same
522
+ // route) was swallowed on EVERY path, manual beacons included (QA: "opened the
523
+ // same route again, no screen event"). Same name within the window is still one
524
+ // transition double-reported by two sources; same name after it is a new visit.
525
+ const emitNow = Date.now();
526
+ if (name === this._lastEmittedScreen && emitNow - this._lastEmittedTs < AutoScreenDetector.EMIT_DEDUP_WINDOW_MS) return;
476
527
  this._lastEmittedScreen = name;
528
+ this._lastEmittedTs = emitNow;
477
529
  for (const cb of this._listeners) {
478
530
  try {
479
531
  cb(name, source);
@@ -99,6 +99,13 @@ class BackendSessionAdapter {
99
99
  // the flush timer retries, so nothing is lost to a start/child race. The durable native
100
100
  // outbox path has its own ordering; this guards only the JS in-memory fallback.
101
101
  _startedSessionIds = new Set();
102
+ // §11 offline-start recovery: INGESTION_START payloads whose POST failed (e.g. the app
103
+ // launched with no connectivity). Without this, a failed START was logged and forgotten —
104
+ // the row-ready gate never opened, every child lane re-buffered forever, and the session
105
+ // stayed stuck until an app restart even after the network returned. Each flush tick
106
+ // re-attempts these until acked (network errors keep retrying; permanent 4xx gives up).
107
+ _pendingStartPayloads = new Map();
108
+ _startRetryInFlight = false;
102
109
  pendingFrames = [];
103
110
  pendingEvents = [];
104
111
  pendingNetworkRequests = [];
@@ -234,11 +241,20 @@ class BackendSessionAdapter {
234
241
  }
235
242
  };
236
243
  __DEV__ && _internalLogger.logger.debug(`[BackendSessionAdapter] POST session start: ${session.sessionId}`);
237
- return this._post(startEndpoint, payload);
238
- }).then(() => {
239
- // §11: row now exists — release the child-lane flush gate for this id.
240
- this._startedSessionIds.add(session.sessionId);
241
- __DEV__ && _internalLogger.logger.info(`[ScaleBun Replay] backend session upload success`);
244
+ return this._post(startEndpoint, payload).then(() => {
245
+ // §11: row now exists — release the child-lane flush gate for this id.
246
+ this._startedSessionIds.add(session.sessionId);
247
+ this._pendingStartPayloads.delete(session.sessionId);
248
+ __DEV__ && _internalLogger.logger.info(`[ScaleBun Replay] backend session upload success`);
249
+ }, err => {
250
+ // Offline-start recovery: keep the payload; the flush timer re-attempts it
251
+ // until the row is acked. A permanent 4xx (rejected key) is not retried —
252
+ // the same payload can never succeed.
253
+ if (!BackendSessionAdapter._isPermanentHttpError(err)) {
254
+ this._pendingStartPayloads.set(session.sessionId, payload);
255
+ }
256
+ _internalLogger.logger.info(`[ScaleBun Replay] backend session upload failure`);
257
+ });
242
258
  }).catch(() => _internalLogger.logger.info(`[ScaleBun Replay] backend session upload failure`));
243
259
  }
244
260
  sendSessionEnd(session) {
@@ -333,10 +349,22 @@ class BackendSessionAdapter {
333
349
  environment: m?.buildType
334
350
  }
335
351
  };
336
- await this._post(startEndpoint, payload);
352
+ try {
353
+ await this._post(startEndpoint, payload);
354
+ } catch (err) {
355
+ // Offline-start recovery: keep the payload for the flush-tick retry loop.
356
+ // Without this a session that started with no connectivity NEVER opened its
357
+ // row-ready gate — frames/events re-buffered for the life of the process and
358
+ // only an app restart recovered it, even after the network came back.
359
+ if (!BackendSessionAdapter._isPermanentHttpError(err)) {
360
+ this._pendingStartPayloads.set(session.sessionId, payload);
361
+ }
362
+ throw err;
363
+ }
337
364
  // §11: row exists. When recording adopts this analytics id (one-row merge),
338
365
  // this also releases the recording child-lane gate (_sessionRowReady).
339
366
  this._startedSessionIds.add(session.sessionId);
367
+ this._pendingStartPayloads.delete(session.sessionId);
340
368
  // Row is confirmed — replay any events buffered while START was in flight.
341
369
  // The pre-ack flush at the top of this method is gated off until now, so
342
370
  // this is what actually drains the pre-ready buffer (no premature 404).
@@ -347,6 +375,42 @@ class BackendSessionAdapter {
347
375
  }
348
376
  }
349
377
 
378
+ /**
379
+ * Re-attempt any INGESTION_START whose POST failed (offline app launch). Runs on every
380
+ * flush tick of BOTH lanes — cheap no-op when the map is empty, single-flight guarded.
381
+ * On ack: opens the row-ready gate and drains whichever lane the id belongs to, which is
382
+ * exactly what un-sticks a replay that started offline once connectivity returns.
383
+ */
384
+ _retryPendingStarts() {
385
+ if (this.destroyed || this._startRetryInFlight || this._pendingStartPayloads.size === 0) return;
386
+ const entry = this._pendingStartPayloads.entries().next().value;
387
+ if (!entry) return;
388
+ const [sessionId, payload] = entry;
389
+ // A stale pending start for a session that already ended AND is not the open analytics
390
+ // session would create a row nothing will ever finalize — drop it instead.
391
+ const stillRelevant = sessionId === this.currentSessionId || sessionId === this._analyticsSessionId;
392
+ if (!stillRelevant) {
393
+ this._pendingStartPayloads.delete(sessionId);
394
+ return;
395
+ }
396
+ this._startRetryInFlight = true;
397
+ const startEndpoint = this.config.clientKey ? _endpoints.ENDPOINTS.INGESTION_START : '/replay/sessions';
398
+ this._post(startEndpoint, payload).then(() => {
399
+ this._startedSessionIds.add(sessionId);
400
+ this._pendingStartPayloads.delete(sessionId);
401
+ __DEV__ && _internalLogger.logger.info(`[ScaleBun Replay] deferred session start delivered: ${sessionId}`);
402
+ if (sessionId === this._analyticsSessionId) {
403
+ this._flushAnalyticsEvents().catch(() => {});
404
+ }
405
+ }).catch(err => {
406
+ if (BackendSessionAdapter._isPermanentHttpError(err)) {
407
+ this._pendingStartPayloads.delete(sessionId); // will never succeed — stop retrying
408
+ }
409
+ }).finally(() => {
410
+ this._startRetryInFlight = false;
411
+ });
412
+ }
413
+
350
414
  /**
351
415
  * Enqueue a user track() event. Buffers (bounded, drop-oldest) when the
352
416
  * analytics session is not yet open; flushes at >=20 once it is.
@@ -494,6 +558,7 @@ class BackendSessionAdapter {
494
558
  _startAnalyticsFlushTimer() {
495
559
  this._stopAnalyticsFlushTimer();
496
560
  this.analyticsFlushTimer = setInterval(() => {
561
+ this._retryPendingStarts();
497
562
  this._flushAnalyticsEvents().catch(() => {});
498
563
  }, this.config.flushIntervalMs);
499
564
  }
@@ -740,6 +805,7 @@ class BackendSessionAdapter {
740
805
  this._analyticsSessionId = null;
741
806
  this._pendingFinalizeId = null;
742
807
  this._startedSessionIds.clear();
808
+ this._pendingStartPayloads.clear();
743
809
  }
744
810
 
745
811
  // ─── Internal: Flush ────────────────────────────────────────────────
@@ -1366,6 +1432,7 @@ class BackendSessionAdapter {
1366
1432
  _startFlushTimer() {
1367
1433
  this._stopFlushTimer();
1368
1434
  this.flushTimer = setInterval(() => {
1435
+ this._retryPendingStarts();
1369
1436
  this._flushFrames().catch(() => {});
1370
1437
  this._flushEvents().catch(() => {});
1371
1438
  this._flushNetwork().catch(() => {});
@@ -91,6 +91,22 @@ class SessionManager {
91
91
  * differently across devices and pushes markers ~10% off vertically).
92
92
  */
93
93
  _lastNativeViewportJsUnits = null;
94
+
95
+ /**
96
+ * Exact-duplicate gesture suppression (QA: one physical tap recorded 2–3×).
97
+ *
98
+ * Measured in production data: the native tracker re-emitted the SAME tap — identical
99
+ * gestureType and identical coordinates to the SUB-PIXEL (e.g. x=466.962890625) — at
100
+ * 160–240ms gaps, sometimes twice. A human re-tap cannot reproduce a sub-pixel float
101
+ * exactly, so exact coordinate equality within the window is a safe discriminator: real
102
+ * double-taps land on at least slightly different pixels and pass through untouched.
103
+ * The pipeline's own 100ms dedup was too narrow for these; this window covers what was
104
+ * actually observed with margin. Sits at the ONE entry point every gesture source funnels
105
+ * through, so recording and analytics lanes are protected equally.
106
+ */
107
+ _lastGestureSig = null;
108
+ _lastGestureTs = 0;
109
+ static GESTURE_DEDUP_WINDOW_MS = 400;
94
110
  /** Memoized native file-outbox frame adapter (gated by the backend transport). */
95
111
  _outboxFrameCapture = null;
96
112
  constructor(debugTransport, nativeCapture, managerConfig) {
@@ -938,6 +954,18 @@ class SessionManager {
938
954
  * Emits a USER_ACTION event with gesture-specific subtype and payload.
939
955
  */
940
956
  onGestureDetected(gestureType, details) {
957
+ // Exact-duplicate suppression — see _lastGestureSig. Signature is the gesture type plus
958
+ // raw coordinates verbatim; String() keeps undefined coords distinct from 0 (a payload
959
+ // with no coords never collides with a real origin tap).
960
+ const dedupSig = `${gestureType}|${String(details?.x)}|${String(details?.y)}|${String(details?.endX)}|${String(details?.endY)}`;
961
+ const nowTs = Date.now();
962
+ if (dedupSig === this._lastGestureSig && nowTs - this._lastGestureTs <= SessionManager.GESTURE_DEDUP_WINDOW_MS) {
963
+ this._lastGestureTs = nowTs; // a burst of 3 stays suppressed even if gaps chain past the window
964
+ return;
965
+ }
966
+ this._lastGestureSig = dedupSig;
967
+ this._lastGestureTs = nowTs;
968
+
941
969
  // Build the canonical gesture payload ONCE so the recording lane and the
942
970
  // (additive) analytics lane carry byte-identical keys (normalizedX/Y,
943
971
  // gestureType, etc.). Same object shape that was previously inlined.
@@ -20,6 +20,7 @@ var _debug = require("../debug");
20
20
  var _api = require("../features/replay/public/api");
21
21
  var _SDKBootstrapper = require("../bootstrap/SDKBootstrapper");
22
22
  var _EventTracker = require("../analytics/EventTracker");
23
+ var _bridgeAdapter = require("../features/replay/bridge/adapters/bridgeAdapter");
23
24
  var _automaticEvents = require("../analytics/automaticEvents");
24
25
  var _eventLane = require("../analytics/eventLane");
25
26
  var _ConfigManager = require("../config/ConfigManager");
@@ -313,6 +314,8 @@ class ScaleBunFacade {
313
314
  * the whole time. The SDK knows the device; the integrator is guessing at it.
314
315
  * Everything outside the detected keys is still theirs.
315
316
  */
317
+ // Everything Platform.constants knows. On iOS that is neither the model nor the
318
+ // manufacturer, so the bridge completes it below once it answers.
316
319
  context: (0, _device.mergeDeviceContext)(rawConfig?.context),
317
320
  // Use the same foreground id as replay/journey capture. The
318
321
  // callback is resolved per event because the session subsystem
@@ -327,6 +330,19 @@ class ScaleBunFacade {
327
330
  this._eventTracker.start();
328
331
  __DEV__ && _internalLogger.logger.info('[ScaleBun] Envelope event tracking started → /v1/batch.');
329
332
 
333
+ // Complete the device context from the native bridge.
334
+ //
335
+ // `Platform.constants` answers Android synchronously — model and manufacturer ride the
336
+ // first event. It answers NEITHER on iOS, so without this every iOS installation
337
+ // reported no device model at all: `nativeDeviceContext` existed for exactly this and
338
+ // had no caller, and the bridge's own answer was `UIDevice.current.model` — the string
339
+ // "iPhone", identical on every iPhone ever made.
340
+ //
341
+ // Fire-and-forget on purpose. The bridge is async and absent entirely on Expo Go or an
342
+ // older native binary; waiting on it would delay the first event, and failing on it
343
+ // would take analytics down over a nice-to-have field.
344
+ this._applyNativeDeviceContext(this._eventTracker);
345
+
330
346
  // Android: capture the Play Install Referrer once per install → feeds the
331
347
  // deterministic click_id path + a one-off install_referrer event (UTM/gclid).
332
348
  // Fire-and-forget; no-op off Android.
@@ -351,6 +367,24 @@ class ScaleBunFacade {
351
367
  }
352
368
  }
353
369
 
370
+ /**
371
+ * Fold the native bridge's device facts into the analytics context once it answers.
372
+ *
373
+ * Detected values never overwrite a populated one with an empty one — `nativeDeviceContext`
374
+ * drops absent keys and `applyDetectedContext` ignores an empty patch — so a bridge that
375
+ * cannot answer leaves whatever `Platform.constants` already found.
376
+ */
377
+ _applyNativeDeviceContext(tracker) {
378
+ Promise.resolve().then(() => _bridgeAdapter.bridgeAdapter.getDeviceInfo()).then(info => {
379
+ if (!info) return;
380
+ tracker.applyDetectedContext((0, _device.nativeDeviceContext)({
381
+ osVersion: info.osVersion,
382
+ deviceModel: info.deviceModel
383
+ // iOS ships no manufacturer over the bridge; it is a constant there and the
384
+ // static path already set it. Android's arrives via Platform.constants.
385
+ }));
386
+ }).catch(() => {/* bridge unavailable — the static context stands */});
387
+ }
354
388
  /**
355
389
  * Android-only: read the Play Install Referrer once per install and route it into
356
390
  * attribution. `scalebun_click_id` → the deterministic click path; the full
@@ -549,17 +583,94 @@ class ScaleBunFacade {
549
583
  });
550
584
  }
551
585
 
552
- /** Clear user identity */
553
- clearUser() {
586
+ /**
587
+ * Clear user identity.
588
+ *
589
+ * SB-11: pass `{ purgeLocal: true }` on logout / consent withdrawal to also
590
+ * erase all locally-stored SDK data (see {@link eraseLocalData}). Without it,
591
+ * behaviour is unchanged (identity-only clear).
592
+ */
593
+ clearUser(options) {
554
594
  return (0, _crashSafe.noThrow)(() => {
555
595
  this._identifiedUserId = null;
556
596
  this._pendingIdentity = null;
557
597
  if (!this.initialized) return;
558
598
  this._eventTracker?.clearIdentity();
559
599
  this.track('$clear_user', {});
600
+ if (options?.purgeLocal) void this.eraseLocalData();
601
+ });
602
+ }
603
+
604
+ /**
605
+ * SB-11: erase all locally-stored SDK data from the device — the durable event
606
+ * queue, the pre-init buffer, and the first-party KV store (cached install /
607
+ * anonymous / session IDs, plus any queued payloads including SB-26 disk data).
608
+ *
609
+ * Order matters: capture is stopped FIRST so nothing is written back in behind
610
+ * the delete. Best-effort and never throws.
611
+ *
612
+ * Note: native replay frames written to disk on iOS are addressed separately
613
+ * (SB-15); this covers every store reachable from JS today.
614
+ */
615
+ async eraseLocalData() {
616
+ try {
617
+ // 1) Stop capture so no new frames/events are produced mid-erase.
618
+ try {
619
+ _SessionManager.SessionManager.getExistingInstance()?.endSession('ended');
620
+ } catch {/* best-effort */}
621
+ // 2) Clear the durable queue and the pre-init buffer.
622
+ try {
623
+ this._getQueue().clear();
624
+ } catch {/* best-effort */}
625
+ try {
626
+ this._preInitBuffer.clear();
627
+ } catch {/* best-effort */}
628
+ // 3) Wipe the first-party KV store (cached IDs + any on-disk queue
629
+ // residue) by removing every key through the backend interface.
630
+ try {
631
+ const store = (0, _StorageBackend.createStorageBackend)();
632
+ for (const key of store.getAllKeys()) {
633
+ store.delete(key);
634
+ }
635
+ } catch {/* best-effort */}
636
+ } catch {
637
+ // Never throw — erasure is a safety operation on a best-effort basis.
638
+ }
639
+ }
640
+
641
+ /**
642
+ * SB-11: record the user's data-collection consent. When `enabled` is false,
643
+ * capture is stopped immediately; pass `{ purgeLocal: true }` to also erase
644
+ * everything already stored locally. Never throws.
645
+ */
646
+ setConsent(enabled, options) {
647
+ (0, _crashSafe.noThrow)(() => {
648
+ if (enabled) return;
649
+ try {
650
+ _SessionManager.SessionManager.getExistingInstance()?.endSession('ended');
651
+ } catch {/* best-effort */}
652
+ if (options?.purgeLocal) void this.eraseLocalData();
560
653
  });
561
654
  }
562
655
 
656
+ /**
657
+ * SB-10: return the effective privacy policy actually in force, resolving the
658
+ * public config against the SDK's safe defaults. Lets callers and tests assert
659
+ * what is active rather than guessing from the (previously dead) config object.
660
+ */
661
+ getEffectivePrivacyPolicy() {
662
+ const p = this._privacyConfig ?? {};
663
+ return {
664
+ // Real default is true (matches the replay capture default) — the old
665
+ // doc comment claiming "false" was both wrong and less safe.
666
+ maskTextInputs: p.maskTextInputs ?? true,
667
+ maskImages: p.maskImages ?? false,
668
+ redactAuth: p.redactAuth ?? true,
669
+ redactCookies: p.redactCookies ?? true,
670
+ redactBodies: p.redactBodies ?? false
671
+ };
672
+ }
673
+
563
674
  /**
564
675
  * Submit in-app rating (1-5 stars).
565
676
  * Attaches to current session when available; otherwise sends standalone.
@@ -336,6 +336,28 @@ export class EventTracker {
336
336
  this.persistQueue();
337
337
  }
338
338
 
339
+ /**
340
+ * Fold in device facts that were not knowable at init.
341
+ *
342
+ * `Platform.constants` answers Android synchronously, so its model and manufacturer ride the
343
+ * very first event. iOS exposes neither there — only the native bridge knows, and the bridge is
344
+ * async and may not be installed at all. Without this the iOS half of every install reported no
345
+ * model whatsoever.
346
+ *
347
+ * `buildEnvelope` reads `cfg.context` per event, so applying it here reaches every event from
348
+ * the next one onward. Detected keys WIN over whatever the integrator configured, for the same
349
+ * reason `mergeDeviceContext` inverts the usual precedence: a measurement must not be
350
+ * overridable by a guess. Empty patches are ignored so a bridge that answered with nothing
351
+ * cannot blank a value the static path already found.
352
+ */
353
+ applyDetectedContext(patch) {
354
+ if (!patch || Object.keys(patch).length === 0) return;
355
+ this.cfg.context = {
356
+ ...(this.cfg.context ?? {}),
357
+ ...patch
358
+ };
359
+ }
360
+
339
361
  // ─── internals ─────────────────────────────────────────────────────────────
340
362
 
341
363
  buildEnvelope(eventName, properties) {
@@ -317,6 +317,22 @@ export class SDKBootstrapper {
317
317
  if (features.replay !== false) {
318
318
  try {
319
319
  __DEV__ && logger.debug('[Bootstrap] Initializing unified SessionManager');
320
+ // SB-10: map the public top-level privacy config onto the replay
321
+ // privacy policy — the field the native capture path actually reads.
322
+ // Unspecified fields fall back to the SDK's safe defaults
323
+ // (redactTextInputs: true), so this only ever tightens masking.
324
+ const pub = this.config.privacy ?? {};
325
+ const sessionReplay = {
326
+ ...(this.config.replay ?? {})
327
+ };
328
+ if (typeof pub.maskTextInputs === 'boolean' || typeof pub.maskImages === 'boolean') {
329
+ sessionReplay.privacyPolicy = {
330
+ redactTextInputs: pub.maskTextInputs ?? true,
331
+ redactImages: pub.maskImages ?? false,
332
+ blockTestIds: [],
333
+ captureExclusions: []
334
+ };
335
+ }
320
336
  const sessionManager = SessionManager.getInstance(null,
321
337
  // No desktop transport initially
322
338
  nativeCapture,
@@ -326,9 +342,7 @@ export class SDKBootstrapper {
326
342
  // Also flow the Feature #4 heatmap flag so tap/gesture coords
327
343
  // route to the analytics lane even when no recording is active.
328
344
  {
329
- ...(this.config.replay ? {
330
- sessionReplay: this.config.replay
331
- } : {}),
345
+ sessionReplay: sessionReplay,
332
346
  captureInteractionHeatmap: this.config.captureInteractionHeatmap === true
333
347
  });
334
348
 
@@ -239,6 +239,35 @@ const SHAPE = {
239
239
  })
240
240
  }
241
241
  },
242
+ // SB-10: the public, documented top-level privacy config. Previously only the
243
+ // nested replay privacy took effect; this is validated here and mapped onto the
244
+ // effective replay privacy policy in the bootstrapper so it actually masks.
245
+ privacy: {
246
+ kind: 'obj',
247
+ opt: true,
248
+ shape: {
249
+ maskTextInputs: {
250
+ kind: 'bool',
251
+ opt: true
252
+ },
253
+ maskImages: {
254
+ kind: 'bool',
255
+ opt: true
256
+ },
257
+ redactAuth: {
258
+ kind: 'bool',
259
+ opt: true
260
+ },
261
+ redactCookies: {
262
+ kind: 'bool',
263
+ opt: true
264
+ },
265
+ redactBodies: {
266
+ kind: 'bool',
267
+ opt: true
268
+ }
269
+ }
270
+ },
242
271
  captureInteractionHeatmap: bool(true),
243
272
  // Opt-in: intercept console.* and ship the lines to the Diagnose → Logs lane in SaaS
244
273
  // mode. OFF by default — console output can carry PII/secrets and adds ingest volume,
@@ -3,5 +3,5 @@
3
3
  * can attribute telemetry to the SDK build that produced it.
4
4
  * Keep in sync with package.json "version".
5
5
  */
6
- export const SDK_VERSION = '1.10.4';
6
+ export const SDK_VERSION = '1.10.6';
7
7
  //# sourceMappingURL=version.js.map
@@ -92,6 +92,10 @@ export function staticDeviceContext() {
92
92
  if (osVersion) out.os_version = String(osVersion);
93
93
  if (c.Model) out.device_model = String(c.Model);
94
94
  if (c.Manufacturer) out.manufacturer = String(c.Manufacturer);else if (c.Brand) out.manufacturer = String(c.Brand);
95
+ // iOS exposes no manufacturer because it does not need to: every device running iOS is Apple's.
96
+ // A tautology, not a guess — and it means the field is populated on event #1 rather than waiting
97
+ // for a bridge that may never answer.
98
+ else if (out.platform_os === 'ios') out.manufacturer = 'Apple';
95
99
  return out;
96
100
  }
97
101
 
@@ -101,6 +105,7 @@ export function nativeDeviceContext(info) {
101
105
  if (!info) return out;
102
106
  if (info.osVersion) out.os_version = info.osVersion;
103
107
  if (info.deviceModel) out.device_model = info.deviceModel;
108
+ if (info.manufacturer) out.manufacturer = info.manufacturer;
104
109
  return out;
105
110
  }
106
111