@scalebun/react-native 1.0.3 → 1.0.4
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/core/crash/CrashStorage.kt +115 -1
- package/android/src/main/java/com/scalebun/core/crash/NativeCrashHandler.kt +14 -0
- package/android/src/main/java/com/scalebun/replaysdk/ReplaySdkModule.kt +25 -9
- package/android/src/main/java/com/scalebun/replaysdk/voice/VoiceTranscriber.kt +68 -2
- package/android/src/main/java/com/scalebun/rn/crash/ScaleBunCrashModule.kt +66 -2
- package/ios/Crash/ScaleBunCrashBridge.mm +6 -0
- package/ios/Crash/ScaleBunCrashHandler.swift +14 -1
- package/ios/Crash/ScaleBunCrashModule.swift +14 -0
- package/ios/Crash/ScaleBunCrashSignalBridge.h +32 -1
- package/ios/Crash/ScaleBunCrashSignalBridge.m +172 -7
- package/ios/Crash/ScaleBunCrashSignalStress.c +137 -0
- package/ios/Crash/ScaleBunCrashStorage.swift +75 -0
- package/lib/commonjs/analytics/EventTracker.js +30 -2
- package/lib/commonjs/analytics/EventTracker.js.map +1 -1
- package/lib/commonjs/bootstrap/SDKBootstrapper.js +19 -14
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/commonjs/core/config/schema.js +13 -5
- package/lib/commonjs/core/config/schema.js.map +1 -1
- package/lib/commonjs/core/context/device.js +130 -0
- package/lib/commonjs/core/context/device.js.map +1 -1
- package/lib/commonjs/debug/replayWiring.js +2 -1
- package/lib/commonjs/debug/replayWiring.js.map +1 -1
- package/lib/commonjs/features/bugreport/BugReportFeature.js +112 -0
- package/lib/commonjs/features/bugreport/BugReportFeature.js.map +1 -0
- package/lib/commonjs/features/bugreport/buildPayload.js +97 -0
- package/lib/commonjs/features/bugreport/buildPayload.js.map +1 -0
- package/lib/commonjs/features/crash/CrashReporter.js +25 -1
- package/lib/commonjs/features/crash/CrashReporter.js.map +1 -1
- package/lib/commonjs/features/crash/capture.js +27 -9
- package/lib/commonjs/features/crash/capture.js.map +1 -1
- package/lib/commonjs/features/crash/nativeCrashBridge.js +163 -28
- package/lib/commonjs/features/crash/nativeCrashBridge.js.map +1 -1
- package/lib/commonjs/features/engage/EngagePromptProvider.js +36 -2
- package/lib/commonjs/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/commonjs/features/engage/EngagePromptView.js +47 -14
- package/lib/commonjs/features/engage/EngagePromptView.js.map +1 -1
- package/lib/commonjs/features/engage/engageTriggerEngine.js +10 -0
- package/lib/commonjs/features/engage/engageTriggerEngine.js.map +1 -1
- package/lib/commonjs/features/engage/engageTypes.js.map +1 -1
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js +2 -1
- package/lib/commonjs/features/journey/ScaleBunDebugRoot.js.map +1 -1
- package/lib/commonjs/features/ota/OtaOrchestrator.js +63 -5
- package/lib/commonjs/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/commonjs/features/ota/deviceAttributes.js +48 -0
- package/lib/commonjs/features/ota/deviceAttributes.js.map +1 -0
- package/lib/commonjs/features/ota/geoCountry.js +93 -0
- package/lib/commonjs/features/ota/geoCountry.js.map +1 -0
- package/lib/commonjs/features/ota/useOtaUpdate.js +4 -1
- package/lib/commonjs/features/ota/useOtaUpdate.js.map +1 -1
- package/lib/commonjs/features/performance/PerformanceFeature.js +23 -9
- package/lib/commonjs/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js +69 -9
- package/lib/commonjs/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js +25 -0
- package/lib/commonjs/features/performance/transport/PerformanceTransport.js.map +1 -1
- package/lib/commonjs/features/session/BackendSessionAdapter.js +128 -11
- package/lib/commonjs/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/commonjs/features/session/JourneyEventPipeline.js +1 -0
- package/lib/commonjs/features/session/JourneyEventPipeline.js.map +1 -1
- package/lib/commonjs/features/session/ReplayCaptureManager.js +46 -0
- package/lib/commonjs/features/session/ReplayCaptureManager.js.map +1 -1
- package/lib/commonjs/features/session/SessionManager.js +42 -12
- package/lib/commonjs/features/session/SessionManager.js.map +1 -1
- package/lib/commonjs/features/session/nativeCapture.js +4 -4
- package/lib/commonjs/features/session/nativeCapture.js.map +1 -1
- package/lib/commonjs/features/session/outboxFrameCapture.js +3 -2
- package/lib/commonjs/features/session/outboxFrameCapture.js.map +1 -1
- package/lib/commonjs/features/session/sessionTypes.js.map +1 -1
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/public/ScaleBunFacade.js +150 -2
- package/lib/commonjs/public/ScaleBunFacade.js.map +1 -1
- package/lib/commonjs/specs/NativeScaleBunCrash.js.map +1 -1
- package/lib/module/analytics/EventTracker.js +29 -1
- package/lib/module/analytics/EventTracker.js.map +1 -1
- package/lib/module/bootstrap/SDKBootstrapper.js +17 -12
- package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/module/core/config/schema.js +13 -5
- package/lib/module/core/config/schema.js.map +1 -1
- package/lib/module/core/context/device.js +119 -0
- package/lib/module/core/context/device.js.map +1 -1
- package/lib/module/debug/replayWiring.js +2 -1
- package/lib/module/debug/replayWiring.js.map +1 -1
- package/lib/module/features/bugreport/BugReportFeature.js +105 -0
- package/lib/module/features/bugreport/BugReportFeature.js.map +1 -0
- package/lib/module/features/bugreport/buildPayload.js +91 -0
- package/lib/module/features/bugreport/buildPayload.js.map +1 -0
- package/lib/module/features/crash/CrashReporter.js +25 -1
- package/lib/module/features/crash/CrashReporter.js.map +1 -1
- package/lib/module/features/crash/capture.js +28 -9
- package/lib/module/features/crash/capture.js.map +1 -1
- package/lib/module/features/crash/nativeCrashBridge.js +161 -28
- package/lib/module/features/crash/nativeCrashBridge.js.map +1 -1
- package/lib/module/features/engage/EngagePromptProvider.js +36 -2
- package/lib/module/features/engage/EngagePromptProvider.js.map +1 -1
- package/lib/module/features/engage/EngagePromptView.js +47 -14
- package/lib/module/features/engage/EngagePromptView.js.map +1 -1
- package/lib/module/features/engage/engageTriggerEngine.js +10 -0
- package/lib/module/features/engage/engageTriggerEngine.js.map +1 -1
- package/lib/module/features/engage/engageTypes.js.map +1 -1
- package/lib/module/features/journey/ScaleBunDebugRoot.js +2 -1
- package/lib/module/features/journey/ScaleBunDebugRoot.js.map +1 -1
- package/lib/module/features/ota/OtaOrchestrator.js +63 -5
- package/lib/module/features/ota/OtaOrchestrator.js.map +1 -1
- package/lib/module/features/ota/deviceAttributes.js +43 -0
- package/lib/module/features/ota/deviceAttributes.js.map +1 -0
- package/lib/module/features/ota/geoCountry.js +86 -0
- package/lib/module/features/ota/geoCountry.js.map +1 -0
- package/lib/module/features/ota/useOtaUpdate.js +4 -1
- package/lib/module/features/ota/useOtaUpdate.js.map +1 -1
- package/lib/module/features/performance/PerformanceFeature.js +23 -9
- package/lib/module/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js +70 -10
- package/lib/module/features/performance/collectors/FrameMetricsCollector.js.map +1 -1
- package/lib/module/features/performance/transport/PerformanceTransport.js +25 -0
- package/lib/module/features/performance/transport/PerformanceTransport.js.map +1 -1
- package/lib/module/features/session/BackendSessionAdapter.js +128 -11
- package/lib/module/features/session/BackendSessionAdapter.js.map +1 -1
- package/lib/module/features/session/JourneyEventPipeline.js +1 -0
- package/lib/module/features/session/JourneyEventPipeline.js.map +1 -1
- package/lib/module/features/session/ReplayCaptureManager.js +46 -0
- package/lib/module/features/session/ReplayCaptureManager.js.map +1 -1
- package/lib/module/features/session/SessionManager.js +42 -12
- package/lib/module/features/session/SessionManager.js.map +1 -1
- package/lib/module/features/session/nativeCapture.js +4 -5
- package/lib/module/features/session/nativeCapture.js.map +1 -1
- package/lib/module/features/session/outboxFrameCapture.js +3 -2
- package/lib/module/features/session/outboxFrameCapture.js.map +1 -1
- package/lib/module/features/session/sessionTypes.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/public/ScaleBunFacade.js +150 -2
- package/lib/module/public/ScaleBunFacade.js.map +1 -1
- package/lib/module/specs/NativeScaleBunCrash.js.map +1 -1
- package/lib/typescript/analytics/EventTracker.d.ts +20 -0
- package/lib/typescript/analytics/EventTracker.d.ts.map +1 -1
- package/lib/typescript/bootstrap/SDKBootstrapper.d.ts.map +1 -1
- package/lib/typescript/core/config/schema.d.ts +1 -1
- package/lib/typescript/core/config/schema.d.ts.map +1 -1
- package/lib/typescript/core/context/device.d.ts +46 -0
- package/lib/typescript/core/context/device.d.ts.map +1 -1
- package/lib/typescript/debug/replayWiring.d.ts.map +1 -1
- package/lib/typescript/features/bugreport/BugReportFeature.d.ts +59 -0
- package/lib/typescript/features/bugreport/BugReportFeature.d.ts.map +1 -0
- package/lib/typescript/features/bugreport/buildPayload.d.ts +51 -0
- package/lib/typescript/features/bugreport/buildPayload.d.ts.map +1 -0
- package/lib/typescript/features/crash/CrashReporter.d.ts +20 -1
- package/lib/typescript/features/crash/CrashReporter.d.ts.map +1 -1
- package/lib/typescript/features/crash/capture.d.ts +21 -2
- package/lib/typescript/features/crash/capture.d.ts.map +1 -1
- package/lib/typescript/features/crash/nativeCrashBridge.d.ts +16 -3
- package/lib/typescript/features/crash/nativeCrashBridge.d.ts.map +1 -1
- package/lib/typescript/features/engage/EngagePromptProvider.d.ts.map +1 -1
- package/lib/typescript/features/engage/EngagePromptView.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageTriggerEngine.d.ts.map +1 -1
- package/lib/typescript/features/engage/engageTypes.d.ts +15 -0
- package/lib/typescript/features/engage/engageTypes.d.ts.map +1 -1
- package/lib/typescript/features/journey/ScaleBunDebugRoot.d.ts.map +1 -1
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts +8 -2
- package/lib/typescript/features/ota/OtaOrchestrator.d.ts.map +1 -1
- package/lib/typescript/features/ota/deviceAttributes.d.ts +18 -0
- package/lib/typescript/features/ota/deviceAttributes.d.ts.map +1 -0
- package/lib/typescript/features/ota/geoCountry.d.ts +14 -0
- package/lib/typescript/features/ota/geoCountry.d.ts.map +1 -0
- package/lib/typescript/features/ota/useOtaUpdate.d.ts +20 -2
- package/lib/typescript/features/ota/useOtaUpdate.d.ts.map +1 -1
- package/lib/typescript/features/performance/PerformanceFeature.d.ts +0 -1
- package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +1 -1
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts +33 -0
- package/lib/typescript/features/performance/collectors/FrameMetricsCollector.d.ts.map +1 -1
- package/lib/typescript/features/performance/transport/PerformanceTransport.d.ts.map +1 -1
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts +42 -2
- package/lib/typescript/features/session/BackendSessionAdapter.d.ts.map +1 -1
- package/lib/typescript/features/session/JourneyEventPipeline.d.ts +2 -0
- package/lib/typescript/features/session/JourneyEventPipeline.d.ts.map +1 -1
- package/lib/typescript/features/session/ReplayCaptureManager.d.ts +38 -1
- package/lib/typescript/features/session/ReplayCaptureManager.d.ts.map +1 -1
- package/lib/typescript/features/session/SessionManager.d.ts.map +1 -1
- package/lib/typescript/features/session/nativeCapture.d.ts +2 -1
- package/lib/typescript/features/session/nativeCapture.d.ts.map +1 -1
- package/lib/typescript/features/session/outboxFrameCapture.d.ts.map +1 -1
- package/lib/typescript/features/session/sessionTypes.d.ts +20 -3
- package/lib/typescript/features/session/sessionTypes.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/public/ScaleBunFacade.d.ts +58 -0
- package/lib/typescript/public/ScaleBunFacade.d.ts.map +1 -1
- package/lib/typescript/specs/NativeScaleBunCrash.d.ts +14 -0
- package/lib/typescript/specs/NativeScaleBunCrash.d.ts.map +1 -1
- package/lib/typescript/vendor/protocol/index.d.ts +17 -17
- package/package.json +1 -1
- package/src/analytics/EventTracker.ts +28 -1
- package/src/bootstrap/SDKBootstrapper.ts +15 -14
- package/src/core/config/schema.ts +13 -5
- package/src/core/context/device.ts +146 -0
- package/src/debug/replayWiring.ts +2 -1
- package/src/features/bugreport/BugReportFeature.ts +128 -0
- package/src/features/bugreport/buildPayload.ts +116 -0
- package/src/features/crash/CrashReporter.ts +40 -1
- package/src/features/crash/capture.ts +36 -9
- package/src/features/crash/nativeCrashBridge.ts +156 -22
- package/src/features/engage/EngagePromptProvider.tsx +48 -2
- package/src/features/engage/EngagePromptView.tsx +51 -15
- package/src/features/engage/engageTriggerEngine.ts +15 -0
- package/src/features/engage/engageTypes.ts +15 -0
- package/src/features/journey/ScaleBunDebugRoot.tsx +2 -1
- package/src/features/ota/OtaOrchestrator.ts +75 -6
- package/src/features/ota/deviceAttributes.ts +46 -0
- package/src/features/ota/geoCountry.ts +85 -0
- package/src/features/ota/useOtaUpdate.ts +20 -2
- package/src/features/performance/PerformanceFeature.ts +22 -9
- package/src/features/performance/collectors/FrameMetricsCollector.ts +72 -10
- package/src/features/performance/transport/PerformanceTransport.ts +18 -0
- package/src/features/session/BackendSessionAdapter.ts +137 -10
- package/src/features/session/JourneyEventPipeline.ts +3 -0
- package/src/features/session/ReplayCaptureManager.ts +53 -1
- package/src/features/session/SessionManager.ts +46 -7
- package/src/features/session/nativeCapture.ts +3 -2
- package/src/features/session/outboxFrameCapture.ts +3 -2
- package/src/features/session/sessionTypes.ts +26 -3
- package/src/index.ts +3 -0
- package/src/public/ScaleBunFacade.ts +153 -2
- package/src/specs/NativeScaleBunCrash.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","ConfigSchema","logger","LogLevel","coreContainer","HttpClient","ENDPOINTS","sdkSession","getDeviceId","FlushScheduler","Dispatcher","appLifecycle","FeatureRegistry","NetworkFeature","CrashFeature","NativeCrashFeature","getCrashReporter","DesktopEventSink","BackendErrorsSink","PerformanceFeature","PersistentQueue","createStorageBackend","MemoryBackend","SessionManager","nativeCapture","installAlertInstrumentation","uninstallAlertInstrumentation","BackendSessionAdapter","generateSessionId","emitAutomaticEvent","SDKBootstrapper","featureRegistry","config","_backgroundedAt","_orientationSub","_lastOrientation","_memorySub","_deepLinkUnsubscribe","bootstrap","rawConfig","trackFn","flushFn","features","result","safeParse","success","error","format","data","logLevel","setLevelByName","debug","setLevel","DEBUG","persistenceConfig","persistence","storageBackend","enabled","persistentQueue","register","leftovers","drainLeftovers","length","info","envelope","add","httpClient","apiBaseUrl","clientKey","batch","headers","post","EVENTS","deviceId","events","scheduler","response","SESSIONS","projectId","publishableKey","platform","OS","status","token","setSession","addListener","state","sessionManager","getExistingInstance","adapter","getBackendTransport","reconcilePendingFinalize","catch","bgAt","capMs","sessionBackgroundCapMs","bgMs","Date","now","analyticsSessionId","startAnalyticsSession","_buildAnalyticsSession","finalizeAnalyticsSession","emitLifecycleMarker","at","backgroundedAt","backgroundMs","finalizeOnBackground","isActive","startSession","persistPendingFrames","flushAll","flushAnalytics","endSession","installOrientationTracking","installMemoryWarningTracking","captureDeepLink","url","initial","parsed","URL","scheme","protocol","replace","host","undefined","path","pathname","query_keys","Array","from","searchParams","keys","sort","safePath","split","subscription","addEventListener","remove","getInitialURL","then","err","warn","message","start","flushIntervalMs","featureContext","trackEvent","getDebugStream","getAppState","network","enableNetworkMonitoring","captureNetworkBodies","redactNetwork","sdkBaseUrl","crashes","crashReporter","registerSink","performance","perf","appLaunch","tier1","screenLoad","networkPerf","uiHangs","uiHang","tier2Enabled","tier2","tier2SampleRate","sampleRate","initializeAll","replay","getInstance","sessionReplay","captureInteractionHeatmap","backendAdapter","endpoint","idleThresholdMs","storage","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","nativeOutboxRetryIntervalMs","nativeOutboxMaxUploadAttempts","nativeOutboxPoisonMaxAttempts","nativeOutboxRespectRetryAfter","nativeOutboxStrictThreeSecondRetry","nativeOutboxNetworkFailuresCountTowardDead","nativeOutboxMaxBytes","nativeOutboxMaxAgeMs","setBackendTransport","recoverPersistedFrames","analyticsStarted","isSaaS","AutoScreenDetector","require","detector","onScreenChange","screenName","source","screen_name","detection_source","setTrackedScreen","sm","pf","get","setCurrentScreen","getProfilerFeature","prof","sawScreen","warnTimer","setTimeout","unref","version","Version","Dimensions","verdict","w","h","win","width","height","window","next","orientation","Math","round","AppState","screen","getLastKnownScreen","sessionId","startedAt","metadata","buildType","__DEV__","getConfig","teardown","teardownAll"],"sourceRoot":"../../../src","sources":["bootstrap/SDKBootstrapper.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","ConfigSchema","DEFAULT_API_BASE_URL","logger","LogLevel","coreContainer","HttpClient","ENDPOINTS","sdkSession","getDeviceId","FlushScheduler","appLifecycle","FeatureRegistry","NetworkFeature","CrashFeature","NativeCrashFeature","getCrashReporter","DesktopEventSink","BackendErrorsSink","PerformanceFeature","PersistentQueue","createStorageBackend","MemoryBackend","SessionManager","nativeCapture","installAlertInstrumentation","uninstallAlertInstrumentation","BackendSessionAdapter","generateSessionId","emitAutomaticEvent","SDKBootstrapper","featureRegistry","config","_backgroundedAt","_orientationSub","_lastOrientation","_memorySub","_deepLinkUnsubscribe","bootstrap","rawConfig","trackFn","flushFn","features","result","safeParse","success","error","format","data","apiBaseUrl","logLevel","setLevelByName","debug","setLevel","DEBUG","persistenceConfig","persistence","storageBackend","enabled","persistentQueue","register","leftovers","drainLeftovers","length","info","envelope","add","httpClient","scheduler","clientKey","response","post","SESSIONS","projectId","publishableKey","deviceId","platform","OS","status","token","setSession","addListener","state","sessionManager","getExistingInstance","adapter","getBackendTransport","reconcilePendingFinalize","catch","bgAt","capMs","sessionBackgroundCapMs","bgMs","Date","now","analyticsSessionId","startAnalyticsSession","_buildAnalyticsSession","finalizeAnalyticsSession","emitLifecycleMarker","at","backgroundedAt","backgroundMs","finalizeOnBackground","isActive","startSession","persistPendingFrames","flushAll","flushAnalytics","endSession","installOrientationTracking","installMemoryWarningTracking","captureDeepLink","url","initial","parsed","URL","scheme","protocol","replace","host","undefined","path","pathname","query_keys","Array","from","searchParams","keys","sort","safePath","split","subscription","addEventListener","remove","getInitialURL","then","err","warn","message","start","flushIntervalMs","featureContext","trackEvent","getDebugStream","getAppState","network","enableNetworkMonitoring","captureNetworkBodies","redactNetwork","sdkBaseUrl","crashes","crashReporter","registerSink","performance","perf","appLaunch","tier1","screenLoad","networkPerf","uiHangs","uiHang","tier2Enabled","tier2","tier2SampleRate","sampleRate","initializeAll","replay","getInstance","sessionReplay","captureInteractionHeatmap","backendAdapter","endpoint","idleThresholdMs","storage","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","nativeOutboxTuning","nativeOutboxRetryIntervalMs","nativeOutboxMaxUploadAttempts","nativeOutboxPoisonMaxAttempts","nativeOutboxRespectRetryAfter","nativeOutboxStrictThreeSecondRetry","nativeOutboxNetworkFailuresCountTowardDead","nativeOutboxMaxBytes","nativeOutboxMaxAgeMs","setBackendTransport","recoverPersistedFrames","analyticsStarted","isSaaS","AutoScreenDetector","require","detector","onScreenChange","screenName","source","screen_name","detection_source","setTrackedScreen","sm","pf","get","setCurrentScreen","getProfilerFeature","prof","sawScreen","warnTimer","setTimeout","unref","version","Version","Dimensions","verdict","w","h","win","width","height","window","next","orientation","Math","round","AppState","screen","getLastKnownScreen","sessionId","startedAt","metadata","buildType","__DEV__","getConfig","teardown","teardownAll"],"sourceRoot":"../../../src","sources":["bootstrap/SDKBootstrapper.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,11 +5,19 @@ export const ConfigSchema = z.object({
|
|
|
5
5
|
projectId: z.string().min(1).optional(),
|
|
6
6
|
publishableKey: z.string().min(1).optional(),
|
|
7
7
|
/**
|
|
8
|
-
* Backend API base URL.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
* Backend API base URL. LOCKED to {@link DEFAULT_API_BASE_URL} — the ScaleBun
|
|
9
|
+
* cloud endpoint is fixed and cannot be overridden by integrators. Any value
|
|
10
|
+
* supplied here is accepted (no validation error, for backward compatibility)
|
|
11
|
+
* but ignored: the bootstrapper force-overwrites it with DEFAULT_API_BASE_URL
|
|
12
|
+
* immediately after parse. To point the SDK at a different backend, change the
|
|
13
|
+
* constant at build time.
|
|
14
|
+
*/
|
|
15
|
+
// Thunk, not a bare string: `default()` is typed `Partial<T> | (() => T)`, and for
|
|
16
|
+
// `z.any()` T is `any`, so `Partial<any>` widens to an index signature that a string
|
|
17
|
+
// does not satisfy. The function overload does, and DefaultSchema calls it only when
|
|
18
|
+
// the input is undefined — identical at runtime, and it type-checks, which `bob build`
|
|
19
|
+
// requires to emit definitions at all.
|
|
20
|
+
apiBaseUrl: z.any().default(() => DEFAULT_API_BASE_URL),
|
|
13
21
|
debug: z.boolean().default(false),
|
|
14
22
|
/**
|
|
15
23
|
* SDK internal log verbosity. Recoverable transport failures are logged at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","DEFAULT_TIER2_SAMPLE_RATE","DEFAULT_API_BASE_URL","ConfigSchema","object","projectId","string","min","optional","publishableKey","apiBaseUrl","
|
|
1
|
+
{"version":3,"names":["z","DEFAULT_TIER2_SAMPLE_RATE","DEFAULT_API_BASE_URL","ConfigSchema","object","projectId","string","min","optional","publishableKey","apiBaseUrl","any","default","debug","boolean","logLevel","enum","flushIntervalMs","number","finalizeOnBackground","idleThresholdMs","sessionBackgroundCapMs","maxQueueSize","enableNetworkMonitoring","captureNetworkBodies","networkBodyMaxBytes","max","persistence","enabled","maxBytes","maxEntries","redactBeforeWrite","clientKey","useObjectStorage","enableNativeFileOutbox","nativeOutboxUploadEnabled","useObjectStorageForFrames","nativeOutboxRetryIntervalMs","nativeOutboxMaxUploadAttempts","nativeOutboxPoisonMaxAttempts","nativeOutboxRespectRetryAfter","nativeOutboxStrictThreeSecondRetry","nativeOutboxNetworkFailuresCountTowardDead","nativeOutboxMaxBytes","nativeOutboxMaxAgeMs","performance","tier1","appLaunch","screenLoad","network","uiHang","tier2","sampleRate","replay","captureMode","intervalMs","quality","deltaEncoding","deltaKeyframeInterval","int","captureInteractionHeatmap","ota","checkOnForeground","channelOverride","publicSigningKey","mandatoryBlocksUi","refine","data","message"],"sourceRoot":"../../../../src","sources":["core/config/schema.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE place that answers "what device is this?".
|
|
3
|
+
*
|
|
4
|
+
* It was previously answered three incompatible ways at once:
|
|
5
|
+
*
|
|
6
|
+
* 1. The replay lane asked the native bridge and got the truth.
|
|
7
|
+
* 2. The analytics lane took `ScaleBun.init({ context })` verbatim and shipped whatever the
|
|
8
|
+
* integrator typed. Production carries `device_model: "android"`, `manufacturer: "android"`
|
|
9
|
+
* and `sdk_version: "qa-app-1.0"` because an app hand-wrote them — none of those are a model,
|
|
10
|
+
* a manufacturer, or an SDK version.
|
|
11
|
+
* 3. Seven call sites wrote `Platform.OS === 'ios' ? 'ios' : 'android'`, which reports every
|
|
12
|
+
* non-iOS platform — windows, macos, web — as Android.
|
|
13
|
+
*
|
|
14
|
+
* Detection belongs to the SDK. An integrator cannot be expected to know the device better than the
|
|
15
|
+
* process running on it, and asking them to means the field is wrong whenever they guess.
|
|
16
|
+
*
|
|
17
|
+
* Every value here is measured or absent. Nothing is defaulted to a plausible-looking constant: a
|
|
18
|
+
* fabricated device model is indistinguishable from a real one to whoever reads the dashboard, which
|
|
19
|
+
* is strictly worse than an empty field.
|
|
20
|
+
*/
|
|
21
|
+
import { SDK_VERSION } from '../constants/version';
|
|
1
22
|
|
|
23
|
+
/**
|
|
24
|
+
* The real `Platform.OS`, never narrowed.
|
|
25
|
+
*
|
|
26
|
+
* React Native's own union is `'ios' | 'android' | 'windows' | 'macos' | 'web'`, and the protocol's
|
|
27
|
+
* platform field is an open enum precisely so new ones travel without a release. Collapsing that to
|
|
28
|
+
* a two-way ternary is what made every macOS and Windows session read as Android.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
function rnPlatform() {
|
|
32
|
+
try {
|
|
33
|
+
return require('react-native').Platform ?? null;
|
|
34
|
+
} catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* `Platform.OS`, verbatim.
|
|
41
|
+
*
|
|
42
|
+
* `'unknown'` when React Native itself cannot be loaded — the previous `catch { return 'android' }`
|
|
43
|
+
* turned "we could not tell" into a confident, wrong answer.
|
|
44
|
+
*/
|
|
45
|
+
export function resolvePlatformOS() {
|
|
46
|
+
const os = rnPlatform()?.OS;
|
|
47
|
+
switch (os) {
|
|
48
|
+
case 'ios':
|
|
49
|
+
case 'android':
|
|
50
|
+
case 'windows':
|
|
51
|
+
case 'macos':
|
|
52
|
+
case 'web':
|
|
53
|
+
return os;
|
|
54
|
+
default:
|
|
55
|
+
// A platform React Native gained after this build. Pass it through rather than guess —
|
|
56
|
+
// the wire's platform field is an open enum for exactly this case.
|
|
57
|
+
return os ?? 'unknown';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* `'ios' | 'android'` for the few call sites whose payload genuinely only has those two, keeping the
|
|
63
|
+
* narrowing HONEST: `null` where it used to silently say Android.
|
|
64
|
+
*/
|
|
65
|
+
export function resolveMobileOS() {
|
|
66
|
+
const os = resolvePlatformOS();
|
|
67
|
+
return os === 'ios' || os === 'android' ? os : null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** The keys this module owns. An integrator-supplied value for any of them is overridden. */
|
|
71
|
+
export const DETECTED_CONTEXT_KEYS = ['sdk_version', 'platform_os', 'os_version', 'device_model', 'manufacturer'];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Everything derivable WITHOUT the native bridge, so the very first event already carries it.
|
|
75
|
+
*
|
|
76
|
+
* The bridge is async and may not be installed at all (Expo Go, an older native binary); waiting on
|
|
77
|
+
* it would leave the opening events of every session unattributed. `Platform.constants` is populated
|
|
78
|
+
* synchronously at startup and covers Android fully — iOS exposes no model there, which is why
|
|
79
|
+
* `device_model` stays absent on iOS until {@link nativeDeviceContext} fills it in.
|
|
80
|
+
*/
|
|
81
|
+
export function staticDeviceContext() {
|
|
82
|
+
const platform = rnPlatform();
|
|
83
|
+
const out = {
|
|
84
|
+
sdk_version: SDK_VERSION,
|
|
85
|
+
platform_os: resolvePlatformOS()
|
|
86
|
+
};
|
|
87
|
+
if (!platform) return out;
|
|
88
|
+
const c = platform.constants ?? {};
|
|
89
|
+
// Android: Release is the marketing version ("14"); Version is the API level (34).
|
|
90
|
+
// iOS: osVersion is the real thing; Platform.Version mirrors it.
|
|
91
|
+
const osVersion = c.Release ?? c.osVersion ?? (platform.Version != null ? String(platform.Version) : undefined);
|
|
92
|
+
if (osVersion) out.os_version = String(osVersion);
|
|
93
|
+
if (c.Model) out.device_model = String(c.Model);
|
|
94
|
+
if (c.Manufacturer) out.manufacturer = String(c.Manufacturer);else if (c.Brand) out.manufacturer = String(c.Brand);
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Bridge values, once the native module answers. Absent keys stay absent. */
|
|
99
|
+
export function nativeDeviceContext(info) {
|
|
100
|
+
const out = {};
|
|
101
|
+
if (!info) return out;
|
|
102
|
+
if (info.osVersion) out.os_version = info.osVersion;
|
|
103
|
+
if (info.deviceModel) out.device_model = info.deviceModel;
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Merge the integrator's context with what we detected — DETECTED WINS on the keys above.
|
|
109
|
+
*
|
|
110
|
+
* The inversion is deliberate. Config normally wins over defaults, but these are not defaults: they
|
|
111
|
+
* are measurements, and a measurement must not be overridable by a guess. Everything outside
|
|
112
|
+
* {@link DETECTED_CONTEXT_KEYS} — `language`, `timezone`, `network_type`, anything app-specific —
|
|
113
|
+
* is still the integrator's to set, untouched.
|
|
114
|
+
*/
|
|
115
|
+
export function mergeDeviceContext(configured, detected = staticDeviceContext()) {
|
|
116
|
+
return {
|
|
117
|
+
...(configured ?? {}),
|
|
118
|
+
...detected
|
|
119
|
+
};
|
|
120
|
+
}
|
|
2
121
|
//# sourceMappingURL=device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["core/context/device.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["SDK_VERSION","rnPlatform","require","Platform","resolvePlatformOS","os","OS","resolveMobileOS","DETECTED_CONTEXT_KEYS","staticDeviceContext","platform","out","sdk_version","platform_os","c","constants","osVersion","Release","Version","String","undefined","os_version","Model","device_model","Manufacturer","manufacturer","Brand","nativeDeviceContext","info","deviceModel","mergeDeviceContext","configured","detected"],"sourceRoot":"../../../../src","sources":["core/context/device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { ReplaySdk } from '../features/replay/public/api';
|
|
9
9
|
import { logger } from '../core/logger/internalLogger';
|
|
10
|
+
import { resolvePlatformOS } from '../core/context/device';
|
|
10
11
|
|
|
11
12
|
// ─── State ──────────────────────────────────────────────────────────────────
|
|
12
13
|
|
|
@@ -85,7 +86,7 @@ export function wireNativeCaptureDeferred(getSessionManager) {
|
|
|
85
86
|
byteSize: result.sizeBytes || Math.round(result.base64.length * 0.75),
|
|
86
87
|
format: result.format ?? 'jpeg',
|
|
87
88
|
frameHash: result.frameHash,
|
|
88
|
-
platform:
|
|
89
|
+
platform: resolvePlatformOS()
|
|
89
90
|
};
|
|
90
91
|
} catch {
|
|
91
92
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReplaySdk","logger","_replaySdkInitialized","_nativeCaptureWired","initReplaySdk","replayConfig","transport","undefined","debug","init","debugTransport","then","info","catch","err","warn","message","recErr","wireNativeCaptureDeferred","getSessionManager","attempt","retryCount","sessionManager","setTimeout","bridgeAdapter","require","Dimensions","Platform","isAvailable","nativeBridgeCapture","_sessionId","_reason","_quality","result","captureScreenshot","base64","width","height","get","Math","round","byteSize","sizeBytes","length","format","frameHash","platform","
|
|
1
|
+
{"version":3,"names":["ReplaySdk","logger","resolvePlatformOS","_replaySdkInitialized","_nativeCaptureWired","initReplaySdk","replayConfig","transport","undefined","debug","init","debugTransport","then","info","catch","err","warn","message","recErr","wireNativeCaptureDeferred","getSessionManager","attempt","retryCount","sessionManager","setTimeout","bridgeAdapter","require","Dimensions","Platform","isAvailable","nativeBridgeCapture","_sessionId","_reason","_quality","result","captureScreenshot","base64","width","height","get","Math","round","byteSize","sizeBytes","length","format","frameHash","platform","setNativeCapture","isReplaySdkInitialized","getReplaySdk","teardownReplay","destroy","resetReplayState"],"sourceRoot":"../../../src","sources":["debug/replayWiring.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F-BUG (React Native) — bug-report feature.
|
|
3
|
+
*
|
|
4
|
+
* Ported from the web SDK's `features/bugreport/BugReportFeature.ts`, deliberately keeping its
|
|
5
|
+
* split: this class is THIN. It raises the capture signal and holds a `submitFn` injected by the
|
|
6
|
+
* facade, which owns session + transport and therefore owns the HTTP. Duplicating the submit here
|
|
7
|
+
* would give the two SDKs two contracts to drift apart.
|
|
8
|
+
*
|
|
9
|
+
* WHAT DOES NOT PORT
|
|
10
|
+
* The web feature lazy-imports a DOM launcher widget (`widget.ts`, 185 lines of document/CSS). RN
|
|
11
|
+
* has no DOM: the form is rendered by `EngagePromptView`, which already exists, already handles the
|
|
12
|
+
* native modal/keyboard behaviour, and is already what `shake_device` puts on screen. Building a
|
|
13
|
+
* second prompt system for this would be the same mistake in a different repo.
|
|
14
|
+
*
|
|
15
|
+
* TRIGGERING
|
|
16
|
+
* `shake_device` is already wired end to end — native CoreMotion/SensorManager →
|
|
17
|
+
* `engageShakeBridge` → `gestureTriggerDetector.reportShake()` → the `$gesture` signal lane → the
|
|
18
|
+
* engage trigger engine. This feature is a submit target for that flow, not a second detector.
|
|
19
|
+
*/
|
|
20
|
+
import { logger } from '../../core/logger/internalLogger';
|
|
21
|
+
|
|
22
|
+
/** Why a submit did not produce a report id. Mirrors the web SDK's discriminated failure union. */
|
|
23
|
+
|
|
24
|
+
/** Resolves to the report id, or to `{ e }` naming WHICH branch failed. */
|
|
25
|
+
|
|
26
|
+
export class BugReportFeature {
|
|
27
|
+
name = 'bugReport';
|
|
28
|
+
active = false;
|
|
29
|
+
submitFn = null;
|
|
30
|
+
/** Raises the 'report' capture signal so replay flushes its buffer into the current session. */
|
|
31
|
+
signalFn = null;
|
|
32
|
+
get isActive() {
|
|
33
|
+
return this.active;
|
|
34
|
+
}
|
|
35
|
+
setup(hooks = {}) {
|
|
36
|
+
this.signalFn = hooks.signal ?? null;
|
|
37
|
+
this.active = true;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Flush replay into the session so the report has its visual context.
|
|
42
|
+
*
|
|
43
|
+
* Fail-soft: replay may be disabled, paused, or unsupported on this build. A report without a
|
|
44
|
+
* replay anchor is still a useful report, so this must never block a submit.
|
|
45
|
+
*/
|
|
46
|
+
signalReport() {
|
|
47
|
+
try {
|
|
48
|
+
this.signalFn?.();
|
|
49
|
+
} catch {
|
|
50
|
+
/* never let a capture-signal failure break a bug report */
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Wired by the facade after init — the full submit path (transport + session + context). */
|
|
55
|
+
setSubmit(fn) {
|
|
56
|
+
this.submitFn = fn;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Submit a report.
|
|
61
|
+
*
|
|
62
|
+
* Returns rather than throws, always. This is called from a UI the host app renders, often from a
|
|
63
|
+
* user gesture; an exception escaping into a React Native render tree is a redbox for the
|
|
64
|
+
* customer's user, over a bug report they were trying to send us.
|
|
65
|
+
*/
|
|
66
|
+
async submit(input) {
|
|
67
|
+
if (!input || !input.message || input.message.trim().length === 0) {
|
|
68
|
+
logger.warn('[scalebun] reportBug: a message is required');
|
|
69
|
+
return {
|
|
70
|
+
e: 'empty'
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// No submitFn means the facade never finished wiring. That is 'init', not a send failure —
|
|
74
|
+
// the distinction is what tells an integrator to check their setup rather than their network.
|
|
75
|
+
if (!this.submitFn) return {
|
|
76
|
+
e: 'init'
|
|
77
|
+
};
|
|
78
|
+
if (input.voice && !input.voice.transcriptApproved) {
|
|
79
|
+
// Refused rather than silently stripped: dropping the attachment would send a report the user
|
|
80
|
+
// believes contains their voice note, and they would never learn it did not.
|
|
81
|
+
logger.warn('[scalebun] reportBug: voice note has no approved transcript — not sending');
|
|
82
|
+
return {
|
|
83
|
+
e: 'empty'
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
// Order matters and mirrors the web path: signal BEFORE submit so the replay bytes are already
|
|
88
|
+
// in flight, and so the report's replay coordinate refers to a frame that exists. A flush
|
|
89
|
+
// cannot retroactively manufacture a frame, so a missing anchor must stay missing rather than
|
|
90
|
+
// become a misleading "start of session" link in the dashboard.
|
|
91
|
+
this.signalReport();
|
|
92
|
+
return await this.submitFn(input);
|
|
93
|
+
} catch {
|
|
94
|
+
return {
|
|
95
|
+
e: 'send'
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
teardown() {
|
|
100
|
+
this.submitFn = null;
|
|
101
|
+
this.signalFn = null;
|
|
102
|
+
this.active = false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=BugReportFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["logger","BugReportFeature","name","active","submitFn","signalFn","isActive","setup","hooks","signal","signalReport","setSubmit","fn","submit","input","message","trim","length","warn","e","voice","transcriptApproved","teardown"],"sourceRoot":"../../../../src","sources":["features/bugreport/BugReportFeature.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,kCAAkC;;AAGzD;;AAGA;;AA0BA,OAAO,MAAMC,gBAAgB,CAAC;EACnBC,IAAI,GAAG,WAAW;EAEnBC,MAAM,GAAG,KAAK;EACdC,QAAQ,GAAoB,IAAI;EACxC;EACQC,QAAQ,GAAwB,IAAI;EAE5C,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAACH,MAAM;EACpB;EAEAI,KAAKA,CAACC,KAA8B,GAAG,CAAC,CAAC,EAAQ;IAC/C,IAAI,CAACH,QAAQ,GAAGG,KAAK,CAACC,MAAM,IAAI,IAAI;IACpC,IAAI,CAACN,MAAM,GAAG,IAAI;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEO,YAAYA,CAAA,EAAS;IACnB,IAAI;MACF,IAAI,CAACL,QAAQ,GAAG,CAAC;IACnB,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;;EAEA;EACAM,SAASA,CAACC,EAAY,EAAQ;IAC5B,IAAI,CAACR,QAAQ,GAAGQ,EAAE;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAMA,CAACC,KAAqB,EAA4B;IAC5D,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,OAAO,IAAID,KAAK,CAACC,OAAO,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE;MACjEjB,MAAM,CAACkB,IAAI,CAAC,6CAA6C,CAAC;MAC1D,OAAO;QAAEC,CAAC,EAAE;MAAQ,CAAC;IACvB;IACA;IACA;IACA,IAAI,CAAC,IAAI,CAACf,QAAQ,EAAE,OAAO;MAAEe,CAAC,EAAE;IAAO,CAAC;IAExC,IAAIL,KAAK,CAACM,KAAK,IAAI,CAACN,KAAK,CAACM,KAAK,CAACC,kBAAkB,EAAE;MAClD;MACA;MACArB,MAAM,CAACkB,IAAI,CAAC,2EAA2E,CAAC;MACxF,OAAO;QAAEC,CAAC,EAAE;MAAQ,CAAC;IACvB;IAEA,IAAI;MACF;MACA;MACA;MACA;MACA,IAAI,CAACT,YAAY,CAAC,CAAC;MACnB,OAAO,MAAM,IAAI,CAACN,QAAQ,CAACU,KAAK,CAAC;IACnC,CAAC,CAAC,MAAM;MACN,OAAO;QAAEK,CAAC,EAAE;MAAO,CAAC;IACtB;EACF;EAEAG,QAAQA,CAAA,EAAS;IACf,IAAI,CAAClB,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACF,MAAM,GAAG,KAAK;EACrB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds the body for POST /ingestion/sessions/:sessionId/bug-reports.
|
|
3
|
+
*
|
|
4
|
+
* Kept as a PURE function with no transport, no bridge and no clock of its own, because the wire
|
|
5
|
+
* shape is a cross-repo contract and the only way to keep it honest is to be able to assert it
|
|
6
|
+
* directly. Every bound below is copied from the server DTO
|
|
7
|
+
* (wzb-dashboard-backend/src/features/bug-reports/dto/submit-bug-report.dto.ts) rather than guessed:
|
|
8
|
+
*
|
|
9
|
+
* clientReportId? string idempotency key -> BugReport.clientReportId (@unique)
|
|
10
|
+
* title? string <= 300
|
|
11
|
+
* message string <= 20000 -> BugReport.description (REQUIRED)
|
|
12
|
+
* email? string <= 320
|
|
13
|
+
* url? string <= 2000
|
|
14
|
+
* console? unknown[] recent breadcrumbs
|
|
15
|
+
* screenshotKey? string <= 512, [A-Za-z0-9._/-] and no ".."
|
|
16
|
+
* timestamp? number 2000-01-01 .. 2100-01-01 in epoch MILLIS
|
|
17
|
+
* replaySeq? int 0 .. 2147483647
|
|
18
|
+
* replaySegmentId? string <= 256
|
|
19
|
+
*
|
|
20
|
+
* Truncating here rather than letting the server 400 is deliberate: a 20,001-character description
|
|
21
|
+
* is a real report from a real annoyed user, and losing it to a validation error helps nobody. The
|
|
22
|
+
* ceiling is theirs, so we respect it at the edge. Nothing is silently REWRITTEN — only cut, and
|
|
23
|
+
* only at bounds the server would otherwise reject outright.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** Mirrors SubmitBugReportDto. Optional keys are omitted entirely rather than sent as undefined. */
|
|
27
|
+
|
|
28
|
+
const MAX_TITLE = 300;
|
|
29
|
+
const MAX_MESSAGE = 20_000;
|
|
30
|
+
const MAX_EMAIL = 320;
|
|
31
|
+
const MAX_SEGMENT_ID = 256;
|
|
32
|
+
/** The server rejects outside these; a drifted device clock must not cost us the whole report. */
|
|
33
|
+
const TS_MIN = 946684800000; // 2000-01-01
|
|
34
|
+
const TS_MAX = 4102444800000; // 2100-01-01
|
|
35
|
+
const MAX_BREADCRUMBS = 50;
|
|
36
|
+
function clip(v, max) {
|
|
37
|
+
if (typeof v !== 'string') return undefined;
|
|
38
|
+
const t = v.trim();
|
|
39
|
+
return t.length === 0 ? undefined : t.slice(0, max);
|
|
40
|
+
}
|
|
41
|
+
export function buildBugReportPayload(input, breadcrumbs = [], ctx = {}) {
|
|
42
|
+
const message = (input.message ?? '').trim().slice(0, MAX_MESSAGE);
|
|
43
|
+
const payload = {
|
|
44
|
+
message
|
|
45
|
+
};
|
|
46
|
+
const title = clip(input.title, MAX_TITLE);
|
|
47
|
+
if (title) payload.title = title;
|
|
48
|
+
const email = clip(input.email, MAX_EMAIL);
|
|
49
|
+
if (email) payload.email = email;
|
|
50
|
+
const clientReportId = clip(input.clientReportId, 200);
|
|
51
|
+
if (clientReportId) payload.clientReportId = clientReportId;
|
|
52
|
+
if (breadcrumbs.length > 0) payload.console = breadcrumbs.slice(-MAX_BREADCRUMBS);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* An out-of-range clock is DROPPED, not clamped.
|
|
56
|
+
*
|
|
57
|
+
* Clamping would invent a `reportedAt` the device never observed, and the server keeps that column
|
|
58
|
+
* separate from `createdAt` precisely so the two can be compared. A missing client time is honest;
|
|
59
|
+
* a fabricated one silently corrupts that comparison.
|
|
60
|
+
*/
|
|
61
|
+
const ts = ctx.timestamp;
|
|
62
|
+
if (typeof ts === 'number' && Number.isFinite(ts) && ts >= TS_MIN && ts <= TS_MAX) {
|
|
63
|
+
payload.timestamp = ts;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The replay anchor is included ONLY when a frame actually existed at submit time.
|
|
68
|
+
*
|
|
69
|
+
* Defaulting `replaySeq` to 0 would point every anchor-less report at the start of the session,
|
|
70
|
+
* which reads in the dashboard exactly like a real anchor and is wrong. Replay may be disabled,
|
|
71
|
+
* paused, or yet to produce a frame; absent must stay absent.
|
|
72
|
+
*/
|
|
73
|
+
const seq = ctx.replayCoord?.seq;
|
|
74
|
+
if (typeof seq === 'number' && Number.isInteger(seq) && seq >= 0 && seq <= 2147483647) {
|
|
75
|
+
payload.replaySeq = seq;
|
|
76
|
+
const segmentId = clip(ctx.replayCoord?.segmentId ?? undefined, MAX_SEGMENT_ID);
|
|
77
|
+
if (segmentId) payload.replaySegmentId = segmentId;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* `url` is intentionally NEVER set on React Native.
|
|
82
|
+
*
|
|
83
|
+
* The field means a page URL. The nearest mobile concept is the current screen name, and putting
|
|
84
|
+
* a screen name in a column called `url` is exactly the field-misuse that makes a dashboard show
|
|
85
|
+
* one thing and mean another. Screen context already reaches the report through the session it is
|
|
86
|
+
* attached to. If mobile needs its own field, that is a schema change, not a reused column.
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
return payload;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=buildPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MAX_TITLE","MAX_MESSAGE","MAX_EMAIL","MAX_SEGMENT_ID","TS_MIN","TS_MAX","MAX_BREADCRUMBS","clip","v","max","undefined","t","trim","length","slice","buildBugReportPayload","input","breadcrumbs","ctx","message","payload","title","email","clientReportId","console","ts","timestamp","Number","isFinite","seq","replayCoord","isInteger","replaySeq","segmentId","replaySegmentId"],"sourceRoot":"../../../../src","sources":["features/bugreport/buildPayload.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAmBA,MAAMA,SAAS,GAAG,GAAG;AACrB,MAAMC,WAAW,GAAG,MAAM;AAC1B,MAAMC,SAAS,GAAG,GAAG;AACrB,MAAMC,cAAc,GAAG,GAAG;AAC1B;AACA,MAAMC,MAAM,GAAG,YAAY,CAAC,CAAC;AAC7B,MAAMC,MAAM,GAAG,aAAa,CAAC,CAAC;AAC9B,MAAMC,eAAe,GAAG,EAAE;AAE1B,SAASC,IAAIA,CAACC,CAA4B,EAAEC,GAAW,EAAsB;EAC3E,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE,OAAOE,SAAS;EAC3C,MAAMC,CAAC,GAAGH,CAAC,CAACI,IAAI,CAAC,CAAC;EAClB,OAAOD,CAAC,CAACE,MAAM,KAAK,CAAC,GAAGH,SAAS,GAAGC,CAAC,CAACG,KAAK,CAAC,CAAC,EAAEL,GAAG,CAAC;AACrD;AAEA,OAAO,SAASM,qBAAqBA,CACnCC,KAAmF,EACnFC,WAA+B,GAAG,EAAE,EACpCC,GAA6D,GAAG,CAAC,CAAC,EAChD;EAClB,MAAMC,OAAO,GAAG,CAACH,KAAK,CAACG,OAAO,IAAI,EAAE,EAAEP,IAAI,CAAC,CAAC,CAACE,KAAK,CAAC,CAAC,EAAEb,WAAW,CAAC;EAElE,MAAMmB,OAAyB,GAAG;IAAED;EAAQ,CAAC;EAE7C,MAAME,KAAK,GAAGd,IAAI,CAACS,KAAK,CAACK,KAAK,EAAErB,SAAS,CAAC;EAC1C,IAAIqB,KAAK,EAAED,OAAO,CAACC,KAAK,GAAGA,KAAK;EAEhC,MAAMC,KAAK,GAAGf,IAAI,CAACS,KAAK,CAACM,KAAK,EAAEpB,SAAS,CAAC;EAC1C,IAAIoB,KAAK,EAAEF,OAAO,CAACE,KAAK,GAAGA,KAAK;EAEhC,MAAMC,cAAc,GAAGhB,IAAI,CAACS,KAAK,CAACO,cAAc,EAAE,GAAG,CAAC;EACtD,IAAIA,cAAc,EAAEH,OAAO,CAACG,cAAc,GAAGA,cAAc;EAE3D,IAAIN,WAAW,CAACJ,MAAM,GAAG,CAAC,EAAEO,OAAO,CAACI,OAAO,GAAGP,WAAW,CAACH,KAAK,CAAC,CAACR,eAAe,CAAC;;EAEjF;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMmB,EAAE,GAAGP,GAAG,CAACQ,SAAS;EACxB,IAAI,OAAOD,EAAE,KAAK,QAAQ,IAAIE,MAAM,CAACC,QAAQ,CAACH,EAAE,CAAC,IAAIA,EAAE,IAAIrB,MAAM,IAAIqB,EAAE,IAAIpB,MAAM,EAAE;IACjFe,OAAO,CAACM,SAAS,GAAGD,EAAE;EACxB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMI,GAAG,GAAGX,GAAG,CAACY,WAAW,EAAED,GAAG;EAChC,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIF,MAAM,CAACI,SAAS,CAACF,GAAG,CAAC,IAAIA,GAAG,IAAI,CAAC,IAAIA,GAAG,IAAI,UAAU,EAAE;IACrFT,OAAO,CAACY,SAAS,GAAGH,GAAG;IACvB,MAAMI,SAAS,GAAG1B,IAAI,CAACW,GAAG,CAACY,WAAW,EAAEG,SAAS,IAAIvB,SAAS,EAAEP,cAAc,CAAC;IAC/E,IAAI8B,SAAS,EAAEb,OAAO,CAACc,eAAe,GAAGD,SAAS;EACpD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAEE,OAAOb,OAAO;AAChB","ignoreList":[]}
|
|
@@ -84,11 +84,35 @@ export class BackendErrorsSink {
|
|
|
84
84
|
deliver(report) {
|
|
85
85
|
const transport = SessionManager.getExistingInstance()?.getBackendTransport();
|
|
86
86
|
if (!transport) return;
|
|
87
|
+
// D12: this used to forward four fields and drop the rest — so a native
|
|
88
|
+
// crash's signal/thread/exception-type were captured on device and
|
|
89
|
+
// discarded one call before the wire, every RN error row had a NULL
|
|
90
|
+
// platform (making Issue.primaryPlatform mean "web-only"), and fatality
|
|
91
|
+
// was indistinguishable from a handled error. The receiver has always
|
|
92
|
+
// accepted all of these.
|
|
87
93
|
transport.queueError({
|
|
88
94
|
type: report.type,
|
|
89
95
|
message: report.message,
|
|
90
96
|
stack: report.stack,
|
|
91
|
-
screenName: report.screenName
|
|
97
|
+
screenName: report.screenName,
|
|
98
|
+
platform: report.platform,
|
|
99
|
+
isFatal: report.isFatal,
|
|
100
|
+
metadata: report.metadata,
|
|
101
|
+
/**
|
|
102
|
+
* Carried through so the transport can address the ORIGINAL session.
|
|
103
|
+
*
|
|
104
|
+
* Set only on a recovered native crash, whose session died with its process. Omitted
|
|
105
|
+
* for every live report, where the current session is the right answer — so this
|
|
106
|
+
* changes nothing about normal error delivery.
|
|
107
|
+
*/
|
|
108
|
+
...(report.sessionId ? {
|
|
109
|
+
sessionId: report.sessionId
|
|
110
|
+
} : {}),
|
|
111
|
+
// Becomes SessionError.clientId, which is @unique — that constraint is what turns a
|
|
112
|
+
// retried crash into one record instead of a duplicate.
|
|
113
|
+
...(report.crashId ? {
|
|
114
|
+
clientId: report.crashId
|
|
115
|
+
} : {})
|
|
92
116
|
});
|
|
93
117
|
// Best-effort immediate delivery so the crash surfaces quickly.
|
|
94
118
|
transport.flushErrors().catch(() => {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["noThrow","SessionManager","CrashReporter","sinks","registerSink","sink","push","i","indexOf","splice","report","deliver","DesktopEventSink","name","constructor","trackFn","message","stack","isFatal","type","source","screenName","platform","metadata","BackendErrorsSink","transport","getExistingInstance","getBackendTransport","queueError","flushErrors","catch","_reporter","getCrashReporter","resetCrashReporter"],"sourceRoot":"../../../../src","sources":["features/crash/CrashReporter.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,gCAAgC;AACxD,SAASC,cAAc,QAAQ,2BAA2B;;AAE1D;;AAGA;;
|
|
1
|
+
{"version":3,"names":["noThrow","SessionManager","CrashReporter","sinks","registerSink","sink","push","i","indexOf","splice","report","deliver","DesktopEventSink","name","constructor","trackFn","message","stack","isFatal","type","source","screenName","platform","metadata","BackendErrorsSink","transport","getExistingInstance","getBackendTransport","queueError","sessionId","crashId","clientId","flushErrors","catch","_reporter","getCrashReporter","resetCrashReporter"],"sourceRoot":"../../../../src","sources":["features/crash/CrashReporter.ts"],"mappings":"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","ignoreList":[]}
|