@scalebun/react-native 1.10.3 → 1.10.5
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.
- package/android/src/main/java/com/scalebun/replaysdk/tracking/InteractionTracker.kt +19 -0
- package/dist/scalebun.full.js +417 -57
- package/dist/scalebun.slim.js +414 -62
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +31 -5
- package/lib/commonjs/core/config/schema.js +29 -0
- package/lib/commonjs/core/constants/version.js +1 -1
- package/lib/commonjs/debug/redaction.js +227 -41
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +9 -1
- package/lib/commonjs/features/navigation/AutoScreenDetector.js +68 -16
- package/lib/commonjs/features/session/BackendSessionAdapter.js +73 -6
- package/lib/commonjs/features/session/SessionManager.js +28 -0
- package/lib/commonjs/public/ScaleBunFacade.js +79 -2
- package/lib/module/bootstrap/SDKBootstrapper.js +30 -3
- package/lib/module/core/config/schema.js +29 -0
- package/lib/module/core/constants/version.js +1 -1
- package/lib/module/debug/redaction.js +227 -41
- package/lib/module/features/journey/ScaleBunDebugRoot.js +9 -1
- package/lib/module/features/navigation/AutoScreenDetector.js +68 -16
- package/lib/module/features/session/BackendSessionAdapter.js +73 -6
- package/lib/module/features/session/SessionManager.js +28 -0
- package/lib/module/public/ScaleBunFacade.js +79 -2
- package/lib/typescript/core/config/schema.d.ts +8 -0
- package/lib/typescript/core/constants/version.d.ts +1 -1
- package/lib/typescript/debug/redaction.d.ts +8 -2
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts +25 -0
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts +9 -0
- package/lib/typescript/features/session/SessionManager.d.ts +15 -0
- package/lib/typescript/public/ScaleBunFacade.d.ts +36 -2
- package/lib/typescript/public/types.d.ts +1 -1
- package/package.json +6 -2
- package/src/bootstrap/SDKBootstrapper.ts +32 -1
- package/src/core/config/schema.ts +22 -0
- package/src/core/constants/version.ts +1 -1
- package/src/debug/redaction.ts +235 -42
- package/src/features/journey/ScaleBunDebugRoot.tsx +9 -1
- package/src/features/navigation/AutoScreenDetector.ts +70 -16
- package/src/features/session/BackendSessionAdapter.ts +81 -7
- package/src/features/session/SessionManager.ts +31 -0
- package/src/public/ScaleBunFacade.ts +81 -2
- package/src/public/types.ts +1 -1
- package/dist/scalebun.full.js.map +0 -1
- package/dist/scalebun.slim.js.map +0 -1
- package/lib/commonjs/analytics/EventTracker.js.map +0 -1
- package/lib/commonjs/analytics/automaticEvents.js.map +0 -1
- package/lib/commonjs/analytics/batching.js.map +0 -1
- package/lib/commonjs/analytics/eventLane.js.map +0 -1
- package/lib/commonjs/bootstrap/FeatureRegistry.js.map +0 -1
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +0 -1
- package/lib/commonjs/bucketing/fnv1a32.js.map +0 -1
- package/lib/commonjs/compat/codepush.js.map +0 -1
- package/lib/commonjs/config/ConfigManager.js.map +0 -1
- package/lib/commonjs/config/configTypes.js.map +0 -1
- package/lib/commonjs/core/architecture.js.map +0 -1
- package/lib/commonjs/core/clock/now.js.map +0 -1
- package/lib/commonjs/core/config/defaults.js.map +0 -1
- package/lib/commonjs/core/config/schema.js.map +0 -1
- package/lib/commonjs/core/constants/endpoints.js.map +0 -1
- package/lib/commonjs/core/constants/protocol.js.map +0 -1
- package/lib/commonjs/core/constants/timings.js.map +0 -1
- package/lib/commonjs/core/constants/version.js.map +0 -1
- package/lib/commonjs/core/context/app.js.map +0 -1
- package/lib/commonjs/core/context/device.js.map +0 -1
- package/lib/commonjs/core/context/session.js.map +0 -1
- package/lib/commonjs/core/context/user.js.map +0 -1
- package/lib/commonjs/core/contracts/IFeature.js.map +0 -1
- package/lib/commonjs/core/di/container.js.map +0 -1
- package/lib/commonjs/core/encoding/base64.js.map +0 -1
- package/lib/commonjs/core/id/deviceId.js.map +0 -1
- package/lib/commonjs/core/id/installationId.js.map +0 -1
- package/lib/commonjs/core/id/sessionId.js.map +0 -1
- package/lib/commonjs/core/lifecycle/appLifecycle.js.map +0 -1
- package/lib/commonjs/core/lifecycle/crashSafe.js.map +0 -1
- package/lib/commonjs/core/logger/errorClassification.js.map +0 -1
- package/lib/commonjs/core/logger/internalLogger.js.map +0 -1
- package/lib/commonjs/core/logger/levels.js.map +0 -1
- package/lib/commonjs/crypto/hmacSha256.js.map +0 -1
- package/lib/commonjs/debug/bootstrap.js.map +0 -1
- package/lib/commonjs/debug/commands.js.map +0 -1
- package/lib/commonjs/debug/configBuilder.js.map +0 -1
- package/lib/commonjs/debug/exportBridge.js.map +0 -1
- package/lib/commonjs/debug/hostResolver.js.map +0 -1
- package/lib/commonjs/debug/index.js.map +0 -1
- package/lib/commonjs/debug/metrics.js.map +0 -1
- package/lib/commonjs/debug/perf.js.map +0 -1
- package/lib/commonjs/debug/perfWiring.js.map +0 -1
- package/lib/commonjs/debug/protocol.js.map +0 -1
- package/lib/commonjs/debug/redaction.js.map +0 -1
- package/lib/commonjs/debug/replayWiring.js.map +0 -1
- package/lib/commonjs/debug/screenTracking.js.map +0 -1
- package/lib/commonjs/debug/sessionWiring.js.map +0 -1
- package/lib/commonjs/debug/stream.js.map +0 -1
- package/lib/commonjs/debug/transport.js.map +0 -1
- package/lib/commonjs/features/bugreport/BugReportFeature.js.map +0 -1
- package/lib/commonjs/features/bugreport/buildPayload.js.map +0 -1
- package/lib/commonjs/features/bugreport/index.js.map +0 -1
- package/lib/commonjs/features/crash/CrashFeature.js.map +0 -1
- package/lib/commonjs/features/crash/CrashReporter.js.map +0 -1
- package/lib/commonjs/features/crash/NativeCrashFeature.js.map +0 -1
- package/lib/commonjs/features/crash/capture.js.map +0 -1
- package/lib/commonjs/features/crash/globalHandler.js.map +0 -1
- package/lib/commonjs/features/crash/index.js.map +0 -1
- package/lib/commonjs/features/crash/nativeCrashBridge.js.map +0 -1
- package/lib/commonjs/features/crash/rejectionHandler.js.map +0 -1
- package/lib/commonjs/features/engage/EngageAnchor.js.map +0 -1
- package/lib/commonjs/features/engage/EngageArchetypeRenderers.js.map +0 -1
- package/lib/commonjs/features/engage/EngageInAppView.js.map +0 -1
- package/lib/commonjs/features/engage/EngageInlinePlacement.js.map +0 -1
- package/lib/commonjs/features/engage/EngagePromptProvider.js.map +0 -1
- package/lib/commonjs/features/engage/EngagePromptView.js.map +0 -1
- package/lib/commonjs/features/engage/EngageTransport.js.map +0 -1
- package/lib/commonjs/features/engage/EngageVariantContent.js.map +0 -1
- package/lib/commonjs/features/engage/__test-support__/reactNativeStub.js.map +0 -1
- package/lib/commonjs/features/engage/attachmentCapture.js.map +0 -1
- package/lib/commonjs/features/engage/captureVoiceAttachment.js.map +0 -1
- package/lib/commonjs/features/engage/engageCoachmarkTour.js.map +0 -1
- package/lib/commonjs/features/engage/engageGameLogic.js.map +0 -1
- package/lib/commonjs/features/engage/engageMediaSizing.js.map +0 -1
- package/lib/commonjs/features/engage/engageMultiStepSheet.js.map +0 -1
- package/lib/commonjs/features/engage/engageOutcome.js.map +0 -1
- package/lib/commonjs/features/engage/engagePushTokenBridge.js.map +0 -1
- package/lib/commonjs/features/engage/engageShakeBridge.js.map +0 -1
- package/lib/commonjs/features/engage/engageSignals.js.map +0 -1
- package/lib/commonjs/features/engage/engageStoreReviewBridge.js.map +0 -1
- package/lib/commonjs/features/engage/engageTestSeenStore.js.map +0 -1
- package/lib/commonjs/features/engage/engageThrottle.js.map +0 -1
- package/lib/commonjs/features/engage/engageTriggerEngine.js.map +0 -1
- package/lib/commonjs/features/engage/engageTypes.js.map +0 -1
- package/lib/commonjs/features/engage/engageVariantResolver.js.map +0 -1
- package/lib/commonjs/features/engage/engageWindowInsets.js.map +0 -1
- package/lib/commonjs/features/engage/gestureTriggerDetector.js.map +0 -1
- package/lib/commonjs/features/engage/transcription/TranscriptionProvider.js.map +0 -1
- package/lib/commonjs/features/install-referrer/installReferrer.js.map +0 -1
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +0 -1
- package/lib/commonjs/features/journey/ScaleBunFlatList.js.map +0 -1
- package/lib/commonjs/features/journey/ScaleBunImpression.js.map +0 -1
- package/lib/commonjs/features/journey/ScaleBunScrollView.js.map +0 -1
- package/lib/commonjs/features/journey/ScaleBunSectionList.js.map +0 -1
- package/lib/commonjs/features/journey/calibrationContext.js.map +0 -1
- package/lib/commonjs/features/journey/gestureBuffer.js.map +0 -1
- package/lib/commonjs/features/journey/gestureDetector.js.map +0 -1
- package/lib/commonjs/features/journey/impression.js.map +0 -1
- package/lib/commonjs/features/journey/journeyManager.js.map +0 -1
- package/lib/commonjs/features/journey/journeyTypes.js.map +0 -1
- package/lib/commonjs/features/journey/navDetector.js.map +0 -1
- package/lib/commonjs/features/journey/screenshotHelper.js.map +0 -1
- package/lib/commonjs/features/journey/targetRegistry.js.map +0 -1
- package/lib/commonjs/features/journey/touchTarget.js.map +0 -1
- package/lib/commonjs/features/navigation/AutoScreenDetector.js.map +0 -1
- package/lib/commonjs/features/network/NetworkFeature.js.map +0 -1
- package/lib/commonjs/features/network/index.js.map +0 -1
- package/lib/commonjs/features/ota/OtaEventEmitter.js.map +0 -1
- package/lib/commonjs/features/ota/OtaOrchestrator.js.map +0 -1
- package/lib/commonjs/features/ota/OtaTypes.js.map +0 -1
- package/lib/commonjs/features/ota/deviceAttributes.js.map +0 -1
- package/lib/commonjs/features/ota/environment.js.map +0 -1
- package/lib/commonjs/features/ota/geoCountry.js.map +0 -1
- package/lib/commonjs/features/ota/retry.js.map +0 -1
- package/lib/commonjs/features/ota/signature.js.map +0 -1
- package/lib/commonjs/features/ota/useOtaUpdate.js.map +0 -1
- package/lib/commonjs/features/performance/PerformanceFeature.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/AppLaunchCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/CustomTraceCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/JsStallCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
- package/lib/commonjs/features/performance/collectors/UiHangCollector.js.map +0 -1
- package/lib/commonjs/features/performance/config.js.map +0 -1
- package/lib/commonjs/features/performance/getNativePerformanceModule.js.map +0 -1
- package/lib/commonjs/features/performance/index.js.map +0 -1
- package/lib/commonjs/features/performance/metrics/MetricsEngine.js.map +0 -1
- package/lib/commonjs/features/performance/models.js.map +0 -1
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +0 -1
- package/lib/commonjs/features/profiler/ProfilerFeature.js.map +0 -1
- package/lib/commonjs/features/profiler/config.js.map +0 -1
- package/lib/commonjs/features/profiler/contracts.js.map +0 -1
- package/lib/commonjs/features/profiler/index.js.map +0 -1
- package/lib/commonjs/features/profiler/models.js.map +0 -1
- package/lib/commonjs/features/profiler/transport/ProfilerTransport.js.map +0 -1
- package/lib/commonjs/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
- package/lib/commonjs/features/replay/bridge/eventEmitter.js.map +0 -1
- package/lib/commonjs/features/replay/bridge/nativeModule.js.map +0 -1
- package/lib/commonjs/features/replay/core/clock/clock.js.map +0 -1
- package/lib/commonjs/features/replay/core/config/defaults.js.map +0 -1
- package/lib/commonjs/features/replay/core/config/validator.js.map +0 -1
- package/lib/commonjs/features/replay/core/env/environmentDetector.js.map +0 -1
- package/lib/commonjs/features/replay/core/errors/safeCall.js.map +0 -1
- package/lib/commonjs/features/replay/core/ids/sessionId.js.map +0 -1
- package/lib/commonjs/features/replay/core/logger/logger.js.map +0 -1
- package/lib/commonjs/features/replay/core/privacy/privacyTypes.js.map +0 -1
- package/lib/commonjs/features/replay/core/queue/boundedQueue.js.map +0 -1
- package/lib/commonjs/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
- package/lib/commonjs/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
- package/lib/commonjs/features/replay/integrations/network/networkAdapter.js.map +0 -1
- package/lib/commonjs/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
- package/lib/commonjs/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
- package/lib/commonjs/features/replay/pipeline/batching/batchManager.js.map +0 -1
- package/lib/commonjs/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
- package/lib/commonjs/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
- package/lib/commonjs/features/replay/pipeline/transport/transportTypes.js.map +0 -1
- package/lib/commonjs/features/replay/public/api.js.map +0 -1
- package/lib/commonjs/features/replay/public/enums.js.map +0 -1
- package/lib/commonjs/features/replay/public/types.js.map +0 -1
- package/lib/commonjs/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
- package/lib/commonjs/features/replay/replay/frames/frameModels.js.map +0 -1
- package/lib/commonjs/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
- package/lib/commonjs/features/replay/replay/timeline/timelineModels.js.map +0 -1
- package/lib/commonjs/features/replay/transport/BackendReplayTransport.js.map +0 -1
- package/lib/commonjs/features/replay/transport/CompositeReplayTransport.js.map +0 -1
- package/lib/commonjs/features/replay/transport/DesktopReplayTransport.js.map +0 -1
- package/lib/commonjs/features/replay/transport/ReplayTransport.js.map +0 -1
- package/lib/commonjs/features/session/BackendSessionAdapter.js.map +0 -1
- package/lib/commonjs/features/session/DesktopSessionTransport.js.map +0 -1
- package/lib/commonjs/features/session/JourneyEventPipeline.js.map +0 -1
- package/lib/commonjs/features/session/ReplayCaptureManager.js.map +0 -1
- package/lib/commonjs/features/session/ScrollTracker.js.map +0 -1
- package/lib/commonjs/features/session/SessionManager.js.map +0 -1
- package/lib/commonjs/features/session/SyncDecisionEngine.js.map +0 -1
- package/lib/commonjs/features/session/index.js.map +0 -1
- package/lib/commonjs/features/session/nativeCapture.js.map +0 -1
- package/lib/commonjs/features/session/outboxFrameCapture.js.map +0 -1
- package/lib/commonjs/features/session/sessionTypes.js.map +0 -1
- package/lib/commonjs/features/skan/skanBridge.js.map +0 -1
- package/lib/commonjs/features/skan/skanConversionManager.js.map +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/integrations/fetch/fetchInterceptor.js.map +0 -1
- package/lib/commonjs/integrations/navigation/screenTracker.js.map +0 -1
- package/lib/commonjs/integrations/network/bodyCapture.js.map +0 -1
- package/lib/commonjs/integrations/xhr/xhrInterceptor.js.map +0 -1
- package/lib/commonjs/metro/composeSourceMap.js.map +0 -1
- package/lib/commonjs/metro/featureModules.js.map +0 -1
- package/lib/commonjs/metro/index.js.map +0 -1
- package/lib/commonjs/metro/optionalDependencyStub.js.map +0 -1
- package/lib/commonjs/metro/optionalModules.js.map +0 -1
- package/lib/commonjs/metro/serializerCompose.js.map +0 -1
- package/lib/commonjs/pipeline/dispatcher/dispatcher.js.map +0 -1
- package/lib/commonjs/pipeline/envelope/envelope.js.map +0 -1
- package/lib/commonjs/pipeline/envelope/serializer.js.map +0 -1
- package/lib/commonjs/pipeline/processors/dedupe.js.map +0 -1
- package/lib/commonjs/pipeline/processors/enrich.js.map +0 -1
- package/lib/commonjs/pipeline/processors/sampling.js.map +0 -1
- package/lib/commonjs/pipeline/processors/sanitize.js.map +0 -1
- package/lib/commonjs/pipeline/queue/flushQueue.js.map +0 -1
- package/lib/commonjs/pipeline/queue/memoryQueue.js.map +0 -1
- package/lib/commonjs/pipeline/queue/persistentQueue.js.map +0 -1
- package/lib/commonjs/pipeline/queue/queuePolicy.js.map +0 -1
- package/lib/commonjs/pipeline/scheduler/flushScheduler.js.map +0 -1
- package/lib/commonjs/pipeline/scheduler/retryPolicy.js.map +0 -1
- package/lib/commonjs/public/ScaleBunErrorBoundary.js.map +0 -1
- package/lib/commonjs/public/ScaleBunFacade.js.map +0 -1
- package/lib/commonjs/public/ScaleBunProvider.js.map +0 -1
- package/lib/commonjs/public/typedTracker.js.map +0 -1
- package/lib/commonjs/public/types.js.map +0 -1
- package/lib/commonjs/push/PushManager.js.map +0 -1
- package/lib/commonjs/push/adapters/ManualAdapter.js.map +0 -1
- package/lib/commonjs/push/adapters/NativeBridgeAdapter.js.map +0 -1
- package/lib/commonjs/push/adapters/NoopAdapter.js.map +0 -1
- package/lib/commonjs/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
- package/lib/commonjs/push/adapters/loadMessaging.js.map +0 -1
- package/lib/commonjs/push/adapters/loadNotifee.js.map +0 -1
- package/lib/commonjs/push/adapters/selectAdapter.js.map +0 -1
- package/lib/commonjs/push/detect/capabilities.js.map +0 -1
- package/lib/commonjs/push/index.js.map +0 -1
- package/lib/commonjs/push/native/nativeNotifications.js.map +0 -1
- package/lib/commonjs/push/types.js.map +0 -1
- package/lib/commonjs/specs/NativeReplaySdk.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunCrash.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunInstallReferrer.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunOta.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunPerformance.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunProfiler.js.map +0 -1
- package/lib/commonjs/specs/NativeScaleBunStorage.js.map +0 -1
- package/lib/commonjs/storage/StorageBackend.js.map +0 -1
- package/lib/commonjs/storage/db/sqlite.js.map +0 -1
- package/lib/commonjs/storage/files/fileStore.js.map +0 -1
- package/lib/commonjs/transport/auth/sdkSession.js.map +0 -1
- package/lib/commonjs/transport/backoff/exponentialJitter.js.map +0 -1
- package/lib/commonjs/transport/http/endpoints.js.map +0 -1
- package/lib/commonjs/transport/http/httpClient.js.map +0 -1
- package/lib/commonjs/transport/rateLimit/retryAfter.js.map +0 -1
- package/lib/commonjs/transport/signing/requestSigner.js.map +0 -1
- package/lib/commonjs/vendor/protocol/index.js.map +0 -1
- package/lib/commonjs/vendor/protocol/internal/validation.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/bridge.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/config.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/events.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/features.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/index.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/platform.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/session-boundary.js.map +0 -1
- package/lib/commonjs/vendor/sdk-contracts/session.js.map +0 -1
- package/lib/module/analytics/EventTracker.js.map +0 -1
- package/lib/module/analytics/automaticEvents.js.map +0 -1
- package/lib/module/analytics/batching.js.map +0 -1
- package/lib/module/analytics/eventLane.js.map +0 -1
- package/lib/module/bootstrap/FeatureRegistry.js.map +0 -1
- package/lib/module/bootstrap/SDKBootstrapper.js.map +0 -1
- package/lib/module/bucketing/fnv1a32.js.map +0 -1
- package/lib/module/compat/codepush.js.map +0 -1
- package/lib/module/config/ConfigManager.js.map +0 -1
- package/lib/module/config/configTypes.js.map +0 -1
- package/lib/module/core/architecture.js.map +0 -1
- package/lib/module/core/clock/now.js.map +0 -1
- package/lib/module/core/config/defaults.js.map +0 -1
- package/lib/module/core/config/schema.js.map +0 -1
- package/lib/module/core/constants/endpoints.js.map +0 -1
- package/lib/module/core/constants/protocol.js.map +0 -1
- package/lib/module/core/constants/timings.js.map +0 -1
- package/lib/module/core/constants/version.js.map +0 -1
- package/lib/module/core/context/app.js.map +0 -1
- package/lib/module/core/context/device.js.map +0 -1
- package/lib/module/core/context/session.js.map +0 -1
- package/lib/module/core/context/user.js.map +0 -1
- package/lib/module/core/contracts/IFeature.js.map +0 -1
- package/lib/module/core/di/container.js.map +0 -1
- package/lib/module/core/encoding/base64.js.map +0 -1
- package/lib/module/core/id/deviceId.js.map +0 -1
- package/lib/module/core/id/installationId.js.map +0 -1
- package/lib/module/core/id/sessionId.js.map +0 -1
- package/lib/module/core/lifecycle/appLifecycle.js.map +0 -1
- package/lib/module/core/lifecycle/crashSafe.js.map +0 -1
- package/lib/module/core/logger/errorClassification.js.map +0 -1
- package/lib/module/core/logger/internalLogger.js.map +0 -1
- package/lib/module/core/logger/levels.js.map +0 -1
- package/lib/module/crypto/hmacSha256.js.map +0 -1
- package/lib/module/debug/bootstrap.js.map +0 -1
- package/lib/module/debug/commands.js.map +0 -1
- package/lib/module/debug/configBuilder.js.map +0 -1
- package/lib/module/debug/exportBridge.js.map +0 -1
- package/lib/module/debug/hostResolver.js.map +0 -1
- package/lib/module/debug/index.js.map +0 -1
- package/lib/module/debug/metrics.js.map +0 -1
- package/lib/module/debug/perf.js.map +0 -1
- package/lib/module/debug/perfWiring.js.map +0 -1
- package/lib/module/debug/protocol.js.map +0 -1
- package/lib/module/debug/redaction.js.map +0 -1
- package/lib/module/debug/replayWiring.js.map +0 -1
- package/lib/module/debug/screenTracking.js.map +0 -1
- package/lib/module/debug/sessionWiring.js.map +0 -1
- package/lib/module/debug/stream.js.map +0 -1
- package/lib/module/debug/transport.js.map +0 -1
- package/lib/module/features/bugreport/BugReportFeature.js.map +0 -1
- package/lib/module/features/bugreport/buildPayload.js.map +0 -1
- package/lib/module/features/bugreport/index.js.map +0 -1
- package/lib/module/features/crash/CrashFeature.js.map +0 -1
- package/lib/module/features/crash/CrashReporter.js.map +0 -1
- package/lib/module/features/crash/NativeCrashFeature.js.map +0 -1
- package/lib/module/features/crash/capture.js.map +0 -1
- package/lib/module/features/crash/globalHandler.js.map +0 -1
- package/lib/module/features/crash/index.js.map +0 -1
- package/lib/module/features/crash/nativeCrashBridge.js.map +0 -1
- package/lib/module/features/crash/rejectionHandler.js.map +0 -1
- package/lib/module/features/engage/EngageAnchor.js.map +0 -1
- package/lib/module/features/engage/EngageArchetypeRenderers.js.map +0 -1
- package/lib/module/features/engage/EngageInAppView.js.map +0 -1
- package/lib/module/features/engage/EngageInlinePlacement.js.map +0 -1
- package/lib/module/features/engage/EngagePromptProvider.js.map +0 -1
- package/lib/module/features/engage/EngagePromptView.js.map +0 -1
- package/lib/module/features/engage/EngageTransport.js.map +0 -1
- package/lib/module/features/engage/EngageVariantContent.js.map +0 -1
- package/lib/module/features/engage/__test-support__/reactNativeStub.js.map +0 -1
- package/lib/module/features/engage/attachmentCapture.js.map +0 -1
- package/lib/module/features/engage/captureVoiceAttachment.js.map +0 -1
- package/lib/module/features/engage/engageCoachmarkTour.js.map +0 -1
- package/lib/module/features/engage/engageGameLogic.js.map +0 -1
- package/lib/module/features/engage/engageMediaSizing.js.map +0 -1
- package/lib/module/features/engage/engageMultiStepSheet.js.map +0 -1
- package/lib/module/features/engage/engageOutcome.js.map +0 -1
- package/lib/module/features/engage/engagePushTokenBridge.js.map +0 -1
- package/lib/module/features/engage/engageShakeBridge.js.map +0 -1
- package/lib/module/features/engage/engageSignals.js.map +0 -1
- package/lib/module/features/engage/engageStoreReviewBridge.js.map +0 -1
- package/lib/module/features/engage/engageTestSeenStore.js.map +0 -1
- package/lib/module/features/engage/engageThrottle.js.map +0 -1
- package/lib/module/features/engage/engageTriggerEngine.js.map +0 -1
- package/lib/module/features/engage/engageTypes.js.map +0 -1
- package/lib/module/features/engage/engageVariantResolver.js.map +0 -1
- package/lib/module/features/engage/engageWindowInsets.js.map +0 -1
- package/lib/module/features/engage/gestureTriggerDetector.js.map +0 -1
- package/lib/module/features/engage/transcription/TranscriptionProvider.js.map +0 -1
- package/lib/module/features/install-referrer/installReferrer.js.map +0 -1
- package/lib/module/features/journey/ScaleBunDebugRoot.js.map +0 -1
- package/lib/module/features/journey/ScaleBunFlatList.js.map +0 -1
- package/lib/module/features/journey/ScaleBunImpression.js.map +0 -1
- package/lib/module/features/journey/ScaleBunScrollView.js.map +0 -1
- package/lib/module/features/journey/ScaleBunSectionList.js.map +0 -1
- package/lib/module/features/journey/calibrationContext.js.map +0 -1
- package/lib/module/features/journey/gestureBuffer.js.map +0 -1
- package/lib/module/features/journey/gestureDetector.js.map +0 -1
- package/lib/module/features/journey/impression.js.map +0 -1
- package/lib/module/features/journey/journeyManager.js.map +0 -1
- package/lib/module/features/journey/journeyTypes.js.map +0 -1
- package/lib/module/features/journey/navDetector.js.map +0 -1
- package/lib/module/features/journey/screenshotHelper.js.map +0 -1
- package/lib/module/features/journey/targetRegistry.js.map +0 -1
- package/lib/module/features/journey/touchTarget.js.map +0 -1
- package/lib/module/features/navigation/AutoScreenDetector.js.map +0 -1
- package/lib/module/features/network/NetworkFeature.js.map +0 -1
- package/lib/module/features/network/index.js.map +0 -1
- package/lib/module/features/ota/OtaEventEmitter.js.map +0 -1
- package/lib/module/features/ota/OtaOrchestrator.js.map +0 -1
- package/lib/module/features/ota/OtaTypes.js.map +0 -1
- package/lib/module/features/ota/deviceAttributes.js.map +0 -1
- package/lib/module/features/ota/environment.js.map +0 -1
- package/lib/module/features/ota/geoCountry.js.map +0 -1
- package/lib/module/features/ota/retry.js.map +0 -1
- package/lib/module/features/ota/signature.js.map +0 -1
- package/lib/module/features/ota/useOtaUpdate.js.map +0 -1
- package/lib/module/features/performance/PerformanceFeature.js.map +0 -1
- package/lib/module/features/performance/collectors/AppLaunchCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/AutoScreenLoadCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/CustomTraceCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/JsStallCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/NetworkPerfCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/ScreenLoadCollector.js.map +0 -1
- package/lib/module/features/performance/collectors/UiHangCollector.js.map +0 -1
- package/lib/module/features/performance/config.js.map +0 -1
- package/lib/module/features/performance/getNativePerformanceModule.js.map +0 -1
- package/lib/module/features/performance/index.js.map +0 -1
- package/lib/module/features/performance/metrics/MetricsEngine.js.map +0 -1
- package/lib/module/features/performance/models.js.map +0 -1
- package/lib/module/features/performance/transport/PerformanceTransport.js.map +0 -1
- package/lib/module/features/profiler/ProfilerFeature.js.map +0 -1
- package/lib/module/features/profiler/config.js.map +0 -1
- package/lib/module/features/profiler/contracts.js.map +0 -1
- package/lib/module/features/profiler/index.js.map +0 -1
- package/lib/module/features/profiler/models.js.map +0 -1
- package/lib/module/features/profiler/transport/ProfilerTransport.js.map +0 -1
- package/lib/module/features/replay/bridge/adapters/bridgeAdapter.js.map +0 -1
- package/lib/module/features/replay/bridge/eventEmitter.js.map +0 -1
- package/lib/module/features/replay/bridge/nativeModule.js.map +0 -1
- package/lib/module/features/replay/core/clock/clock.js.map +0 -1
- package/lib/module/features/replay/core/config/defaults.js.map +0 -1
- package/lib/module/features/replay/core/config/validator.js.map +0 -1
- package/lib/module/features/replay/core/env/environmentDetector.js.map +0 -1
- package/lib/module/features/replay/core/errors/safeCall.js.map +0 -1
- package/lib/module/features/replay/core/ids/sessionId.js.map +0 -1
- package/lib/module/features/replay/core/logger/logger.js.map +0 -1
- package/lib/module/features/replay/core/privacy/privacyTypes.js.map +0 -1
- package/lib/module/features/replay/core/queue/boundedQueue.js.map +0 -1
- package/lib/module/features/replay/integrations/alert/alertInstrumentation.js.map +0 -1
- package/lib/module/features/replay/integrations/logs/consoleIntegration.js.map +0 -1
- package/lib/module/features/replay/integrations/network/networkAdapter.js.map +0 -1
- package/lib/module/features/replay/integrations/react-navigation/navigationIntegration.js.map +0 -1
- package/lib/module/features/replay/integrations/touch/ReplayRoot.js.map +0 -1
- package/lib/module/features/replay/pipeline/batching/batchManager.js.map +0 -1
- package/lib/module/features/replay/pipeline/envelope/envelopeBuilder.js.map +0 -1
- package/lib/module/features/replay/pipeline/retry/retryPolicy.js.map +0 -1
- package/lib/module/features/replay/pipeline/transport/transportTypes.js.map +0 -1
- package/lib/module/features/replay/public/api.js.map +0 -1
- package/lib/module/features/replay/public/enums.js.map +0 -1
- package/lib/module/features/replay/public/types.js.map +0 -1
- package/lib/module/features/replay/replay/breadcrumbs/breadcrumbCollector.js.map +0 -1
- package/lib/module/features/replay/replay/frames/frameModels.js.map +0 -1
- package/lib/module/features/replay/replay/session/sessionOrchestrator.js.map +0 -1
- package/lib/module/features/replay/replay/timeline/timelineModels.js.map +0 -1
- package/lib/module/features/replay/transport/BackendReplayTransport.js.map +0 -1
- package/lib/module/features/replay/transport/CompositeReplayTransport.js.map +0 -1
- package/lib/module/features/replay/transport/DesktopReplayTransport.js.map +0 -1
- package/lib/module/features/replay/transport/ReplayTransport.js.map +0 -1
- package/lib/module/features/session/BackendSessionAdapter.js.map +0 -1
- package/lib/module/features/session/DesktopSessionTransport.js.map +0 -1
- package/lib/module/features/session/JourneyEventPipeline.js.map +0 -1
- package/lib/module/features/session/ReplayCaptureManager.js.map +0 -1
- package/lib/module/features/session/ScrollTracker.js.map +0 -1
- package/lib/module/features/session/SessionManager.js.map +0 -1
- package/lib/module/features/session/SyncDecisionEngine.js.map +0 -1
- package/lib/module/features/session/index.js.map +0 -1
- package/lib/module/features/session/nativeCapture.js.map +0 -1
- package/lib/module/features/session/outboxFrameCapture.js.map +0 -1
- package/lib/module/features/session/sessionTypes.js.map +0 -1
- package/lib/module/features/skan/skanBridge.js.map +0 -1
- package/lib/module/features/skan/skanConversionManager.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/integrations/fetch/fetchInterceptor.js.map +0 -1
- package/lib/module/integrations/navigation/screenTracker.js.map +0 -1
- package/lib/module/integrations/network/bodyCapture.js.map +0 -1
- package/lib/module/integrations/xhr/xhrInterceptor.js.map +0 -1
- package/lib/module/metro/composeSourceMap.js.map +0 -1
- package/lib/module/metro/featureModules.js.map +0 -1
- package/lib/module/metro/index.js.map +0 -1
- package/lib/module/metro/optionalDependencyStub.js.map +0 -1
- package/lib/module/metro/optionalModules.js.map +0 -1
- package/lib/module/metro/serializerCompose.js.map +0 -1
- package/lib/module/pipeline/dispatcher/dispatcher.js.map +0 -1
- package/lib/module/pipeline/envelope/envelope.js.map +0 -1
- package/lib/module/pipeline/envelope/serializer.js.map +0 -1
- package/lib/module/pipeline/processors/dedupe.js.map +0 -1
- package/lib/module/pipeline/processors/enrich.js.map +0 -1
- package/lib/module/pipeline/processors/sampling.js.map +0 -1
- package/lib/module/pipeline/processors/sanitize.js.map +0 -1
- package/lib/module/pipeline/queue/flushQueue.js.map +0 -1
- package/lib/module/pipeline/queue/memoryQueue.js.map +0 -1
- package/lib/module/pipeline/queue/persistentQueue.js.map +0 -1
- package/lib/module/pipeline/queue/queuePolicy.js.map +0 -1
- package/lib/module/pipeline/scheduler/flushScheduler.js.map +0 -1
- package/lib/module/pipeline/scheduler/retryPolicy.js.map +0 -1
- package/lib/module/public/ScaleBunErrorBoundary.js.map +0 -1
- package/lib/module/public/ScaleBunFacade.js.map +0 -1
- package/lib/module/public/ScaleBunProvider.js.map +0 -1
- package/lib/module/public/typedTracker.js.map +0 -1
- package/lib/module/public/types.js.map +0 -1
- package/lib/module/push/PushManager.js.map +0 -1
- package/lib/module/push/adapters/ManualAdapter.js.map +0 -1
- package/lib/module/push/adapters/NativeBridgeAdapter.js.map +0 -1
- package/lib/module/push/adapters/NoopAdapter.js.map +0 -1
- package/lib/module/push/adapters/RNFirebaseMessagingAdapter.js.map +0 -1
- package/lib/module/push/adapters/loadMessaging.js.map +0 -1
- package/lib/module/push/adapters/loadNotifee.js.map +0 -1
- package/lib/module/push/adapters/selectAdapter.js.map +0 -1
- package/lib/module/push/detect/capabilities.js.map +0 -1
- package/lib/module/push/index.js.map +0 -1
- package/lib/module/push/native/nativeNotifications.js.map +0 -1
- package/lib/module/push/types.js.map +0 -1
- package/lib/module/specs/NativeReplaySdk.js.map +0 -1
- package/lib/module/specs/NativeScaleBunCrash.js.map +0 -1
- package/lib/module/specs/NativeScaleBunInstallReferrer.js.map +0 -1
- package/lib/module/specs/NativeScaleBunOta.js.map +0 -1
- package/lib/module/specs/NativeScaleBunPerformance.js.map +0 -1
- package/lib/module/specs/NativeScaleBunProfiler.js.map +0 -1
- package/lib/module/specs/NativeScaleBunStorage.js.map +0 -1
- package/lib/module/storage/StorageBackend.js.map +0 -1
- package/lib/module/storage/db/sqlite.js.map +0 -1
- package/lib/module/storage/files/fileStore.js.map +0 -1
- package/lib/module/transport/auth/sdkSession.js.map +0 -1
- package/lib/module/transport/backoff/exponentialJitter.js.map +0 -1
- package/lib/module/transport/http/endpoints.js.map +0 -1
- package/lib/module/transport/http/httpClient.js.map +0 -1
- package/lib/module/transport/rateLimit/retryAfter.js.map +0 -1
- package/lib/module/transport/signing/requestSigner.js.map +0 -1
- package/lib/module/vendor/protocol/index.js.map +0 -1
- package/lib/module/vendor/protocol/internal/validation.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/bridge.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/config.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/events.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/features.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/index.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/platform.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/session-boundary.js.map +0 -1
- package/lib/module/vendor/sdk-contracts/session.js.map +0 -1
- package/lib/typescript/analytics/EventTracker.d.ts.map +0 -1
- package/lib/typescript/analytics/automaticEvents.d.ts.map +0 -1
- package/lib/typescript/analytics/batching.d.ts.map +0 -1
- package/lib/typescript/analytics/eventLane.d.ts.map +0 -1
- package/lib/typescript/bootstrap/FeatureRegistry.d.ts.map +0 -1
- package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +0 -1
- package/lib/typescript/bucketing/fnv1a32.d.ts.map +0 -1
- package/lib/typescript/compat/codepush.d.ts.map +0 -1
- package/lib/typescript/config/ConfigManager.d.ts.map +0 -1
- package/lib/typescript/config/configTypes.d.ts.map +0 -1
- package/lib/typescript/core/architecture.d.ts.map +0 -1
- package/lib/typescript/core/clock/now.d.ts.map +0 -1
- package/lib/typescript/core/config/defaults.d.ts.map +0 -1
- package/lib/typescript/core/config/schema.d.ts.map +0 -1
- package/lib/typescript/core/constants/endpoints.d.ts.map +0 -1
- package/lib/typescript/core/constants/protocol.d.ts.map +0 -1
- package/lib/typescript/core/constants/timings.d.ts.map +0 -1
- package/lib/typescript/core/constants/version.d.ts.map +0 -1
- package/lib/typescript/core/context/app.d.ts.map +0 -1
- package/lib/typescript/core/context/device.d.ts.map +0 -1
- package/lib/typescript/core/context/session.d.ts.map +0 -1
- package/lib/typescript/core/context/user.d.ts.map +0 -1
- package/lib/typescript/core/contracts/IFeature.d.ts.map +0 -1
- package/lib/typescript/core/di/container.d.ts.map +0 -1
- package/lib/typescript/core/encoding/base64.d.ts.map +0 -1
- package/lib/typescript/core/id/deviceId.d.ts.map +0 -1
- package/lib/typescript/core/id/installationId.d.ts.map +0 -1
- package/lib/typescript/core/id/sessionId.d.ts.map +0 -1
- package/lib/typescript/core/lifecycle/appLifecycle.d.ts.map +0 -1
- package/lib/typescript/core/lifecycle/crashSafe.d.ts.map +0 -1
- package/lib/typescript/core/logger/errorClassification.d.ts.map +0 -1
- package/lib/typescript/core/logger/internalLogger.d.ts.map +0 -1
- package/lib/typescript/core/logger/levels.d.ts.map +0 -1
- package/lib/typescript/crypto/hmacSha256.d.ts.map +0 -1
- package/lib/typescript/debug/bootstrap.d.ts.map +0 -1
- package/lib/typescript/debug/commands.d.ts.map +0 -1
- package/lib/typescript/debug/configBuilder.d.ts.map +0 -1
- package/lib/typescript/debug/exportBridge.d.ts.map +0 -1
- package/lib/typescript/debug/hostResolver.d.ts.map +0 -1
- package/lib/typescript/debug/index.d.ts.map +0 -1
- package/lib/typescript/debug/metrics.d.ts.map +0 -1
- package/lib/typescript/debug/perf.d.ts.map +0 -1
- package/lib/typescript/debug/perfWiring.d.ts.map +0 -1
- package/lib/typescript/debug/protocol.d.ts.map +0 -1
- package/lib/typescript/debug/redaction.d.ts.map +0 -1
- package/lib/typescript/debug/replayWiring.d.ts.map +0 -1
- package/lib/typescript/debug/screenTracking.d.ts.map +0 -1
- package/lib/typescript/debug/sessionWiring.d.ts.map +0 -1
- package/lib/typescript/debug/stream.d.ts.map +0 -1
- package/lib/typescript/debug/transport.d.ts.map +0 -1
- package/lib/typescript/features/bugreport/BugReportFeature.d.ts.map +0 -1
- package/lib/typescript/features/bugreport/buildPayload.d.ts.map +0 -1
- package/lib/typescript/features/bugreport/index.d.ts.map +0 -1
- package/lib/typescript/features/crash/CrashFeature.d.ts.map +0 -1
- package/lib/typescript/features/crash/CrashReporter.d.ts.map +0 -1
- package/lib/typescript/features/crash/NativeCrashFeature.d.ts.map +0 -1
- package/lib/typescript/features/crash/capture.d.ts.map +0 -1
- package/lib/typescript/features/crash/globalHandler.d.ts.map +0 -1
- package/lib/typescript/features/crash/index.d.ts.map +0 -1
- package/lib/typescript/features/crash/nativeCrashBridge.d.ts.map +0 -1
- package/lib/typescript/features/crash/rejectionHandler.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageAnchor.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageArchetypeRenderers.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageInAppView.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageInlinePlacement.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngagePromptView.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageTransport.d.ts.map +0 -1
- package/lib/typescript/features/engage/EngageVariantContent.d.ts.map +0 -1
- package/lib/typescript/features/engage/attachmentCapture.d.ts.map +0 -1
- package/lib/typescript/features/engage/captureVoiceAttachment.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageCoachmarkTour.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageGameLogic.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageMediaSizing.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageMultiStepSheet.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageOutcome.d.ts.map +0 -1
- package/lib/typescript/features/engage/engagePushTokenBridge.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageShakeBridge.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageSignals.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageStoreReviewBridge.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageTestSeenStore.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageThrottle.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageTriggerEngine.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageTypes.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageVariantResolver.d.ts.map +0 -1
- package/lib/typescript/features/engage/engageWindowInsets.d.ts.map +0 -1
- package/lib/typescript/features/engage/gestureTriggerDetector.d.ts.map +0 -1
- package/lib/typescript/features/engage/transcription/TranscriptionProvider.d.ts.map +0 -1
- package/lib/typescript/features/install-referrer/installReferrer.d.ts.map +0 -1
- package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts.map +0 -1
- package/lib/typescript/features/journey/ScaleBunFlatList.d.ts.map +0 -1
- package/lib/typescript/features/journey/ScaleBunImpression.d.ts.map +0 -1
- package/lib/typescript/features/journey/ScaleBunScrollView.d.ts.map +0 -1
- package/lib/typescript/features/journey/ScaleBunSectionList.d.ts.map +0 -1
- package/lib/typescript/features/journey/calibrationContext.d.ts.map +0 -1
- package/lib/typescript/features/journey/gestureBuffer.d.ts.map +0 -1
- package/lib/typescript/features/journey/gestureDetector.d.ts.map +0 -1
- package/lib/typescript/features/journey/impression.d.ts.map +0 -1
- package/lib/typescript/features/journey/journeyManager.d.ts.map +0 -1
- package/lib/typescript/features/journey/journeyTypes.d.ts.map +0 -1
- package/lib/typescript/features/journey/navDetector.d.ts.map +0 -1
- package/lib/typescript/features/journey/screenshotHelper.d.ts.map +0 -1
- package/lib/typescript/features/journey/targetRegistry.d.ts.map +0 -1
- package/lib/typescript/features/journey/touchTarget.d.ts.map +0 -1
- package/lib/typescript/features/navigation/AutoScreenDetector.d.ts.map +0 -1
- package/lib/typescript/features/network/NetworkFeature.d.ts.map +0 -1
- package/lib/typescript/features/network/index.d.ts.map +0 -1
- package/lib/typescript/features/ota/OtaEventEmitter.d.ts.map +0 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +0 -1
- package/lib/typescript/features/ota/OtaTypes.d.ts.map +0 -1
- package/lib/typescript/features/ota/deviceAttributes.d.ts.map +0 -1
- package/lib/typescript/features/ota/environment.d.ts.map +0 -1
- package/lib/typescript/features/ota/geoCountry.d.ts.map +0 -1
- package/lib/typescript/features/ota/retry.d.ts.map +0 -1
- package/lib/typescript/features/ota/signature.d.ts.map +0 -1
- package/lib/typescript/features/ota/useOtaUpdate.d.ts.map +0 -1
- package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/AppLaunchCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/AutoScreenLoadCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/CustomTraceCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/JsStallCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/NetworkPerfCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/ScreenLoadCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/collectors/UiHangCollector.d.ts.map +0 -1
- package/lib/typescript/features/performance/config.d.ts.map +0 -1
- package/lib/typescript/features/performance/getNativePerformanceModule.d.ts.map +0 -1
- package/lib/typescript/features/performance/index.d.ts.map +0 -1
- package/lib/typescript/features/performance/metrics/MetricsEngine.d.ts.map +0 -1
- package/lib/typescript/features/performance/models.d.ts.map +0 -1
- package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts.map +0 -1
- package/lib/typescript/features/profiler/ProfilerFeature.d.ts.map +0 -1
- package/lib/typescript/features/profiler/config.d.ts.map +0 -1
- package/lib/typescript/features/profiler/contracts.d.ts.map +0 -1
- package/lib/typescript/features/profiler/index.d.ts.map +0 -1
- package/lib/typescript/features/profiler/models.d.ts.map +0 -1
- package/lib/typescript/features/profiler/transport/ProfilerTransport.d.ts.map +0 -1
- package/lib/typescript/features/replay/bridge/adapters/bridgeAdapter.d.ts.map +0 -1
- package/lib/typescript/features/replay/bridge/eventEmitter.d.ts.map +0 -1
- package/lib/typescript/features/replay/bridge/nativeModule.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/clock/clock.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/config/defaults.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/config/validator.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/env/environmentDetector.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/errors/safeCall.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/ids/sessionId.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/logger/logger.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/privacy/privacyTypes.d.ts.map +0 -1
- package/lib/typescript/features/replay/core/queue/boundedQueue.d.ts.map +0 -1
- package/lib/typescript/features/replay/integrations/alert/alertInstrumentation.d.ts.map +0 -1
- package/lib/typescript/features/replay/integrations/logs/consoleIntegration.d.ts.map +0 -1
- package/lib/typescript/features/replay/integrations/network/networkAdapter.d.ts.map +0 -1
- package/lib/typescript/features/replay/integrations/react-navigation/navigationIntegration.d.ts.map +0 -1
- package/lib/typescript/features/replay/integrations/touch/ReplayRoot.d.ts.map +0 -1
- package/lib/typescript/features/replay/pipeline/batching/batchManager.d.ts.map +0 -1
- package/lib/typescript/features/replay/pipeline/envelope/envelopeBuilder.d.ts.map +0 -1
- package/lib/typescript/features/replay/pipeline/retry/retryPolicy.d.ts.map +0 -1
- package/lib/typescript/features/replay/pipeline/transport/transportTypes.d.ts.map +0 -1
- package/lib/typescript/features/replay/public/api.d.ts.map +0 -1
- package/lib/typescript/features/replay/public/enums.d.ts.map +0 -1
- package/lib/typescript/features/replay/public/types.d.ts.map +0 -1
- package/lib/typescript/features/replay/replay/breadcrumbs/breadcrumbCollector.d.ts.map +0 -1
- package/lib/typescript/features/replay/replay/frames/frameModels.d.ts.map +0 -1
- package/lib/typescript/features/replay/replay/session/sessionOrchestrator.d.ts.map +0 -1
- package/lib/typescript/features/replay/replay/timeline/timelineModels.d.ts.map +0 -1
- package/lib/typescript/features/replay/transport/BackendReplayTransport.d.ts.map +0 -1
- package/lib/typescript/features/replay/transport/CompositeReplayTransport.d.ts.map +0 -1
- package/lib/typescript/features/replay/transport/DesktopReplayTransport.d.ts.map +0 -1
- package/lib/typescript/features/replay/transport/ReplayTransport.d.ts.map +0 -1
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +0 -1
- package/lib/typescript/features/session/DesktopSessionTransport.d.ts.map +0 -1
- package/lib/typescript/features/session/JourneyEventPipeline.d.ts.map +0 -1
- package/lib/typescript/features/session/ReplayCaptureManager.d.ts.map +0 -1
- package/lib/typescript/features/session/ScrollTracker.d.ts.map +0 -1
- package/lib/typescript/features/session/SessionManager.d.ts.map +0 -1
- package/lib/typescript/features/session/SyncDecisionEngine.d.ts.map +0 -1
- package/lib/typescript/features/session/index.d.ts.map +0 -1
- package/lib/typescript/features/session/nativeCapture.d.ts.map +0 -1
- package/lib/typescript/features/session/outboxFrameCapture.d.ts.map +0 -1
- package/lib/typescript/features/session/sessionTypes.d.ts.map +0 -1
- package/lib/typescript/features/skan/skanBridge.d.ts.map +0 -1
- package/lib/typescript/features/skan/skanConversionManager.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/integrations/fetch/fetchInterceptor.d.ts.map +0 -1
- package/lib/typescript/integrations/navigation/screenTracker.d.ts.map +0 -1
- package/lib/typescript/integrations/network/bodyCapture.d.ts.map +0 -1
- package/lib/typescript/integrations/xhr/xhrInterceptor.d.ts.map +0 -1
- package/lib/typescript/metro/composeSourceMap.d.ts.map +0 -1
- package/lib/typescript/metro/featureModules.d.ts.map +0 -1
- package/lib/typescript/metro/index.d.ts.map +0 -1
- package/lib/typescript/metro/optionalDependencyStub.d.ts.map +0 -1
- package/lib/typescript/metro/optionalModules.d.ts.map +0 -1
- package/lib/typescript/metro/serializerCompose.d.ts.map +0 -1
- package/lib/typescript/pipeline/dispatcher/dispatcher.d.ts.map +0 -1
- package/lib/typescript/pipeline/envelope/envelope.d.ts.map +0 -1
- package/lib/typescript/pipeline/envelope/serializer.d.ts.map +0 -1
- package/lib/typescript/pipeline/processors/dedupe.d.ts.map +0 -1
- package/lib/typescript/pipeline/processors/enrich.d.ts.map +0 -1
- package/lib/typescript/pipeline/processors/sampling.d.ts.map +0 -1
- package/lib/typescript/pipeline/processors/sanitize.d.ts.map +0 -1
- package/lib/typescript/pipeline/queue/flushQueue.d.ts.map +0 -1
- package/lib/typescript/pipeline/queue/memoryQueue.d.ts.map +0 -1
- package/lib/typescript/pipeline/queue/persistentQueue.d.ts.map +0 -1
- package/lib/typescript/pipeline/queue/queuePolicy.d.ts.map +0 -1
- package/lib/typescript/pipeline/scheduler/flushScheduler.d.ts.map +0 -1
- package/lib/typescript/pipeline/scheduler/retryPolicy.d.ts.map +0 -1
- package/lib/typescript/public/ScaleBunErrorBoundary.d.ts.map +0 -1
- package/lib/typescript/public/ScaleBunFacade.d.ts.map +0 -1
- package/lib/typescript/public/ScaleBunProvider.d.ts.map +0 -1
- package/lib/typescript/public/typedTracker.d.ts.map +0 -1
- package/lib/typescript/public/types.d.ts.map +0 -1
- package/lib/typescript/push/PushManager.d.ts.map +0 -1
- package/lib/typescript/push/adapters/ManualAdapter.d.ts.map +0 -1
- package/lib/typescript/push/adapters/NativeBridgeAdapter.d.ts.map +0 -1
- package/lib/typescript/push/adapters/NoopAdapter.d.ts.map +0 -1
- package/lib/typescript/push/adapters/RNFirebaseMessagingAdapter.d.ts.map +0 -1
- package/lib/typescript/push/adapters/loadMessaging.d.ts.map +0 -1
- package/lib/typescript/push/adapters/loadNotifee.d.ts.map +0 -1
- package/lib/typescript/push/adapters/selectAdapter.d.ts.map +0 -1
- package/lib/typescript/push/detect/capabilities.d.ts.map +0 -1
- package/lib/typescript/push/index.d.ts.map +0 -1
- package/lib/typescript/push/native/nativeNotifications.d.ts.map +0 -1
- package/lib/typescript/push/types.d.ts.map +0 -1
- package/lib/typescript/specs/NativeReplaySdk.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunCrash.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunInstallReferrer.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunOta.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunPerformance.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunProfiler.d.ts.map +0 -1
- package/lib/typescript/specs/NativeScaleBunStorage.d.ts.map +0 -1
- package/lib/typescript/storage/StorageBackend.d.ts.map +0 -1
- package/lib/typescript/storage/db/sqlite.d.ts.map +0 -1
- package/lib/typescript/storage/files/fileStore.d.ts.map +0 -1
- package/lib/typescript/transport/auth/sdkSession.d.ts.map +0 -1
- package/lib/typescript/transport/backoff/exponentialJitter.d.ts.map +0 -1
- package/lib/typescript/transport/http/endpoints.d.ts.map +0 -1
- package/lib/typescript/transport/http/httpClient.d.ts.map +0 -1
- package/lib/typescript/transport/rateLimit/retryAfter.d.ts.map +0 -1
- package/lib/typescript/transport/signing/requestSigner.d.ts.map +0 -1
- package/lib/typescript/vendor/protocol/index.d.ts.map +0 -1
- package/lib/typescript/vendor/protocol/internal/validation.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/bridge.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/config.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/events.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/features.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/index.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/platform.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/session-boundary.d.ts.map +0 -1
- package/lib/typescript/vendor/sdk-contracts/session.d.ts.map +0 -1
package/dist/scalebun.full.js
CHANGED
|
@@ -170,6 +170,45 @@ function redactHeaders(headers) {
|
|
|
170
170
|
}
|
|
171
171
|
return result;
|
|
172
172
|
}
|
|
173
|
+
function _normalizeKey(key) {
|
|
174
|
+
return key.toLowerCase().replace(/[_\-\s]/g, "");
|
|
175
|
+
}
|
|
176
|
+
function _isSensitiveKey(key) {
|
|
177
|
+
return NORMALIZED_SENSITIVE_KEYS.has(_normalizeKey(key));
|
|
178
|
+
}
|
|
179
|
+
function _luhnValid(digits) {
|
|
180
|
+
const s = digits.replace(/[^\d]/g, "");
|
|
181
|
+
if (s.length < 12 || s.length > 19) return false;
|
|
182
|
+
let sum = 0;
|
|
183
|
+
let alt = false;
|
|
184
|
+
for (let i = s.length - 1; i >= 0; i--) {
|
|
185
|
+
let d = s.charCodeAt(i) - 48;
|
|
186
|
+
if (alt) {
|
|
187
|
+
d *= 2;
|
|
188
|
+
if (d > 9) d -= 9;
|
|
189
|
+
}
|
|
190
|
+
sum += d;
|
|
191
|
+
alt = !alt;
|
|
192
|
+
}
|
|
193
|
+
return sum % 10 === 0;
|
|
194
|
+
}
|
|
195
|
+
function _scrubSecretsInString(value) {
|
|
196
|
+
if (value.length > MAX_STRING_SCRUB_CHARS) {
|
|
197
|
+
value = value.slice(0, MAX_STRING_SCRUB_CHARS);
|
|
198
|
+
}
|
|
199
|
+
let out = value;
|
|
200
|
+
try {
|
|
201
|
+
for (const {
|
|
202
|
+
pattern,
|
|
203
|
+
luhn
|
|
204
|
+
} of VALUE_SCRUB_PATTERNS) {
|
|
205
|
+
pattern.lastIndex = 0;
|
|
206
|
+
out = out.replace(pattern, (m) => luhn && !_luhnValid(m) ? m : REDACTED);
|
|
207
|
+
}
|
|
208
|
+
} catch {
|
|
209
|
+
}
|
|
210
|
+
return out;
|
|
211
|
+
}
|
|
173
212
|
function redactBody(body, maxDepth = 10) {
|
|
174
213
|
try {
|
|
175
214
|
return _redactValue(body, 0, maxDepth);
|
|
@@ -181,7 +220,7 @@ function _redactValue(value, depth, maxDepth) {
|
|
|
181
220
|
if (depth > maxDepth) return "[MAX_DEPTH]";
|
|
182
221
|
if (value === null || value === void 0) return value;
|
|
183
222
|
if (typeof value === "string") {
|
|
184
|
-
return value;
|
|
223
|
+
return _redactString(value, depth, maxDepth);
|
|
185
224
|
}
|
|
186
225
|
if (Array.isArray(value)) {
|
|
187
226
|
return value.map((item) => _redactValue(item, depth + 1, maxDepth));
|
|
@@ -189,7 +228,7 @@ function _redactValue(value, depth, maxDepth) {
|
|
|
189
228
|
if (typeof value === "object") {
|
|
190
229
|
const result = {};
|
|
191
230
|
for (const [key, val] of Object.entries(value)) {
|
|
192
|
-
if (
|
|
231
|
+
if (_isSensitiveKey(key)) {
|
|
193
232
|
result[key] = REDACTED;
|
|
194
233
|
} else {
|
|
195
234
|
result[key] = _redactValue(val, depth + 1, maxDepth);
|
|
@@ -199,52 +238,103 @@ function _redactValue(value, depth, maxDepth) {
|
|
|
199
238
|
}
|
|
200
239
|
return value;
|
|
201
240
|
}
|
|
202
|
-
function
|
|
203
|
-
const
|
|
241
|
+
function _redactString(value, depth, maxDepth) {
|
|
242
|
+
const trimmed = value.trimStart();
|
|
243
|
+
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
|
|
244
|
+
try {
|
|
245
|
+
const parsed = JSON.parse(value);
|
|
246
|
+
if (parsed !== null && typeof parsed === "object") {
|
|
247
|
+
const redacted = _redactValue(parsed, depth + 1, maxDepth);
|
|
248
|
+
return JSON.stringify(redacted);
|
|
249
|
+
}
|
|
250
|
+
} catch {
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return _scrubSecretsInString(value);
|
|
254
|
+
}
|
|
255
|
+
function _newScanContext() {
|
|
256
|
+
return {
|
|
257
|
+
warnings: [],
|
|
258
|
+
byType: {},
|
|
259
|
+
deadline: Date.now() + SCAN_TIME_BUDGET_MS,
|
|
260
|
+
truncated: false,
|
|
261
|
+
total: 0
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
function _pushWarning(ctx, type, rawMatch, location) {
|
|
265
|
+
ctx.total += 1;
|
|
266
|
+
ctx.byType[type] = (ctx.byType[type] ?? 0) + 1;
|
|
267
|
+
if (ctx.warnings.length < MAX_PII_WARNINGS) {
|
|
268
|
+
ctx.warnings.push({
|
|
269
|
+
type,
|
|
270
|
+
match: _maskPII(rawMatch),
|
|
271
|
+
location
|
|
272
|
+
});
|
|
273
|
+
} else {
|
|
274
|
+
ctx.truncated = true;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function _finalizeScan(ctx) {
|
|
278
|
+
if (ctx.truncated) {
|
|
279
|
+
ctx.warnings.push({
|
|
280
|
+
type: "_summary",
|
|
281
|
+
match: `truncated: ${ctx.total} matches`,
|
|
282
|
+
location: `counts:${JSON.stringify(ctx.byType)}`
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
return ctx.warnings;
|
|
286
|
+
}
|
|
287
|
+
function _scanTextInto(text2, location, ctx) {
|
|
288
|
+
const input = text2.length > MAX_SCAN_INPUT_CHARS ? text2.slice(0, MAX_SCAN_INPUT_CHARS) : text2;
|
|
204
289
|
try {
|
|
205
290
|
for (const {
|
|
206
291
|
name,
|
|
207
292
|
pattern
|
|
208
293
|
} of PII_PATTERNS) {
|
|
209
294
|
pattern.lastIndex = 0;
|
|
210
|
-
let match = pattern.exec(
|
|
295
|
+
let match = pattern.exec(input);
|
|
211
296
|
while (match) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
match
|
|
297
|
+
_pushWarning(ctx, name, match[0], location);
|
|
298
|
+
if (Date.now() > ctx.deadline) {
|
|
299
|
+
ctx.truncated = true;
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (pattern.lastIndex === match.index) pattern.lastIndex++;
|
|
303
|
+
match = pattern.exec(input);
|
|
218
304
|
}
|
|
219
305
|
}
|
|
220
306
|
} catch {
|
|
221
307
|
}
|
|
222
|
-
return warnings;
|
|
223
308
|
}
|
|
224
309
|
function scanObjectForPII(obj, basePath = "", maxDepth = 10) {
|
|
225
|
-
const
|
|
310
|
+
const ctx = _newScanContext();
|
|
226
311
|
try {
|
|
227
|
-
|
|
312
|
+
_scanObjectInto(obj, basePath, 0, maxDepth, ctx);
|
|
228
313
|
} catch {
|
|
229
314
|
}
|
|
230
|
-
return
|
|
315
|
+
return _finalizeScan(ctx);
|
|
231
316
|
}
|
|
232
|
-
function
|
|
317
|
+
function _scanObjectInto(value, path, depth, maxDepth, ctx) {
|
|
233
318
|
if (depth > maxDepth || value === null || value === void 0) return;
|
|
319
|
+
if (ctx.truncated || Date.now() > ctx.deadline) {
|
|
320
|
+
ctx.truncated = true;
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
234
323
|
if (typeof value === "string") {
|
|
235
|
-
|
|
236
|
-
warnings.push(...found);
|
|
324
|
+
_scanTextInto(value, path, ctx);
|
|
237
325
|
return;
|
|
238
326
|
}
|
|
239
327
|
if (Array.isArray(value)) {
|
|
240
|
-
value.
|
|
241
|
-
|
|
242
|
-
|
|
328
|
+
for (let i = 0; i < value.length; i++) {
|
|
329
|
+
if (ctx.truncated) return;
|
|
330
|
+
_scanObjectInto(value[i], `${path}[${i}]`, depth + 1, maxDepth, ctx);
|
|
331
|
+
}
|
|
243
332
|
return;
|
|
244
333
|
}
|
|
245
334
|
if (typeof value === "object") {
|
|
246
335
|
for (const [key, val] of Object.entries(value)) {
|
|
247
|
-
|
|
336
|
+
if (ctx.truncated) return;
|
|
337
|
+
_scanObjectInto(val, path ? `${path}.${key}` : key, depth + 1, maxDepth, ctx);
|
|
248
338
|
}
|
|
249
339
|
}
|
|
250
340
|
}
|
|
@@ -267,16 +357,17 @@ function redactUrl(url) {
|
|
|
267
357
|
}
|
|
268
358
|
}
|
|
269
359
|
function redactNetworkEvent(event) {
|
|
270
|
-
const
|
|
360
|
+
const ctx = _newScanContext();
|
|
271
361
|
if (event.url) {
|
|
272
|
-
|
|
362
|
+
_scanTextInto(event.url, "url", ctx);
|
|
273
363
|
}
|
|
274
364
|
if (event.requestBody) {
|
|
275
|
-
|
|
365
|
+
_scanObjectInto(event.requestBody, "requestBody", 0, 10, ctx);
|
|
276
366
|
}
|
|
277
367
|
if (event.responseBody) {
|
|
278
|
-
|
|
368
|
+
_scanObjectInto(event.responseBody, "responseBody", 0, 10, ctx);
|
|
279
369
|
}
|
|
370
|
+
const piiWarnings = _finalizeScan(ctx);
|
|
280
371
|
return {
|
|
281
372
|
url: event.url ? redactUrl(event.url) : "",
|
|
282
373
|
method: event.method ?? "GET",
|
|
@@ -289,29 +380,54 @@ function redactNetworkEvent(event) {
|
|
|
289
380
|
piiWarnings
|
|
290
381
|
};
|
|
291
382
|
}
|
|
292
|
-
var REDACTED, SENSITIVE_HEADERS, PII_PATTERNS, SENSITIVE_BODY_KEYS;
|
|
383
|
+
var REDACTED, MAX_SCAN_INPUT_CHARS, SCAN_TIME_BUDGET_MS, MAX_PII_WARNINGS, MAX_STRING_SCRUB_CHARS, SENSITIVE_HEADERS, PII_PATTERNS, VALUE_SCRUB_PATTERNS, SENSITIVE_BODY_KEYS, NORMALIZED_SENSITIVE_KEYS;
|
|
293
384
|
var init_redaction = __esm({
|
|
294
385
|
"lib/module/debug/redaction.js"() {
|
|
295
386
|
"use strict";
|
|
296
387
|
REDACTED = "[REDACTED]";
|
|
388
|
+
MAX_SCAN_INPUT_CHARS = 16 * 1024;
|
|
389
|
+
SCAN_TIME_BUDGET_MS = 10;
|
|
390
|
+
MAX_PII_WARNINGS = 20;
|
|
391
|
+
MAX_STRING_SCRUB_CHARS = 64 * 1024;
|
|
297
392
|
SENSITIVE_HEADERS = /* @__PURE__ */ new Set(["authorization", "cookie", "set-cookie", "x-api-key", "x-auth-token", "proxy-authorization"]);
|
|
298
393
|
PII_PATTERNS = [{
|
|
299
394
|
name: "email",
|
|
300
|
-
pattern: /[
|
|
395
|
+
pattern: /[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9-]{1,63}(?:\.[A-Za-z0-9-]{1,63}){0,8}\.[A-Za-z]{2,24}/g
|
|
301
396
|
}, {
|
|
302
397
|
name: "phone",
|
|
303
|
-
pattern:
|
|
398
|
+
pattern: /\+?\d{1,3}[-.\s]?\(?\d{2,4}\)?[-.\s]?\d{3,4}[-.\s]?\d{3,4}/g
|
|
304
399
|
}, {
|
|
305
400
|
name: "ssn",
|
|
306
401
|
pattern: /\b\d{3}-\d{2}-\d{4}\b/g
|
|
307
402
|
}, {
|
|
308
403
|
name: "credit_card",
|
|
309
404
|
pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b/g
|
|
405
|
+
}, {
|
|
406
|
+
name: "iban",
|
|
407
|
+
pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
|
|
408
|
+
}, {
|
|
409
|
+
name: "jwt",
|
|
410
|
+
pattern: /\beyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\b/g
|
|
310
411
|
}, {
|
|
311
412
|
name: "ip_address",
|
|
312
413
|
pattern: /\b(?:\d{1,3}\.){3}\d{1,3}\b/g
|
|
313
414
|
}];
|
|
314
|
-
|
|
415
|
+
VALUE_SCRUB_PATTERNS = [{
|
|
416
|
+
name: "jwt",
|
|
417
|
+
pattern: /eyJ[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}\.[A-Za-z0-9_-]{5,}/g
|
|
418
|
+
}, {
|
|
419
|
+
name: "email",
|
|
420
|
+
pattern: /[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9-]{1,63}(?:\.[A-Za-z0-9-]{1,63}){0,8}\.[A-Za-z]{2,24}/g
|
|
421
|
+
}, {
|
|
422
|
+
name: "iban",
|
|
423
|
+
pattern: /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/g
|
|
424
|
+
}, {
|
|
425
|
+
name: "credit_card",
|
|
426
|
+
pattern: /\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{2,7}\b/g,
|
|
427
|
+
luhn: true
|
|
428
|
+
}];
|
|
429
|
+
SENSITIVE_BODY_KEYS = /* @__PURE__ */ new Set(["password", "passwd", "secret", "token", "access_token", "refresh_token", "id_token", "api_key", "apiKey", "private_key", "privateKey", "credit_card", "creditCard", "ccnumber", "cardnumber", "card_number", "pan", "cvv", "cvc", "ssn", "social_security", "nationalid", "national_id", "iban", "otp", "pin", "totp", "mfa", "mnemonic", "seed"]);
|
|
430
|
+
NORMALIZED_SENSITIVE_KEYS = new Set(Array.from(SENSITIVE_BODY_KEYS, _normalizeKey));
|
|
315
431
|
}
|
|
316
432
|
});
|
|
317
433
|
|
|
@@ -489,7 +605,7 @@ var SDK_VERSION;
|
|
|
489
605
|
var init_version = __esm({
|
|
490
606
|
"lib/module/core/constants/version.js"() {
|
|
491
607
|
"use strict";
|
|
492
|
-
SDK_VERSION = "1.10.
|
|
608
|
+
SDK_VERSION = "1.10.5";
|
|
493
609
|
}
|
|
494
610
|
});
|
|
495
611
|
|
|
@@ -3336,12 +3452,22 @@ var init_AutoScreenDetector = __esm({
|
|
|
3336
3452
|
_manualScreen = null;
|
|
3337
3453
|
_manualScreenTs = 0;
|
|
3338
3454
|
_autoScreen = null;
|
|
3455
|
+
/** `name#key` of the last auto-detected screen VISIT — see _extractActiveVisit. */
|
|
3456
|
+
_autoVisitSig = null;
|
|
3339
3457
|
_navigationRef = null;
|
|
3340
3458
|
_navListenerRemover = null;
|
|
3341
3459
|
_navListenerWired = false;
|
|
3342
3460
|
_heuristicTimer = null;
|
|
3343
3461
|
_started = false;
|
|
3344
3462
|
_lastEmittedScreen = null;
|
|
3463
|
+
_lastEmittedTs = 0;
|
|
3464
|
+
/**
|
|
3465
|
+
* Cross-source emit dedup window — see _emitScreenChange. Long enough to absorb the manual
|
|
3466
|
+
* beacon and the navRef listener both reporting the SAME transition (they land within the
|
|
3467
|
+
* 30ms nav debounce plus a render), short enough that a genuine re-visit of the same route
|
|
3468
|
+
* a moment later is a new screen view rather than silence.
|
|
3469
|
+
*/
|
|
3470
|
+
static EMIT_DEDUP_WINDOW_MS = 800;
|
|
3345
3471
|
_navDebounceTimer = null;
|
|
3346
3472
|
/** Whether the React Navigation exports were actually replaced — see _autoHookReactNavigation. */
|
|
3347
3473
|
_autoHookInstalled = false;
|
|
@@ -3393,6 +3519,7 @@ var init_AutoScreenDetector = __esm({
|
|
|
3393
3519
|
if (this.isManualScreenActive()) return;
|
|
3394
3520
|
if (name !== this._autoScreen) {
|
|
3395
3521
|
this._autoScreen = name;
|
|
3522
|
+
this._autoVisitSig = name;
|
|
3396
3523
|
this._emitScreenChange(name, "heuristic");
|
|
3397
3524
|
}
|
|
3398
3525
|
} catch {
|
|
@@ -3443,10 +3570,11 @@ var init_AutoScreenDetector = __esm({
|
|
|
3443
3570
|
try {
|
|
3444
3571
|
const state = typeof container.getRootState === "function" ? container.getRootState() : null;
|
|
3445
3572
|
if (state) {
|
|
3446
|
-
const
|
|
3447
|
-
if (
|
|
3448
|
-
this._autoScreen =
|
|
3449
|
-
this.
|
|
3573
|
+
const visit = this._extractActiveVisit(state);
|
|
3574
|
+
if (visit && this._visitSig(visit) !== this._autoVisitSig) {
|
|
3575
|
+
this._autoScreen = visit.name;
|
|
3576
|
+
this._autoVisitSig = this._visitSig(visit);
|
|
3577
|
+
this._emitScreenChange(visit.name, "navRef");
|
|
3450
3578
|
}
|
|
3451
3579
|
}
|
|
3452
3580
|
} catch {
|
|
@@ -3460,10 +3588,11 @@ var init_AutoScreenDetector = __esm({
|
|
|
3460
3588
|
if (typeof container.getRootState === "function") {
|
|
3461
3589
|
const state = container.getRootState();
|
|
3462
3590
|
if (state) {
|
|
3463
|
-
const
|
|
3464
|
-
if (
|
|
3465
|
-
this._autoScreen =
|
|
3466
|
-
this.
|
|
3591
|
+
const visit = this._extractActiveVisit(state);
|
|
3592
|
+
if (visit) {
|
|
3593
|
+
this._autoScreen = visit.name;
|
|
3594
|
+
this._autoVisitSig = this._visitSig(visit);
|
|
3595
|
+
this._emitScreenChange(visit.name, "navRef");
|
|
3467
3596
|
}
|
|
3468
3597
|
}
|
|
3469
3598
|
}
|
|
@@ -3489,10 +3618,11 @@ var init_AutoScreenDetector = __esm({
|
|
|
3489
3618
|
if (navContainer) {
|
|
3490
3619
|
const state = typeof navContainer.getRootState === "function" ? navContainer.getRootState() : null;
|
|
3491
3620
|
if (state) {
|
|
3492
|
-
const
|
|
3493
|
-
if (
|
|
3494
|
-
this._autoScreen =
|
|
3495
|
-
this.
|
|
3621
|
+
const visit = this._extractActiveVisit(state);
|
|
3622
|
+
if (visit && this._visitSig(visit) !== this._autoVisitSig) {
|
|
3623
|
+
this._autoScreen = visit.name;
|
|
3624
|
+
this._autoVisitSig = this._visitSig(visit);
|
|
3625
|
+
this._emitScreenChange(visit.name, "heuristic");
|
|
3496
3626
|
}
|
|
3497
3627
|
}
|
|
3498
3628
|
}
|
|
@@ -3524,19 +3654,43 @@ var init_AutoScreenDetector = __esm({
|
|
|
3524
3654
|
* Handles nested navigators by walking to the deepest active route.
|
|
3525
3655
|
*/
|
|
3526
3656
|
_extractActiveRoute(state) {
|
|
3657
|
+
return this._extractActiveVisit(state)?.name ?? null;
|
|
3658
|
+
}
|
|
3659
|
+
/**
|
|
3660
|
+
* Extract the active route's name AND its React Navigation route `key`.
|
|
3661
|
+
*
|
|
3662
|
+
* The key is what makes re-VISITS detectable. Comparing names alone collapses two
|
|
3663
|
+
* different visits to the same route into one screen view: leave Details, open Details
|
|
3664
|
+
* again, and `name === _autoScreen` swallowed the second visit entirely (QA: "opened the
|
|
3665
|
+
* same route again and no screen event was recorded"). React Navigation mints a fresh
|
|
3666
|
+
* `key` for every pushed route instance, so a re-push of the same name is a NEW key —
|
|
3667
|
+
* name+key comparison records each visit while a mere re-render of the same instance
|
|
3668
|
+
* (same key) still emits nothing. States without keys degrade to name-only, i.e. the
|
|
3669
|
+
* old behaviour, never worse.
|
|
3670
|
+
*/
|
|
3671
|
+
_extractActiveVisit(state) {
|
|
3527
3672
|
try {
|
|
3528
3673
|
if (!state?.routes || typeof state.index !== "number") return null;
|
|
3529
3674
|
const activeRoute = state.routes[state.index];
|
|
3530
3675
|
if (!activeRoute) return null;
|
|
3531
3676
|
if (activeRoute.state?.routes && typeof activeRoute.state.index === "number") {
|
|
3532
|
-
const nested = this.
|
|
3677
|
+
const nested = this._extractActiveVisit(activeRoute.state);
|
|
3533
3678
|
if (nested) return nested;
|
|
3534
3679
|
}
|
|
3535
|
-
|
|
3680
|
+
if (!activeRoute.name) return null;
|
|
3681
|
+
const rawKey = activeRoute.key;
|
|
3682
|
+
return {
|
|
3683
|
+
name: activeRoute.name,
|
|
3684
|
+
key: typeof rawKey === "string" ? rawKey : null
|
|
3685
|
+
};
|
|
3536
3686
|
} catch {
|
|
3537
3687
|
return null;
|
|
3538
3688
|
}
|
|
3539
3689
|
}
|
|
3690
|
+
/** `name#key` signature of one screen VISIT — what the auto paths dedup on. */
|
|
3691
|
+
_visitSig(visit) {
|
|
3692
|
+
return visit.key ? `${visit.name}#${visit.key}` : visit.name;
|
|
3693
|
+
}
|
|
3540
3694
|
// ─── Lifecycle ──────────────────────────────────────────────────────
|
|
3541
3695
|
/** Start auto-detection (idempotent) */
|
|
3542
3696
|
start() {
|
|
@@ -3701,8 +3855,10 @@ var init_AutoScreenDetector = __esm({
|
|
|
3701
3855
|
// ─── Internal ───────────────────────────────────────────────────────
|
|
3702
3856
|
_emitScreenChange(name, source) {
|
|
3703
3857
|
try {
|
|
3704
|
-
|
|
3858
|
+
const emitNow = Date.now();
|
|
3859
|
+
if (name === this._lastEmittedScreen && emitNow - this._lastEmittedTs < _AutoScreenDetector.EMIT_DEDUP_WINDOW_MS) return;
|
|
3705
3860
|
this._lastEmittedScreen = name;
|
|
3861
|
+
this._lastEmittedTs = emitNow;
|
|
3706
3862
|
for (const cb of this._listeners) {
|
|
3707
3863
|
try {
|
|
3708
3864
|
cb(name, source);
|
|
@@ -5587,6 +5743,21 @@ var init_SessionManager = __esm({
|
|
|
5587
5743
|
* differently across devices and pushes markers ~10% off vertically).
|
|
5588
5744
|
*/
|
|
5589
5745
|
_lastNativeViewportJsUnits = null;
|
|
5746
|
+
/**
|
|
5747
|
+
* Exact-duplicate gesture suppression (QA: one physical tap recorded 2–3×).
|
|
5748
|
+
*
|
|
5749
|
+
* Measured in production data: the native tracker re-emitted the SAME tap — identical
|
|
5750
|
+
* gestureType and identical coordinates to the SUB-PIXEL (e.g. x=466.962890625) — at
|
|
5751
|
+
* 160–240ms gaps, sometimes twice. A human re-tap cannot reproduce a sub-pixel float
|
|
5752
|
+
* exactly, so exact coordinate equality within the window is a safe discriminator: real
|
|
5753
|
+
* double-taps land on at least slightly different pixels and pass through untouched.
|
|
5754
|
+
* The pipeline's own 100ms dedup was too narrow for these; this window covers what was
|
|
5755
|
+
* actually observed with margin. Sits at the ONE entry point every gesture source funnels
|
|
5756
|
+
* through, so recording and analytics lanes are protected equally.
|
|
5757
|
+
*/
|
|
5758
|
+
_lastGestureSig = null;
|
|
5759
|
+
_lastGestureTs = 0;
|
|
5760
|
+
static GESTURE_DEDUP_WINDOW_MS = 400;
|
|
5590
5761
|
/** Memoized native file-outbox frame adapter (gated by the backend transport). */
|
|
5591
5762
|
_outboxFrameCapture = null;
|
|
5592
5763
|
constructor(debugTransport, nativeCapture2, managerConfig) {
|
|
@@ -6235,6 +6406,14 @@ var init_SessionManager = __esm({
|
|
|
6235
6406
|
* Emits a USER_ACTION event with gesture-specific subtype and payload.
|
|
6236
6407
|
*/
|
|
6237
6408
|
onGestureDetected(gestureType, details) {
|
|
6409
|
+
const dedupSig = `${gestureType}|${String(details?.x)}|${String(details?.y)}|${String(details?.endX)}|${String(details?.endY)}`;
|
|
6410
|
+
const nowTs = Date.now();
|
|
6411
|
+
if (dedupSig === this._lastGestureSig && nowTs - this._lastGestureTs <= _SessionManager.GESTURE_DEDUP_WINDOW_MS) {
|
|
6412
|
+
this._lastGestureTs = nowTs;
|
|
6413
|
+
return;
|
|
6414
|
+
}
|
|
6415
|
+
this._lastGestureSig = dedupSig;
|
|
6416
|
+
this._lastGestureTs = nowTs;
|
|
6238
6417
|
const payload = {
|
|
6239
6418
|
gestureType,
|
|
6240
6419
|
x: details?.x,
|
|
@@ -10400,6 +10579,14 @@ var init_NativeScaleBunCrash = __esm({
|
|
|
10400
10579
|
});
|
|
10401
10580
|
|
|
10402
10581
|
// lib/module/features/crash/nativeCrashBridge.js
|
|
10582
|
+
var nativeCrashBridge_exports = {};
|
|
10583
|
+
__export(nativeCrashBridge_exports, {
|
|
10584
|
+
drainNativeCrash: () => drainNativeCrash,
|
|
10585
|
+
installNativeCrashHandler: () => installNativeCrashHandler,
|
|
10586
|
+
persistFatalJsCrash: () => persistFatalJsCrash,
|
|
10587
|
+
setNativeActiveSession: () => setNativeActiveSession,
|
|
10588
|
+
triggerNativeCrash: () => triggerNativeCrash
|
|
10589
|
+
});
|
|
10403
10590
|
function getCrashModule() {
|
|
10404
10591
|
if (_crashModule) return _crashModule.mod;
|
|
10405
10592
|
try {
|
|
@@ -14137,6 +14324,35 @@ var SHAPE = {
|
|
|
14137
14324
|
})
|
|
14138
14325
|
}
|
|
14139
14326
|
},
|
|
14327
|
+
// SB-10: the public, documented top-level privacy config. Previously only the
|
|
14328
|
+
// nested replay privacy took effect; this is validated here and mapped onto the
|
|
14329
|
+
// effective replay privacy policy in the bootstrapper so it actually masks.
|
|
14330
|
+
privacy: {
|
|
14331
|
+
kind: "obj",
|
|
14332
|
+
opt: true,
|
|
14333
|
+
shape: {
|
|
14334
|
+
maskTextInputs: {
|
|
14335
|
+
kind: "bool",
|
|
14336
|
+
opt: true
|
|
14337
|
+
},
|
|
14338
|
+
maskImages: {
|
|
14339
|
+
kind: "bool",
|
|
14340
|
+
opt: true
|
|
14341
|
+
},
|
|
14342
|
+
redactAuth: {
|
|
14343
|
+
kind: "bool",
|
|
14344
|
+
opt: true
|
|
14345
|
+
},
|
|
14346
|
+
redactCookies: {
|
|
14347
|
+
kind: "bool",
|
|
14348
|
+
opt: true
|
|
14349
|
+
},
|
|
14350
|
+
redactBodies: {
|
|
14351
|
+
kind: "bool",
|
|
14352
|
+
opt: true
|
|
14353
|
+
}
|
|
14354
|
+
}
|
|
14355
|
+
},
|
|
14140
14356
|
captureInteractionHeatmap: bool(true),
|
|
14141
14357
|
// Opt-in: intercept console.* and ship the lines to the Diagnose → Logs lane in SaaS
|
|
14142
14358
|
// mode. OFF by default — console output can carry PII/secrets and adds ingest volume,
|
|
@@ -15490,6 +15706,13 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
15490
15706
|
// the flush timer retries, so nothing is lost to a start/child race. The durable native
|
|
15491
15707
|
// outbox path has its own ordering; this guards only the JS in-memory fallback.
|
|
15492
15708
|
_startedSessionIds = /* @__PURE__ */ new Set();
|
|
15709
|
+
// §11 offline-start recovery: INGESTION_START payloads whose POST failed (e.g. the app
|
|
15710
|
+
// launched with no connectivity). Without this, a failed START was logged and forgotten —
|
|
15711
|
+
// the row-ready gate never opened, every child lane re-buffered forever, and the session
|
|
15712
|
+
// stayed stuck until an app restart even after the network returned. Each flush tick
|
|
15713
|
+
// re-attempts these until acked (network errors keep retrying; permanent 4xx gives up).
|
|
15714
|
+
_pendingStartPayloads = /* @__PURE__ */ new Map();
|
|
15715
|
+
_startRetryInFlight = false;
|
|
15493
15716
|
pendingFrames = [];
|
|
15494
15717
|
pendingEvents = [];
|
|
15495
15718
|
pendingNetworkRequests = [];
|
|
@@ -15613,10 +15836,16 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
15613
15836
|
}
|
|
15614
15837
|
};
|
|
15615
15838
|
__DEV__ && logger.debug(`[BackendSessionAdapter] POST session start: ${session.sessionId}`);
|
|
15616
|
-
return this._post(startEndpoint, payload)
|
|
15617
|
-
|
|
15618
|
-
|
|
15619
|
-
|
|
15839
|
+
return this._post(startEndpoint, payload).then(() => {
|
|
15840
|
+
this._startedSessionIds.add(session.sessionId);
|
|
15841
|
+
this._pendingStartPayloads.delete(session.sessionId);
|
|
15842
|
+
__DEV__ && logger.info(`[ScaleBun Replay] backend session upload success`);
|
|
15843
|
+
}, (err) => {
|
|
15844
|
+
if (!_BackendSessionAdapter._isPermanentHttpError(err)) {
|
|
15845
|
+
this._pendingStartPayloads.set(session.sessionId, payload);
|
|
15846
|
+
}
|
|
15847
|
+
logger.info(`[ScaleBun Replay] backend session upload failure`);
|
|
15848
|
+
});
|
|
15620
15849
|
}).catch(() => logger.info(`[ScaleBun Replay] backend session upload failure`));
|
|
15621
15850
|
}
|
|
15622
15851
|
sendSessionEnd(session) {
|
|
@@ -15689,8 +15918,16 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
15689
15918
|
environment: m?.buildType
|
|
15690
15919
|
}
|
|
15691
15920
|
};
|
|
15692
|
-
|
|
15921
|
+
try {
|
|
15922
|
+
await this._post(startEndpoint, payload);
|
|
15923
|
+
} catch (err) {
|
|
15924
|
+
if (!_BackendSessionAdapter._isPermanentHttpError(err)) {
|
|
15925
|
+
this._pendingStartPayloads.set(session.sessionId, payload);
|
|
15926
|
+
}
|
|
15927
|
+
throw err;
|
|
15928
|
+
}
|
|
15693
15929
|
this._startedSessionIds.add(session.sessionId);
|
|
15930
|
+
this._pendingStartPayloads.delete(session.sessionId);
|
|
15694
15931
|
this._flushAnalyticsEvents().catch(() => {
|
|
15695
15932
|
});
|
|
15696
15933
|
__DEV__ && logger.info(`[ScaleBun Analytics] session start upload success: ${session.sessionId}`);
|
|
@@ -15698,6 +15935,40 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
15698
15935
|
__DEV__ && logger.info(`[ScaleBun Analytics] session start upload failure`);
|
|
15699
15936
|
}
|
|
15700
15937
|
}
|
|
15938
|
+
/**
|
|
15939
|
+
* Re-attempt any INGESTION_START whose POST failed (offline app launch). Runs on every
|
|
15940
|
+
* flush tick of BOTH lanes — cheap no-op when the map is empty, single-flight guarded.
|
|
15941
|
+
* On ack: opens the row-ready gate and drains whichever lane the id belongs to, which is
|
|
15942
|
+
* exactly what un-sticks a replay that started offline once connectivity returns.
|
|
15943
|
+
*/
|
|
15944
|
+
_retryPendingStarts() {
|
|
15945
|
+
if (this.destroyed || this._startRetryInFlight || this._pendingStartPayloads.size === 0) return;
|
|
15946
|
+
const entry = this._pendingStartPayloads.entries().next().value;
|
|
15947
|
+
if (!entry) return;
|
|
15948
|
+
const [sessionId, payload] = entry;
|
|
15949
|
+
const stillRelevant = sessionId === this.currentSessionId || sessionId === this._analyticsSessionId;
|
|
15950
|
+
if (!stillRelevant) {
|
|
15951
|
+
this._pendingStartPayloads.delete(sessionId);
|
|
15952
|
+
return;
|
|
15953
|
+
}
|
|
15954
|
+
this._startRetryInFlight = true;
|
|
15955
|
+
const startEndpoint = this.config.clientKey ? ENDPOINTS.INGESTION_START : "/replay/sessions";
|
|
15956
|
+
this._post(startEndpoint, payload).then(() => {
|
|
15957
|
+
this._startedSessionIds.add(sessionId);
|
|
15958
|
+
this._pendingStartPayloads.delete(sessionId);
|
|
15959
|
+
__DEV__ && logger.info(`[ScaleBun Replay] deferred session start delivered: ${sessionId}`);
|
|
15960
|
+
if (sessionId === this._analyticsSessionId) {
|
|
15961
|
+
this._flushAnalyticsEvents().catch(() => {
|
|
15962
|
+
});
|
|
15963
|
+
}
|
|
15964
|
+
}).catch((err) => {
|
|
15965
|
+
if (_BackendSessionAdapter._isPermanentHttpError(err)) {
|
|
15966
|
+
this._pendingStartPayloads.delete(sessionId);
|
|
15967
|
+
}
|
|
15968
|
+
}).finally(() => {
|
|
15969
|
+
this._startRetryInFlight = false;
|
|
15970
|
+
});
|
|
15971
|
+
}
|
|
15701
15972
|
/**
|
|
15702
15973
|
* Enqueue a user track() event. Buffers (bounded, drop-oldest) when the
|
|
15703
15974
|
* analytics session is not yet open; flushes at >=20 once it is.
|
|
@@ -15812,6 +16083,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
15812
16083
|
_startAnalyticsFlushTimer() {
|
|
15813
16084
|
this._stopAnalyticsFlushTimer();
|
|
15814
16085
|
this.analyticsFlushTimer = setInterval(() => {
|
|
16086
|
+
this._retryPendingStarts();
|
|
15815
16087
|
this._flushAnalyticsEvents().catch(() => {
|
|
15816
16088
|
});
|
|
15817
16089
|
}, this.config.flushIntervalMs);
|
|
@@ -16038,6 +16310,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
16038
16310
|
this._analyticsSessionId = null;
|
|
16039
16311
|
this._pendingFinalizeId = null;
|
|
16040
16312
|
this._startedSessionIds.clear();
|
|
16313
|
+
this._pendingStartPayloads.clear();
|
|
16041
16314
|
}
|
|
16042
16315
|
// ─── Internal: Flush ────────────────────────────────────────────────
|
|
16043
16316
|
/** Wire metadata for a frame — real format/sizeBytes from native (no hardcoded literals). */
|
|
@@ -16556,6 +16829,7 @@ var BackendSessionAdapter = class _BackendSessionAdapter {
|
|
|
16556
16829
|
_startFlushTimer() {
|
|
16557
16830
|
this._stopFlushTimer();
|
|
16558
16831
|
this.flushTimer = setInterval(() => {
|
|
16832
|
+
this._retryPendingStarts();
|
|
16559
16833
|
this._flushFrames().catch(() => {
|
|
16560
16834
|
});
|
|
16561
16835
|
this._flushEvents().catch(() => {
|
|
@@ -16886,6 +17160,18 @@ var SDKBootstrapper = class {
|
|
|
16886
17160
|
if (features.replay !== false) {
|
|
16887
17161
|
try {
|
|
16888
17162
|
__DEV__ && logger.debug("[Bootstrap] Initializing unified SessionManager");
|
|
17163
|
+
const pub = this.config.privacy ?? {};
|
|
17164
|
+
const sessionReplay = {
|
|
17165
|
+
...this.config.replay ?? {}
|
|
17166
|
+
};
|
|
17167
|
+
if (typeof pub.maskTextInputs === "boolean" || typeof pub.maskImages === "boolean") {
|
|
17168
|
+
sessionReplay.privacyPolicy = {
|
|
17169
|
+
redactTextInputs: pub.maskTextInputs ?? true,
|
|
17170
|
+
redactImages: pub.maskImages ?? false,
|
|
17171
|
+
blockTestIds: [],
|
|
17172
|
+
captureExclusions: []
|
|
17173
|
+
};
|
|
17174
|
+
}
|
|
16889
17175
|
const sessionManager = SessionManager.getInstance(
|
|
16890
17176
|
null,
|
|
16891
17177
|
// No desktop transport initially
|
|
@@ -16896,9 +17182,7 @@ var SDKBootstrapper = class {
|
|
|
16896
17182
|
// Also flow the Feature #4 heatmap flag so tap/gesture coords
|
|
16897
17183
|
// route to the analytics lane even when no recording is active.
|
|
16898
17184
|
{
|
|
16899
|
-
|
|
16900
|
-
sessionReplay: this.config.replay
|
|
16901
|
-
} : {},
|
|
17185
|
+
sessionReplay,
|
|
16902
17186
|
captureInteractionHeatmap: this.config.captureInteractionHeatmap === true
|
|
16903
17187
|
}
|
|
16904
17188
|
);
|
|
@@ -16926,6 +17210,8 @@ var SDKBootstrapper = class {
|
|
|
16926
17210
|
}
|
|
16927
17211
|
});
|
|
16928
17212
|
sessionManager.setBackendTransport(backendAdapter);
|
|
17213
|
+
Promise.resolve().then(() => (init_nativeCrashBridge(), nativeCrashBridge_exports)).then((m) => m.drainNativeCrash()).catch(() => {
|
|
17214
|
+
});
|
|
16929
17215
|
if (this.config.clientKey && this.config.captureConsoleLogs) {
|
|
16930
17216
|
installConsoleIntegration();
|
|
16931
17217
|
}
|
|
@@ -19853,16 +20139,90 @@ var ScaleBunFacade = class {
|
|
|
19853
20139
|
});
|
|
19854
20140
|
});
|
|
19855
20141
|
}
|
|
19856
|
-
/**
|
|
19857
|
-
|
|
20142
|
+
/**
|
|
20143
|
+
* Clear user identity.
|
|
20144
|
+
*
|
|
20145
|
+
* SB-11: pass `{ purgeLocal: true }` on logout / consent withdrawal to also
|
|
20146
|
+
* erase all locally-stored SDK data (see {@link eraseLocalData}). Without it,
|
|
20147
|
+
* behaviour is unchanged (identity-only clear).
|
|
20148
|
+
*/
|
|
20149
|
+
clearUser(options) {
|
|
19858
20150
|
return noThrow(() => {
|
|
19859
20151
|
this._identifiedUserId = null;
|
|
19860
20152
|
this._pendingIdentity = null;
|
|
19861
20153
|
if (!this.initialized) return;
|
|
19862
20154
|
this._eventTracker?.clearIdentity();
|
|
19863
20155
|
this.track("$clear_user", {});
|
|
20156
|
+
if (options?.purgeLocal) void this.eraseLocalData();
|
|
20157
|
+
});
|
|
20158
|
+
}
|
|
20159
|
+
/**
|
|
20160
|
+
* SB-11: erase all locally-stored SDK data from the device — the durable event
|
|
20161
|
+
* queue, the pre-init buffer, and the first-party KV store (cached install /
|
|
20162
|
+
* anonymous / session IDs, plus any queued payloads including SB-26 disk data).
|
|
20163
|
+
*
|
|
20164
|
+
* Order matters: capture is stopped FIRST so nothing is written back in behind
|
|
20165
|
+
* the delete. Best-effort and never throws.
|
|
20166
|
+
*
|
|
20167
|
+
* Note: native replay frames written to disk on iOS are addressed separately
|
|
20168
|
+
* (SB-15); this covers every store reachable from JS today.
|
|
20169
|
+
*/
|
|
20170
|
+
async eraseLocalData() {
|
|
20171
|
+
try {
|
|
20172
|
+
try {
|
|
20173
|
+
SessionManager.getExistingInstance()?.endSession("ended");
|
|
20174
|
+
} catch {
|
|
20175
|
+
}
|
|
20176
|
+
try {
|
|
20177
|
+
this._getQueue().clear();
|
|
20178
|
+
} catch {
|
|
20179
|
+
}
|
|
20180
|
+
try {
|
|
20181
|
+
this._preInitBuffer.clear();
|
|
20182
|
+
} catch {
|
|
20183
|
+
}
|
|
20184
|
+
try {
|
|
20185
|
+
const store = createStorageBackend();
|
|
20186
|
+
for (const key of store.getAllKeys()) {
|
|
20187
|
+
store.delete(key);
|
|
20188
|
+
}
|
|
20189
|
+
} catch {
|
|
20190
|
+
}
|
|
20191
|
+
} catch {
|
|
20192
|
+
}
|
|
20193
|
+
}
|
|
20194
|
+
/**
|
|
20195
|
+
* SB-11: record the user's data-collection consent. When `enabled` is false,
|
|
20196
|
+
* capture is stopped immediately; pass `{ purgeLocal: true }` to also erase
|
|
20197
|
+
* everything already stored locally. Never throws.
|
|
20198
|
+
*/
|
|
20199
|
+
setConsent(enabled, options) {
|
|
20200
|
+
noThrow(() => {
|
|
20201
|
+
if (enabled) return;
|
|
20202
|
+
try {
|
|
20203
|
+
SessionManager.getExistingInstance()?.endSession("ended");
|
|
20204
|
+
} catch {
|
|
20205
|
+
}
|
|
20206
|
+
if (options?.purgeLocal) void this.eraseLocalData();
|
|
19864
20207
|
});
|
|
19865
20208
|
}
|
|
20209
|
+
/**
|
|
20210
|
+
* SB-10: return the effective privacy policy actually in force, resolving the
|
|
20211
|
+
* public config against the SDK's safe defaults. Lets callers and tests assert
|
|
20212
|
+
* what is active rather than guessing from the (previously dead) config object.
|
|
20213
|
+
*/
|
|
20214
|
+
getEffectivePrivacyPolicy() {
|
|
20215
|
+
const p = this._privacyConfig ?? {};
|
|
20216
|
+
return {
|
|
20217
|
+
// Real default is true (matches the replay capture default) — the old
|
|
20218
|
+
// doc comment claiming "false" was both wrong and less safe.
|
|
20219
|
+
maskTextInputs: p.maskTextInputs ?? true,
|
|
20220
|
+
maskImages: p.maskImages ?? false,
|
|
20221
|
+
redactAuth: p.redactAuth ?? true,
|
|
20222
|
+
redactCookies: p.redactCookies ?? true,
|
|
20223
|
+
redactBodies: p.redactBodies ?? false
|
|
20224
|
+
};
|
|
20225
|
+
}
|
|
19866
20226
|
/**
|
|
19867
20227
|
* Submit in-app rating (1-5 stars).
|
|
19868
20228
|
* Attaches to current session when available; otherwise sends standalone.
|
|
@@ -32943,7 +33303,7 @@ function ScaleBunDebugRoot({
|
|
|
32943
33303
|
}
|
|
32944
33304
|
} catch {
|
|
32945
33305
|
}
|
|
32946
|
-
},
|
|
33306
|
+
}, 600);
|
|
32947
33307
|
}
|
|
32948
33308
|
touchStartRef.current = null;
|
|
32949
33309
|
} catch {
|