@scalebun/react-native 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/android/src/main/java/com/scalebun/rn/ota/SlotManager.kt +70 -4
- 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 +31 -23
- package/lib/commonjs/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/commonjs/compat/codepush.js +78 -15
- package/lib/commonjs/compat/codepush.js.map +1 -1
- package/lib/commonjs/core/config/schema.js +26 -5
- package/lib/commonjs/core/config/schema.js.map +1 -1
- package/lib/commonjs/core/constants/endpoints.js +9 -6
- package/lib/commonjs/core/constants/endpoints.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 +72 -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 +199 -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 +29 -21
- package/lib/module/bootstrap/SDKBootstrapper.js.map +1 -1
- package/lib/module/compat/codepush.js +77 -14
- package/lib/module/compat/codepush.js.map +1 -1
- package/lib/module/core/config/schema.js +26 -5
- package/lib/module/core/config/schema.js.map +1 -1
- package/lib/module/core/constants/endpoints.js +9 -6
- package/lib/module/core/constants/endpoints.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 +72 -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 +4 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/public/ScaleBunFacade.js +199 -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/compat/codepush.d.ts +27 -4
- package/lib/typescript/compat/codepush.d.ts.map +1 -1
- package/lib/typescript/core/config/schema.d.ts +4 -1
- package/lib/typescript/core/config/schema.d.ts.map +1 -1
- package/lib/typescript/core/constants/endpoints.d.ts +9 -6
- package/lib/typescript/core/constants/endpoints.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/EngageTransport.d.ts +1 -1
- package/lib/typescript/features/engage/EngageTransport.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 +14 -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 +69 -0
- package/lib/typescript/public/ScaleBunFacade.d.ts.map +1 -1
- package/lib/typescript/public/types.d.ts +34 -8
- package/lib/typescript/public/types.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 +27 -23
- package/src/compat/codepush.ts +87 -16
- package/src/core/config/schema.ts +26 -5
- package/src/core/constants/endpoints.ts +9 -6
- 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/EngageTransport.ts +1 -1
- 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 +84 -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 +4 -1
- package/src/public/ScaleBunFacade.ts +198 -2
- package/src/public/types.ts +35 -8
- package/src/specs/NativeScaleBunCrash.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","createContext","useContext","View","NativeEventEmitter","NativeModules","emitAutomaticEvent","resolveTouchTarget","describeTouchTarget","jsx","_jsx","_bootstrap","getBootstrap","require","JourneyContext","ScaleBunDebugRoot","children","navigationRef","captureAutomaticInteractions","suppressDeprecationWarning","rootRef","managerRef","initializedRef","current","console","warn","bs","e","message","isDebugEnabled","transport","journeyConfig","enabled","_setDebugReady","_getTransport","_getJourneyConfig","SessionManager","sessionManager","getExistingInstance","setTimeout","bridgeAdapter","Dimensions","Platform","isAvailable","nativeBridgeCapture","_sessionId","_reason","_quality","result","captureScreenshot","base64","width","height","get","Math","round","byteSize","sizeBytes","length","format","frameHash","platform","OS","setNativeCapture","capErr","AutoScreenDetector","getInstance","setNavigationRef","JourneyManager","manager","commands","_getCommands","setJourneyManager","setJourneyEnabled","setDebugReady","timer","initialize","navContainer","addListener","state","getRootState","nav","handleNavigationStateChange","clearTimeout","lastNativeTouchTsRef","nativeTrackingConfirmedRef","pendingJsEmitRef","subscription","nativeModule","ReplaySdk","emitter","event","Date","now","sm","onGestureDetected","_diagWinW","_diagWinH","_d","gestureType","x","rawX","y","rawY","endX","rawEndX","endY","rawEndY","normalizedX","normalizedY","normalizedEndX","normalizedEndY","viewportWidth","screenshotWidthPx","viewportHeight","screenshotHeightPx","durationMs","confidence","coordinateSpace","safeAreaTop","source","windowWidth","windowHeight","remove","touchStartRef","rootRectRef","measureRoot","node","measureInWindow","w","h","attempts","tryMeasure","t","handleTouchStart","touch","nativeEvent","pageX","pageY","ts","handleTouchEnd","start","vpW","vpH","screenW","screenH","statusBarHeight","StatusBar","dims","scr","currentHeight","rootRect","tapped","gestureDetails","target","locationX","locationY","undefined","nx","max","min","ny","normalizedPrecomputed","rootViewTop","rootViewLeft","screenWidth","screenHeight","rootViewWidth","rootViewHeight","logger","debug","toFixed","dx","dy","dist","sqrt","duration","abs","direction","distance","targetInfo","_extractTarget","testId","accessibilityLabel","screen","getCurrentScreen","gesture_type","screen_name","target_id","normalized_x","normalized_y","duration_ms","gestureTriggerDetector","recordTap","hasTarget","sinceNative","capturedType","capturedDetails","ref","style","styles","root","collapsable","onStartShouldSetResponderCapture","onMoveShouldSetResponderCapture","onTouchStart","onTouchEnd","Provider","value","ScaleBunScreen","name","useScaleBunScreen","onScreenChange","perfFeature","getPerformanceFeature","setCurrentScreen","profilerFeature","getProfilerFeature","_isJourneyEnabled","JM","fallback","setScreen","props","_internalFiberInstanceHandleDEV","memoizedProps","testID","nativeID","text","flex"],"sourceRoot":"../../../../src","sources":["features/journey/ScaleBunDebugRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","createContext","useContext","View","NativeEventEmitter","NativeModules","emitAutomaticEvent","resolveTouchTarget","describeTouchTarget","resolvePlatformOS","jsx","_jsx","_bootstrap","getBootstrap","require","JourneyContext","ScaleBunDebugRoot","children","navigationRef","captureAutomaticInteractions","suppressDeprecationWarning","rootRef","managerRef","initializedRef","current","console","warn","bs","e","message","isDebugEnabled","transport","journeyConfig","enabled","_setDebugReady","_getTransport","_getJourneyConfig","SessionManager","sessionManager","getExistingInstance","setTimeout","bridgeAdapter","Dimensions","Platform","isAvailable","nativeBridgeCapture","_sessionId","_reason","_quality","result","captureScreenshot","base64","width","height","get","Math","round","byteSize","sizeBytes","length","format","frameHash","platform","setNativeCapture","capErr","AutoScreenDetector","getInstance","setNavigationRef","JourneyManager","manager","commands","_getCommands","setJourneyManager","setJourneyEnabled","setDebugReady","timer","initialize","navContainer","addListener","state","getRootState","nav","handleNavigationStateChange","clearTimeout","lastNativeTouchTsRef","nativeTrackingConfirmedRef","pendingJsEmitRef","subscription","nativeModule","ReplaySdk","emitter","event","Date","now","sm","onGestureDetected","_diagWinW","_diagWinH","_d","gestureType","x","rawX","y","rawY","endX","rawEndX","endY","rawEndY","normalizedX","normalizedY","normalizedEndX","normalizedEndY","viewportWidth","screenshotWidthPx","viewportHeight","screenshotHeightPx","durationMs","confidence","coordinateSpace","safeAreaTop","source","windowWidth","windowHeight","remove","touchStartRef","rootRectRef","measureRoot","node","measureInWindow","w","h","attempts","tryMeasure","t","handleTouchStart","touch","nativeEvent","pageX","pageY","ts","handleTouchEnd","start","vpW","vpH","screenW","screenH","statusBarHeight","StatusBar","dims","scr","OS","currentHeight","rootRect","tapped","gestureDetails","target","locationX","locationY","undefined","nx","max","min","ny","normalizedPrecomputed","rootViewTop","rootViewLeft","screenWidth","screenHeight","rootViewWidth","rootViewHeight","logger","debug","toFixed","dx","dy","dist","sqrt","duration","abs","direction","distance","targetInfo","_extractTarget","testId","accessibilityLabel","screen","getCurrentScreen","gesture_type","screen_name","target_id","normalized_x","normalized_y","duration_ms","gestureTriggerDetector","recordTap","hasTarget","sinceNative","capturedType","capturedDetails","ref","style","styles","root","collapsable","onStartShouldSetResponderCapture","onMoveShouldSetResponderCapture","onTouchStart","onTouchEnd","Provider","value","ScaleBunScreen","name","useScaleBunScreen","onScreenChange","perfFeature","getPerformanceFeature","setCurrentScreen","profilerFeature","getProfilerFeature","_isJourneyEnabled","JM","fallback","setScreen","props","_internalFiberInstanceHandleDEV","memoizedProps","testID","nativeID","text","flex"],"sourceRoot":"../../../../src","sources":["features/journey/ScaleBunDebugRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,10 +3,14 @@ import { logger } from '../../core/logger/internalLogger';
|
|
|
3
3
|
import { noThrow } from '../../core/lifecycle/crashSafe';
|
|
4
4
|
import NativeScaleBunOta from '../../specs/NativeScaleBunOta';
|
|
5
5
|
import { otaEventEmitter } from './OtaEventEmitter';
|
|
6
|
+
import { getDeviceCountry, prefetchDeviceCountry } from './geoCountry';
|
|
7
|
+
import { deviceTargetingAttributes } from './deviceAttributes';
|
|
8
|
+
import { K_INSTALLATION_ID } from '../../analytics/EventTracker';
|
|
6
9
|
import { verifyBundleSignature } from './signature';
|
|
7
10
|
import { detectOtaEnvironment } from './environment';
|
|
8
11
|
import { retryWithBackoff, isRetryableNetworkError, HttpStatusError } from './retry';
|
|
9
12
|
import { createStorageBackend } from '../../storage/StorageBackend';
|
|
13
|
+
import { resolveMobileOS } from '../../core/context/device';
|
|
10
14
|
|
|
11
15
|
/**
|
|
12
16
|
* Identity marker injected into the bundle by `scalebun ota publish` before
|
|
@@ -52,6 +56,34 @@ function subscribeNativeProgress(onTick) {
|
|
|
52
56
|
/** POST at most once per this interval; first and terminal ticks always go. */
|
|
53
57
|
const PROGRESS_POST_INTERVAL_MS = 1_000;
|
|
54
58
|
|
|
59
|
+
/**
|
|
60
|
+
* P8 — the SDK's canonical per-install id, shared with the analytics lane.
|
|
61
|
+
*
|
|
62
|
+
* OTA used to REQUIRE a caller-supplied `installationId`, and the documented
|
|
63
|
+
* example passed `deviceId` — so OTA telemetry lived in its own identity
|
|
64
|
+
* namespace, disconnected from the id every other lane reports. Every join
|
|
65
|
+
* from OTA data to CDP data (blast radius, MRR-at-risk, churn bands) was a
|
|
66
|
+
* cross-namespace join that matched by luck.
|
|
67
|
+
*
|
|
68
|
+
* Reads (or mints, for OTA-only apps that never initialize analytics) the same
|
|
69
|
+
* persisted value `EventTracker` uses, via the same storage backend and the
|
|
70
|
+
* same exported key — one install, one id, every lane.
|
|
71
|
+
*/
|
|
72
|
+
function resolveInstallationId() {
|
|
73
|
+
try {
|
|
74
|
+
const storage = createStorageBackend();
|
|
75
|
+
const existing = storage.get(K_INSTALLATION_ID);
|
|
76
|
+
if (existing) return existing;
|
|
77
|
+
const id = `inst-${Math.random().toString(36).slice(2, 10)}${Math.random().toString(36).slice(2, 10)}`;
|
|
78
|
+
storage.set(K_INSTALLATION_ID, id);
|
|
79
|
+
return id;
|
|
80
|
+
} catch {
|
|
81
|
+
// Storage unavailable (tests, exotic hosts): a per-process id keeps sync
|
|
82
|
+
// functional; it will stabilize on the first run where storage works.
|
|
83
|
+
return `inst-ephemeral-${Math.random().toString(36).slice(2, 10)}`;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
55
87
|
/**
|
|
56
88
|
* Deliver queued OTA lifecycle events to the backend's batch endpoint.
|
|
57
89
|
*
|
|
@@ -73,12 +105,17 @@ const PROGRESS_POST_INTERVAL_MS = 1_000;
|
|
|
73
105
|
async function deliverOtaEvents(params) {
|
|
74
106
|
const events = otaEventEmitter.flush();
|
|
75
107
|
if (!events.length) return;
|
|
108
|
+
// A platform OTA cannot serve is not reported as Android — it is not reported at all.
|
|
109
|
+
const mobileOS = resolveMobileOS();
|
|
110
|
+
if (!mobileOS) return;
|
|
76
111
|
const items = events.map(e => ({
|
|
77
112
|
kind: 'ota_event',
|
|
78
113
|
type: e.type,
|
|
79
114
|
bundleId: e.bundleId,
|
|
80
115
|
installationId: params.installationId,
|
|
81
|
-
platform
|
|
116
|
+
// OTA bundles are compiled per platform, so this genuinely is ios|android. Narrowed via
|
|
117
|
+
// resolveMobileOS so a non-mobile RN target is skipped rather than served an Android bundle.
|
|
118
|
+
platform: mobileOS,
|
|
82
119
|
appVersion: params.appVersion,
|
|
83
120
|
durationMs: e.durationMs,
|
|
84
121
|
errorCode: e.error ?? e.reason,
|
|
@@ -116,6 +153,15 @@ const DEFAULT_MAX_REVERT_ATTEMPTS = 2;
|
|
|
116
153
|
export class OtaOrchestrator {
|
|
117
154
|
enabled = false;
|
|
118
155
|
currentBundle = null;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* The bundle this process is running, once hydrated from the native slots.
|
|
159
|
+
* Read-only view for integrations (e.g. the CodePush shim's
|
|
160
|
+
* getUpdateMetadata) that need to report the running version.
|
|
161
|
+
*/
|
|
162
|
+
getCurrentBundle() {
|
|
163
|
+
return this.currentBundle;
|
|
164
|
+
}
|
|
119
165
|
isRestartRequiredState = false;
|
|
120
166
|
healthyTimer = null;
|
|
121
167
|
bootGuardConfig = {};
|
|
@@ -186,6 +232,11 @@ export class OtaOrchestrator {
|
|
|
186
232
|
// no way to know what the device was actually on.
|
|
187
233
|
this.hydrateCurrentBundleFromSlots();
|
|
188
234
|
|
|
235
|
+
// Warm the device-country cache (edge Worker lookup) so checks can carry
|
|
236
|
+
// a country when the API itself sits behind no geo-stamping CDN.
|
|
237
|
+
// Fire-and-forget and failure-soft — a check without a country is valid.
|
|
238
|
+
void prefetchDeviceCountry();
|
|
239
|
+
|
|
189
240
|
// Prove the bundle we installed is the bundle that loaded.
|
|
190
241
|
this.verifyRunningBundleIdentity();
|
|
191
242
|
|
|
@@ -373,15 +424,27 @@ export class OtaOrchestrator {
|
|
|
373
424
|
// never carried it — so every device resolved to `default` no matter what
|
|
374
425
|
// the host app asked for. Undefined fields are omitted by JSON.stringify,
|
|
375
426
|
// so an app that supplies nothing behaves exactly as before.
|
|
427
|
+
// OTA has no bundle for a non-mobile target; claiming Android there would install the wrong one.
|
|
428
|
+
const mobileOS = resolveMobileOS();
|
|
429
|
+
if (!mobileOS) throw new Error('OTA is not supported on this platform');
|
|
376
430
|
const payload = {
|
|
377
431
|
appVersion: requestParams.appVersion,
|
|
378
|
-
platform:
|
|
432
|
+
platform: mobileOS,
|
|
379
433
|
installationId: requestParams.installationId,
|
|
380
434
|
currentBundleId: this.currentBundle?.id,
|
|
381
435
|
currentBundleHash: this.currentBundle?.sha256,
|
|
382
436
|
channelName: requestParams.channelName,
|
|
383
|
-
country
|
|
384
|
-
|
|
437
|
+
// Host-supplied country wins; otherwise the cached edge-Worker lookup
|
|
438
|
+
// fills in (see geoCountry.ts). Undefined when neither knows — the
|
|
439
|
+
// server renders unknown as unknown rather than guessing.
|
|
440
|
+
country: requestParams.country ?? getDeviceCountry() ?? undefined,
|
|
441
|
+
// Hardware/OS context under the host's own attributes (host wins on
|
|
442
|
+
// collision) — this is what lets ATTRIBUTE rules target device classes
|
|
443
|
+
// (deviceModel / manufacturer / brand / osVersion / formFactor).
|
|
444
|
+
attributes: {
|
|
445
|
+
...deviceTargetingAttributes(),
|
|
446
|
+
...requestParams.attributes
|
|
447
|
+
},
|
|
385
448
|
segmentIds: requestParams.segmentIds,
|
|
386
449
|
lifecycleStage: requestParams.lifecycleStage,
|
|
387
450
|
// Runtime compatibility context. Without these the backend cannot tell
|
|
@@ -425,7 +488,11 @@ export class OtaOrchestrator {
|
|
|
425
488
|
* Downloads, stage, and apply an update in one step.
|
|
426
489
|
* Sprint 5: emits lifecycle events + starts boot-guard heartbeat.
|
|
427
490
|
*/
|
|
428
|
-
async sync(
|
|
491
|
+
async sync(rawParams) {
|
|
492
|
+
const params = {
|
|
493
|
+
...rawParams,
|
|
494
|
+
installationId: rawParams.installationId ?? resolveInstallationId()
|
|
495
|
+
};
|
|
429
496
|
try {
|
|
430
497
|
if (!this.enabled || !NativeScaleBunOta) {
|
|
431
498
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","DeviceEventEmitter","DevSettings","NativeEventEmitter","NativeModules","Platform","logger","noThrow","NativeScaleBunOta","otaEventEmitter","verifyBundleSignature","detectOtaEnvironment","retryWithBackoff","isRetryableNetworkError","HttpStatusError","createStorageBackend","readRunningBundleMarker","id","globalThis","__SCALEBUN_OTA_ID__","length","subscribeNativeProgress","onTick","OS","eventsModule","ScaleBunOtaEvents","emitter","sub","addListener","remove","PROGRESS_POST_INTERVAL_MS","deliverOtaEvents","params","events","flush","items","map","e","kind","type","bundleId","installationId","platform","appVersion","durationMs","errorCode","error","reason","patchUsed","timestamp","base","apiUrl","replace","res","fetch","method","headers","clientKey","body","JSON","stringify","ok","Error","status","debug","err","emit","message","DEFAULT_HEALTHY_AFTER_MS","DEFAULT_MAX_REVERT_ATTEMPTS","OtaOrchestrator","enabled","currentBundle","isRestartRequiredState","healthyTimer","bootGuardConfig","environment","initialized","storageBackend","init","config","signatureConfig","signature","warn","supported","blockReason","bridgeless","rnVersion","requiresReactHostIntegration","rnVersionString","hermes","hermesBytecodeVersion","hydrateCurrentBundleFromSlots","verifyRunningBundleIdentity","checkBootGuardRecovery","state","parse","getSlotState","current","sha256","record","readInstallRecord","version","String","slice","running","expected","readInstallExpectation","clearInstallExpectation","identityToken","emitSimple","INSTALL_EXPECTATION_KEY","recordInstallExpectation","bundle","storage","set","raw","get","parsed","stateJson","bootGuardReverted","previous","isEnabled","isRestartRequired","checkForUpdate","requestParams","env","payload","currentBundleId","currentBundleHash","channelName","country","attributes","segmentIds","lifecycleStage","undefined","url","data","json","label","isRetryable","action","sync","checkRes","startBootGuardHeartbeat","reverted","revertToPrevious","autoRestart","restart","signatureOutcome","downloadStart","Date","now","lastPostAt","postProgress","bytesRead","total","size","Math","max","percent","min","round","elapsedS","totalBytes","progressPercent","speedKbps","catch","unsubscribeProgress","progress","staged","patch","stagePatch","toFixed","patchErr","stageBundle","attempts","downloadDuration","applied","applyUpdate","installMode","armResumeRestart","isMandatory","clearTimeout","bootMarkerPresent","healthyMs","healthyAfterMs","setTimeout","markHealthy","info","resumeRestartArmed","wasBackground","addEventListener","restartApp","reload","RNReload","otaOrchestrator"],"sourceRoot":"../../../../src","sources":["features/ota/OtaOrchestrator.ts"],"mappings":"AAAA,SACEA,QAAQ,EACRC,kBAAkB,EAClBC,WAAW,EACXC,kBAAkB,EAClBC,aAAa,EACbC,QAAQ,QACH,cAAc;AACrB,SAASC,MAAM,QAAQ,kCAAkC;AACzD,SAASC,OAAO,QAAQ,gCAAgC;AACxD,OAAOC,iBAAiB,MAAM,+BAA+B;AAE7D,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,qBAAqB,QAA8B,aAAa;AACzE,SAASC,oBAAoB,QAA6B,eAAe;AACzE,SAASC,gBAAgB,EAAEC,uBAAuB,EAAEC,eAAe,QAAQ,SAAS;AACpF,SAASC,oBAAoB,QAA6B,8BAA8B;;AAExF;AACA;AACA;AACA;AACA;AACA,SAASC,uBAAuBA,CAAA,EAAkB;EAChD,IAAI;IACF,MAAMC,EAAE,GAAIC,UAAU,CAAiDC,mBAAmB;IAC1F,OAAO,OAAOF,EAAE,KAAK,QAAQ,IAAIA,EAAE,CAACG,MAAM,GAAG,CAAC,GAAGH,EAAE,GAAG,IAAI;EAC5D,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,SAASI,uBAAuBA,CAC9BC,MAA0C,EAC9B;EACZ,IAAI;IACF,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMC,YAAY,GAAGpB,aAAa,CAACqB,iBAAiB;MACpD,IAAI,CAACD,YAAY,EAAE,OAAO,MAAM,CAAC,CAAC;MAClC,MAAME,OAAO,GAAG,IAAIvB,kBAAkB,CAACqB,YAAY,CAAC;MACpD,MAAMG,GAAG,GAAGD,OAAO,CAACE,WAAW,CAAC,qBAAqB,EAAEN,MAAM,CAAC;MAC9D,OAAO,MAAMK,GAAG,CAACE,MAAM,CAAC,CAAC;IAC3B;IACA,MAAMF,GAAG,GAAG1B,kBAAkB,CAAC2B,WAAW,CAAC,qBAAqB,EAAEN,MAAM,CAAC;IACzE,OAAO,MAAMK,GAAG,CAACE,MAAM,CAAC,CAAC;EAC3B,CAAC,CAAC,MAAM;IACN,OAAO,MAAM,CAAC,CAAC;EACjB;AACF;;AAEA;AACA,MAAMC,yBAAyB,GAAG,KAAK;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeC,gBAAgBA,CAACC,MAK/B,EAAiB;EAChB,MAAMC,MAAM,GAAGxB,eAAe,CAACyB,KAAK,CAAC,CAAC;EACtC,IAAI,CAACD,MAAM,CAACb,MAAM,EAAE;EAEpB,MAAMe,KAAK,GAAGF,MAAM,CAACG,GAAG,CAAEC,CAAC,KAAM;IAC/BC,IAAI,EAAE,WAAoB;IAC1BC,IAAI,EAAEF,CAAC,CAACE,IAAI;IACZC,QAAQ,EAAEH,CAAC,CAACG,QAAQ;IACpBC,cAAc,EAAET,MAAM,CAACS,cAAc;IACrCC,QAAQ,EAAErC,QAAQ,CAACkB,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS;IACnDoB,UAAU,EAAEX,MAAM,CAACW,UAAU;IAC7BC,UAAU,EAAEP,CAAC,CAACO,UAAU;IACxBC,SAAS,EAAER,CAAC,CAACS,KAAK,IAAIT,CAAC,CAACU,MAAM;IAC9BC,SAAS,EAAEX,CAAC,CAACW,SAAS;IACtBC,SAAS,EAAEZ,CAAC,CAACY;EACf,CAAC,CAAC,CAAC;EAEH,IAAI;IACF,MAAMC,IAAI,GAAGlB,MAAM,CAACmB,MAAM,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC9C;IACA;IACA,MAAMC,GAAG,GAAG,MAAMC,KAAK,CACrB,GAAGJ,IAAI,2BAA2BlB,MAAM,CAACS,cAAc,QAAQ,EAC/D;MACEc,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,uBAAuB,EAAExB,MAAM,CAACyB;MAClC,CAAC;MACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;QAAEzB;MAAM,CAAC;IAChC,CACF,CAAC;IACD,IAAI,CAACkB,GAAG,CAACQ,EAAE,EAAE,MAAM,IAAIC,KAAK,CAAC,QAAQT,GAAG,CAACU,MAAM,EAAE,CAAC;IAClDzD,MAAM,CAAC0D,KAAK,CAAC,mBAAmB7B,KAAK,CAACf,MAAM,qBAAqB,CAAC;EACpE,CAAC,CAAC,OAAO6C,GAAQ,EAAE;IACjB;IACA;IACA,KAAK,MAAM5B,CAAC,IAAIJ,MAAM,EAAExB,eAAe,CAACyD,IAAI,CAAC7B,CAAC,CAAC;IAC/C/B,MAAM,CAAC0D,KAAK,CAAC,2DAA2DC,GAAG,EAAEE,OAAO,EAAE,CAAC;EACzF;AACF;;AAUA;;AAcA,MAAMC,wBAAwB,GAAG,MAAM;AACvC,MAAMC,2BAA2B,GAAG,CAAC;AAErC,OAAO,MAAMC,eAAe,CAAC;EACnBC,OAAO,GAAG,KAAK;EACfC,aAAa,GAA4B,IAAI;EAC7CC,sBAAsB,GAAG,KAAK;EAC9BC,YAAY,GAAyC,IAAI;EACzDC,eAAe,GAAoB,CAAC,CAAC;EAErCC,WAAW,GAA0B,IAAI;EACjD;EACQC,WAAW,GAAG,KAAK;EACnBC,cAAc,GAA0B,IAAI;;EAEpD;AACF;AACA;AACA;AACA;AACA;AACA;EACEC,IAAIA,CAACC,MAA0D,EAAQ;IACrEzE,OAAO,CAAC,MAAM;MACZ;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,IAAI,CAACsE,WAAW,EAAE;QACpB,IAAI,CAACF,eAAe,GAAGK,MAAM,IAAI,IAAI,CAACL,eAAe;QACrD,IAAI,CAACM,eAAe,GAAGD,MAAM,EAAEE,SAAS,IAAI,IAAI,CAACD,eAAe;QAChE;MACF;MAEA,IAAI,CAACzE,iBAAiB,EAAE;QACtBF,MAAM,CAAC6E,IAAI,CAAC,2DAA2D,CAAC;QACxE;MACF;;MAEA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,CAACP,WAAW,GAAGjE,oBAAoB,CAAC,CAAC;MACzC,IAAI,CAAC,IAAI,CAACiE,WAAW,CAACQ,SAAS,EAAE;QAC/B9E,MAAM,CAACwC,KAAK,CAAC,oBAAoB,IAAI,CAAC8B,WAAW,CAACS,WAAW,EAAE,CAAC;QAChE,IAAI,CAACd,OAAO,GAAG,KAAK;QACpB;MACF;MACA,IAAI,IAAI,CAACK,WAAW,CAACU,UAAU,IAAI,CAAC,IAAI,CAACV,WAAW,CAACW,SAAS,EAAE;QAC9DjF,MAAM,CAAC6E,IAAI,CACT,iFAAiF,GAC/E,0EACJ,CAAC;MACH;MACA,IAAI,IAAI,CAACP,WAAW,CAACY,4BAA4B,EAAE;QACjD;QACA;QACA;QACA;QACA;QACAlF,MAAM,CAAC0D,KAAK,CACV,6EAA6E,GAC3E,wFAAwF,GACxF,qEACJ,CAAC;MACH;MAEA,IAAI,CAACa,WAAW,GAAG,IAAI;MACvB,IAAI,CAACN,OAAO,GAAG,IAAI;MACnB,IAAI,CAACI,eAAe,GAAGK,MAAM,IAAI,CAAC,CAAC;MACnC,IAAI,CAACC,eAAe,GAAGD,MAAM,EAAEE,SAAS;MACxC5E,MAAM,CAAC0D,KAAK,CACV,sCAAsC,IAAI,CAACY,WAAW,CAACa,eAAe,IAAI,SAAS,EAAE,GACnF,GAAG,IAAI,CAACb,WAAW,CAACU,UAAU,GAAG,cAAc,GAAG,EAAE,EAAE,GACtD,GAAG,IAAI,CAACV,WAAW,CAACc,MAAM,GAAG,iBAAiB,IAAI,CAACd,WAAW,CAACe,qBAAqB,IAAI,GAAG,EAAE,GAAG,EAAE,GACtG,CAAC;;MAED;MACA;MACA;MACA;MACA,IAAI,CAACC,6BAA6B,CAAC,CAAC;;MAEpC;MACA,IAAI,CAACC,2BAA2B,CAAC,CAAC;;MAElC;MACA,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC/B,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACUF,6BAA6BA,CAAA,EAAS;IAC5C,IAAI,CAACpF,iBAAiB,EAAE;IACxB,IAAI;MACF,MAAMuF,KAAK,GAAGpC,IAAI,CAACqC,KAAK,CAACxF,iBAAiB,CAACyF,YAAY,CAAC,CAAC,CAAC;MAC1D,MAAMC,OAAO,GAAGH,KAAK,EAAEG,OAAO;MAC9B,IAAI,CAACA,OAAO,EAAEC,MAAM,EAAE;;MAEtB;MACA;MACA;MACA;MACA;MACA;MACA,MAAMC,MAAM,GAAG,IAAI,CAACC,iBAAiB,CAAC,CAAC;MACvC,IAAID,MAAM,IAAIA,MAAM,CAACD,MAAM,KAAKD,OAAO,CAACC,MAAM,EAAE;QAC9C,IAAI,CAAC3B,aAAa,GAAG;UACnBvD,EAAE,EAAEmF,MAAM,CAAC5D,QAAQ;UACnB8D,OAAO,EAAEF,MAAM,CAACE,OAAO;UACvBH,MAAM,EAAEC,MAAM,CAACD;QACjB,CAAqB;QACrB7F,MAAM,CAAC0D,KAAK,CAAC,yBAAyBoC,MAAM,CAACE,OAAO,KAAKF,MAAM,CAAC5D,QAAQ,GAAG,CAAC;QAC5E;MACF;;MAEA;MACA;MACA;MACA,IAAI,CAACgC,aAAa,GAAG;QAAE2B,MAAM,EAAED,OAAO,CAACC;MAAO,CAAqB;MACnE7F,MAAM,CAAC0D,KAAK,CACV,oCAAoCuC,MAAM,CAACL,OAAO,CAACC,MAAM,CAAC,CAACK,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,kCACzE,CAAC;IACH,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUX,2BAA2BA,CAAA,EAAS;IAC1C,IAAI,CAAC,IAAI,CAACrB,aAAa,EAAE;IAEzB,MAAMiC,OAAO,GAAGzF,uBAAuB,CAAC,CAAC;IACzC,MAAM0F,QAAQ,GAAG,IAAI,CAACC,sBAAsB,CAAC,CAAC;;IAE9C;IACA,IAAID,QAAQ,IAAIA,QAAQ,CAAClE,QAAQ,KAAK,IAAI,CAACgC,aAAa,CAACvD,EAAE,EAAE;MAC3D,IAAI,CAAC2F,uBAAuB,CAAC,CAAC;MAC9B;IACF;IAEA,IAAIF,QAAQ,EAAE;MACZ,IAAID,OAAO,KAAKC,QAAQ,CAACG,aAAa,EAAE;QACtC;QACAvG,MAAM,CAAC0D,KAAK,CAAC,qEAAqE,CAAC;QACnF,IAAI,CAAC4C,uBAAuB,CAAC,CAAC;QAC9B;MACF;MAEAtG,MAAM,CAACwC,KAAK,CACV,8CAA8C,IAAI,CAAC0B,aAAa,CAACvD,EAAE,qBAAqB,GACtF,kEAAkE,GAClE,GAAGwF,OAAO,IAAI,kBAAkB,sDAAsD,GACtF,mFAAmF,GACnF,kEACJ,CAAC;MACDhG,eAAe,CAACqG,UAAU,CAAC,cAAc,EAAE,IAAI,CAACtC,aAAa,CAACvD,EAAE,EAAE;QAChE6B,KAAK,EAAE,oCAAoC4D,QAAQ,CAACG,aAAa,aAAaJ,OAAO,IAAI,MAAM;MACjG,CAAC,CAAC;MACF;MACA;MACA;MACA;IACF;IAEA,IAAIA,OAAO,IAAIA,OAAO,KAAK,IAAI,CAACjC,aAAa,CAACvD,EAAE,EAAE;MAChD;MACA;MACAX,MAAM,CAACwC,KAAK,CACV,qCAAqC,IAAI,CAAC0B,aAAa,CAACvD,EAAE,qBAAqB,GAC7E,gCAAgCwF,OAAO,GAC3C,CAAC;MACDhG,eAAe,CAACqG,UAAU,CAAC,cAAc,EAAE,IAAI,CAACtC,aAAa,CAACvD,EAAE,EAAE;QAChE6B,KAAK,EAAE,sCAAsC2D,OAAO;MACtD,CAAC,CAAC;IACJ;EACF;;EAEA;EACA;EACA;EACA;;EAEA,OAAwBM,uBAAuB,GAAG,6BAA6B;EAEvEC,wBAAwBA,CAACC,MAAwB,EAAQ;IAC/D,IAAI;MACF,IAAI,CAACC,OAAO,CAAC,CAAC,CAACC,GAAG,CAChB7C,eAAe,CAACyC,uBAAuB,EACvCpD,IAAI,CAACC,SAAS,CAAC;QACbpB,QAAQ,EAAEyE,MAAM,CAAChG,EAAE;QACnBqF,OAAO,EAAEW,MAAM,CAACX,OAAO;QACvB;QACA;QACAH,MAAM,EAAEc,MAAM,CAACd,MAAM;QACrBU,aAAa,EAAEI,MAAM,CAACJ,aAAa,IAAI;MACzC,CAAC,CACH,CAAC;IACH,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEQR,iBAAiBA,CAAA,EAKhB;IACP,IAAI;MACF,MAAMe,GAAG,GAAG,IAAI,CAACF,OAAO,CAAC,CAAC,CAACG,GAAG,CAAC/C,eAAe,CAACyC,uBAAuB,CAAC;MACvE,IAAI,CAACK,GAAG,EAAE,OAAO,IAAI;MACrB,MAAME,MAAM,GAAG3D,IAAI,CAACqC,KAAK,CAACoB,GAAG,CAAC;MAC9B,OAAO,OAAOE,MAAM,EAAE9E,QAAQ,KAAK,QAAQ,IAAI,OAAO8E,MAAM,EAAEnB,MAAM,KAAK,QAAQ,GAC7EmB,MAAM,GACN,IAAI;IACV,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EAEQX,sBAAsBA,CAAA,EAAuD;IACnF,MAAMP,MAAM,GAAG,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACvC,OAAOD,MAAM,IAAIA,MAAM,CAACS,aAAa,GACjC;MAAErE,QAAQ,EAAE4D,MAAM,CAAC5D,QAAQ;MAAEqE,aAAa,EAAET,MAAM,CAACS;IAAc,CAAC,GAClE,IAAI;EACV;EAEQD,uBAAuBA,CAAA,EAAS;IACtC,IAAI;MACF,IAAI,CAACM,OAAO,CAAC,CAAC,CAACC,GAAG,CAAC7C,eAAe,CAACyC,uBAAuB,EAAE,EAAE,CAAC;IACjE,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEQG,OAAOA,CAAA,EAAmB;IAChC,IAAI,CAAC,IAAI,CAACpC,cAAc,EAAE,IAAI,CAACA,cAAc,GAAG/D,oBAAoB,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC+D,cAAc;EAC5B;;EAEA;AACF;AACA;AACA;AACA;EACUgB,sBAAsBA,CAAA,EAAS;IACrC,IAAI,CAACtF,iBAAiB,EAAE;IAExB,IAAI;MACF,MAAM+G,SAAS,GAAG/G,iBAAiB,CAACyF,YAAY,CAAC,CAAC;MAClD,MAAMF,KAAK,GAAGpC,IAAI,CAACqC,KAAK,CAACuB,SAAS,CAAC;MAEnC,IAAIxB,KAAK,CAACyB,iBAAiB,EAAE;QAC3BlH,MAAM,CAAC6E,IAAI,CAAC,8DAA8D,CAAC;QAC3E1E,eAAe,CAACqG,UAAU,CAAC,eAAe,EAAEf,KAAK,CAAC0B,QAAQ,EAAEjF,QAAQ,IAAI,SAAS,EAAE;UACjFO,MAAM,EAAE;QACV,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA2E,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAACnD,OAAO;EACrB;EAEAoD,iBAAiBA,CAAA,EAAY;IAC3B,OAAO,IAAI,CAAClD,sBAAsB;EACpC;;EAEA;AACF;AACA;EACE,MAAMmD,cAAcA,CAACC,aAUpB,EAA6B;IAC5B,IAAI;MACF,MAAMC,GAAG,GAAG,IAAI,CAAClD,WAAW,IAAIjE,oBAAoB,CAAC,CAAC;;MAEtD;MACA;MACA;MACA;MACA;MACA,MAAMoH,OAAwB,GAAG;QAC/BpF,UAAU,EAAEkF,aAAa,CAAClF,UAAU;QACpCD,QAAQ,EAAErC,QAAQ,CAACkB,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,SAAS;QACnDkB,cAAc,EAAEoF,aAAa,CAACpF,cAAc;QAC5CuF,eAAe,EAAE,IAAI,CAACxD,aAAa,EAAEvD,EAAE;QACvCgH,iBAAiB,EAAE,IAAI,CAACzD,aAAa,EAAE2B,MAAM;QAC7C+B,WAAW,EAAEL,aAAa,CAACK,WAAW;QACtCC,OAAO,EAAEN,aAAa,CAACM,OAAO;QAC9BC,UAAU,EAAEP,aAAa,CAACO,UAAU;QACpCC,UAAU,EAAER,aAAa,CAACQ,UAAU;QACpCC,cAAc,EAAET,aAAa,CAACS,cAAc;QAC5C;QACA;QACA;QACA;QACA;QACA/C,SAAS,EAAEuC,GAAG,CAACrC,eAAe,IAAI8C,SAAS;QAC3C7C,MAAM,EAAEoC,GAAG,CAACpC,MAAM;QAClBC,qBAAqB,EAAEmC,GAAG,CAACnC,qBAAqB,IAAI4C,SAAS;QAC7DjD,UAAU,EAAEwC,GAAG,CAACxC;MAClB,CAAC;MAED,MAAMkD,GAAG,GAAG,GAAGX,aAAa,CAAC1E,MAAM,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB;MAEvE,MAAMqF,IAAI,GAAG,MAAM7H,gBAAgB,CACjC,YAAY;QACV,MAAMyC,GAAG,GAAG,MAAMC,KAAK,CAACkF,GAAG,EAAE;UAC3BjF,MAAM,EAAE,MAAM;UACdC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,uBAAuB,EAAEqE,aAAa,CAACpE;UACzC,CAAC;UACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACmE,OAAO;QAC9B,CAAC,CAAC;QAEF,IAAI,CAAC1E,GAAG,CAACQ,EAAE,EAAE;UACX,MAAM,IAAI/C,eAAe,CACvB,gCAAgCuC,GAAG,CAACU,MAAM,EAAE,EAC5CV,GAAG,CAACU,MACN,CAAC;QACH;QACA,OAAQ,MAAMV,GAAG,CAACqF,IAAI,CAAC,CAAC;MAC1B,CAAC,EACD;QAAEC,KAAK,EAAE,OAAO;QAAEC,WAAW,EAAE/H;MAAwB,CACzD,CAAC;MAED,OAAO4H,IAAI;IACb,CAAC,CAAC,OAAOxE,GAAQ,EAAE;MACjB3D,MAAM,CAACwC,KAAK,CAAC,gCAAgCmB,GAAG,CAACE,OAAO,EAAE,CAAC;MAC3D,OAAO;QAAE0E,MAAM,EAAE;MAAO,CAAC;IAC3B;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAMC,IAAIA,CAAC9G,MAMV,EAAuB;IACtB,IAAI;MACF,IAAI,CAAC,IAAI,CAACuC,OAAO,IAAI,CAAC/D,iBAAiB,EAAE;QACvC,OAAO;UAAEuD,MAAM,EAAE,OAAO;UAAEjB,KAAK,EAAE;QAAwC,CAAC;MAC5E;MAEAxC,MAAM,CAAC0D,KAAK,CAAC,qBAAqB,CAAC;MACnC,MAAM+E,QAAQ,GAAG,MAAM,IAAI,CAACnB,cAAc,CAAC5F,MAAM,CAAC;MAElD,IAAI+G,QAAQ,CAACF,MAAM,KAAK,MAAM,EAAE;QAC9BvI,MAAM,CAAC0D,KAAK,CAAC,yBAAyB,CAAC;QACvC;QACA,IAAI,CAACgF,uBAAuB,CAAC,CAAC;QAC9B,OAAO;UAAEjF,MAAM,EAAE;QAAa,CAAC;MACjC;;MAEA;MACA,IAAIgF,QAAQ,CAACF,MAAM,KAAK,UAAU,EAAE;QAClCvI,MAAM,CAAC6E,IAAI,CAAC,gEAAgE,CAAC;QAC7E1E,eAAe,CAACqG,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAACtC,aAAa,EAAEvD,EAAE,IAAI,SAAS,CAAC;QAClF,MAAMgI,QAAQ,GAAG,MAAMzI,iBAAiB,CAAC0I,gBAAgB,CAAC,CAAC;QAC3D,IAAID,QAAQ,EAAE;UACZ,IAAI,CAACzE,aAAa,GAAG,IAAI;UACzB,IAAI,CAACC,sBAAsB,GAAG,IAAI;UAClC,IAAIzC,MAAM,CAACmH,WAAW,EAAE;YACtB,IAAI,CAACC,OAAO,CAAC,CAAC;UAChB;UACA,OAAO;YAAErF,MAAM,EAAE;UAAc,CAAC;QAClC;QACA,OAAO;UAAEA,MAAM,EAAE,OAAO;UAAEjB,KAAK,EAAE;QAAyB,CAAC;MAC7D;MAEA,IAAI,CAACiG,QAAQ,CAAC9B,MAAM,EAAE;QACpB,OAAO;UAAElD,MAAM,EAAE;QAAa,CAAC;MACjC;MAEA,MAAMkD,MAAM,GAAG8B,QAAQ,CAAC9B,MAAM;MAC9B,IAAIjE,SAAS,GAAG,KAAK;;MAErB;MACA;MACA;MACA;MACA,MAAMqG,gBAAgB,GAAG,MAAM3I,qBAAqB,CAClDuG,MAAM,CAACd,MAAM,EACbc,MAAM,CAAC/B,SAAS,EAChB,IAAI,CAACD,eACP,CAAC;MACD,IAAI,CAACoE,gBAAgB,CAACxF,EAAE,EAAE;QACxBpD,eAAe,CAACqG,UAAU,CAAC,cAAc,EAAEG,MAAM,CAAChG,EAAE,EAAE;UACpD6B,KAAK,EAAE,2BAA2BuG,gBAAgB,CAACtG,MAAM,EAAE;UAC3DuD,OAAO,EAAEW,MAAM,CAACX;QAClB,CAAC,CAAC;QACF,OAAO;UACLvC,MAAM,EAAE,OAAO;UACfjB,KAAK,EAAE,kCAAkCuG,gBAAgB,CAACtG,MAAM,GAAG;UACnEkE;QACF,CAAC;MACH;;MAEA;MACAxG,eAAe,CAACqG,UAAU,CAAC,kBAAkB,EAAEG,MAAM,CAAChG,EAAE,EAAE;QAAEqF,OAAO,EAAEW,MAAM,CAACX;MAAQ,CAAC,CAAC;MACtF,MAAMgD,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;MAChClJ,MAAM,CAAC0D,KAAK,CAAC,6BAA6BiD,MAAM,CAACX,OAAO,GAAG,CAAC;;MAE5D;MACA;MACA;MACA;MACA,IAAImD,UAAU,GAAG,CAAC;MAClB,MAAMC,YAAY,GAAGA,CAACC,SAAiB,EAAE5F,MAAc,KAAK;QAC1D,MAAM6F,KAAK,GAAG3C,MAAM,CAAC4C,IAAI,GAAG,CAAC,GAAG5C,MAAM,CAAC4C,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACJ,SAAS,EAAE,CAAC,CAAC;QACpE,MAAMK,OAAO,GAAGF,IAAI,CAACG,GAAG,CAAC,GAAG,EAAEH,IAAI,CAACI,KAAK,CAAEP,SAAS,GAAGC,KAAK,GAAI,GAAG,CAAC,CAAC;QACpE,MAAMO,QAAQ,GAAG,CAACZ,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,aAAa,IAAI,IAAI;QACpD,MAAMvB,OAAO,GAAG;UACdtF,cAAc,EAAET,MAAM,CAACS,cAAc;UACrCD,QAAQ,EAAEyE,MAAM,CAAChG,EAAE;UACnB0I,SAAS;UACTS,UAAU,EAAER,KAAK;UACjBS,eAAe,EAAEL,OAAO;UACxBM,SAAS,EAAEH,QAAQ,GAAG,CAAC,GAAGL,IAAI,CAACI,KAAK,CAACP,SAAS,GAAG,IAAI,GAAGQ,QAAQ,CAAC,GAAG,CAAC;UACrEpG;QACF,CAAC;QACD;QACA;QACAT,KAAK,CAAC,GAAGtB,MAAM,CAACmB,MAAM,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,EAAE;UAC7DG,MAAM,EAAE,MAAM;UACdC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,uBAAuB,EAAExB,MAAM,CAACyB;UAClC,CAAC;UACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACmE,OAAO;QAC9B,CAAC,CAAC,CAACwC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACpB,CAAC;MAED,MAAMC,mBAAmB,GAAGnJ,uBAAuB,CAAC,CAAC;QAAEsI;MAAU,CAAC,KAAK;QACrE,MAAMC,KAAK,GAAG3C,MAAM,CAAC4C,IAAI,GAAG,CAAC,GAAG5C,MAAM,CAAC4C,IAAI,GAAGF,SAAS;QACvDlJ,eAAe,CAACyD,IAAI,CAAC;UACnB3B,IAAI,EAAE,mBAAmB;UACzBC,QAAQ,EAAEyE,MAAM,CAAChG,EAAE;UACnBgC,SAAS,EAAEsG,IAAI,CAACC,GAAG,CAAC,CAAC;UACrBiB,QAAQ,EAAEX,IAAI,CAACG,GAAG,CAAC,GAAG,EAAEH,IAAI,CAACI,KAAK,CAAEP,SAAS,GAAGG,IAAI,CAACC,GAAG,CAACH,KAAK,EAAE,CAAC,CAAC,GAAI,GAAG,CAAC;QAC5E,CAAC,CAAC;QACF,MAAMJ,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,CAAC;QACtB,IAAIA,GAAG,GAAGC,UAAU,IAAI3H,yBAAyB,EAAE;UACjD2H,UAAU,GAAGD,GAAG;UAChBE,YAAY,CAACC,SAAS,EAAE,aAAa,CAAC;QACxC;MACF,CAAC,CAAC;MAEF,IAAIe,MAAM,GAAG,KAAK;;MAElB;MACA,IAAIzD,MAAM,CAAC0D,KAAK,IAAInK,iBAAiB,CAACoK,UAAU,EAAE;QAChDtK,MAAM,CAAC0D,KAAK,CACV,0BAA0B,CAACiD,MAAM,CAAC0D,KAAK,CAACd,IAAI,GAAG,IAAI,EAAEgB,OAAO,CAAC,CAAC,CAAC,SAAS,GACtE,GAAG,CAAC5D,MAAM,CAAC4C,IAAI,GAAG,IAAI,EAAEgB,OAAO,CAAC,CAAC,CAAC,2BACtC,CAAC;QACD,IAAI;UACFH,MAAM,GAAG,MAAMlK,iBAAiB,CAACoK,UAAU,CACzC3D,MAAM,CAAC0D,KAAK,CAACnC,GAAG,EAChBvB,MAAM,CAAC0D,KAAK,CAACxE,MAAM,EACnBc,MAAM,CAACd,MAAM,CAAE;UACjB,CAAC;UACD,IAAIuE,MAAM,EAAE;YACV1H,SAAS,GAAG,IAAI;YAChB1C,MAAM,CAAC0D,KAAK,CAAC,kCAAkC,CAAC;UAClD,CAAC,MAAM;YACL1D,MAAM,CAAC6E,IAAI,CAAC,kEAAkE,CAAC;UACjF;QACF,CAAC,CAAC,OAAO2F,QAAa,EAAE;UACtBxK,MAAM,CAAC6E,IAAI,CAAC,+BAA+B2F,QAAQ,CAAC3G,OAAO,gCAAgC,CAAC;QAC9F;MACF;;MAEA;MACA;MACA;MACA;MACA,IAAI,CAACuG,MAAM,EAAE;QACX,IAAI;UACFA,MAAM,GAAG,MAAM9J,gBAAgB,CAC7B,YAAY;YACV,MAAMiD,EAAE,GAAG,MAAMrD,iBAAiB,CAAEuK,WAAW,CAAC9D,MAAM,CAACuB,GAAG,EAAEvB,MAAM,CAACd,MAAM,CAAC;YAC1E,IAAI,CAACtC,EAAE,EAAE;cACP;cACA;cACA;cACA;cACA,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;YAC/C;YACA,OAAOD,EAAE;UACX,CAAC,EACD;YAAE8E,KAAK,EAAE,aAAa1B,MAAM,CAACX,OAAO,EAAE;YAAE0E,QAAQ,EAAE;UAAE,CACtD,CAAC;QACH,CAAC,CAAC,MAAM;UACNN,MAAM,GAAG,KAAK;QAChB;MACF;MAEAF,mBAAmB,CAAC,CAAC;MAErB,IAAI,CAACE,MAAM,EAAE;QACXhB,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC;QACzBpJ,MAAM,CAACwC,KAAK,CAAC,2CAA2C,CAAC;QACzDrC,eAAe,CAACqG,UAAU,CAAC,cAAc,EAAEG,MAAM,CAAChG,EAAE,EAAE;UACpD6B,KAAK,EAAE,qDAAqD;UAC5DwD,OAAO,EAAEW,MAAM,CAACX;QAClB,CAAC,CAAC;QACF,OAAO;UAAEvC,MAAM,EAAE,OAAO;UAAEjB,KAAK,EAAE,uBAAuB;UAAEmE;QAAO,CAAC;MACpE;MAEAyC,YAAY,CAACzC,MAAM,CAAC4C,IAAI,EAAE,WAAW,CAAC;MAEtC,MAAMoB,gBAAgB,GAAG1B,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,aAAa;MACnD7I,eAAe,CAACqG,UAAU,CAAC,mBAAmB,EAAEG,MAAM,CAAChG,EAAE,EAAE;QACzDqF,OAAO,EAAEW,MAAM,CAACX,OAAO;QACvB1D,UAAU,EAAEqI,gBAAgB;QAC5BjI;MACF,CAAC,CAAC;;MAEF;MACA;MACA,MAAMkI,OAAO,GAAG,MAAM1K,iBAAiB,CAAC2K,WAAW,CAAC,CAAC;MACrD,IAAI,CAACD,OAAO,EAAE;QACZ5K,MAAM,CAACwC,KAAK,CAAC,8BAA8B,CAAC;QAC5CrC,eAAe,CAACqG,UAAU,CAAC,cAAc,EAAEG,MAAM,CAAChG,EAAE,EAAE;UACpD6B,KAAK,EAAE,yBAAyB;UAChCwD,OAAO,EAAEW,MAAM,CAACX;QAClB,CAAC,CAAC;QACF,OAAO;UAAEvC,MAAM,EAAE,OAAO;UAAEjB,KAAK,EAAE,wBAAwB;UAAEmE;QAAO,CAAC;MACrE;MAEA,IAAI,CAACzC,aAAa,GAAGyC,MAAM;MAC3B,IAAI,CAACxC,sBAAsB,GAAG,IAAI;;MAElC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAI,CAACuC,wBAAwB,CAACC,MAAM,CAAC;MAErCxG,eAAe,CAACqG,UAAU,CAAC,WAAW,EAAEG,MAAM,CAAChG,EAAE,EAAE;QAAEqF,OAAO,EAAEW,MAAM,CAACX;MAAQ,CAAC,CAAC;MAC/EhG,MAAM,CAAC0D,KAAK,CAAC,iBAAiBiD,MAAM,CAACX,OAAO,0BAA0B,CAAC;;MAEvE;MACA;MACA,MAAMvE,gBAAgB,CAACC,MAAM,CAAC;;MAE9B;MACA;MACA;MACA;MACA;MACA,MAAMoJ,WAAW,GAAGnE,MAAM,CAACmE,WAAW,IAAI,iBAAiB;MAC3D,IAAIpJ,MAAM,CAACmH,WAAW,IAAIiC,WAAW,KAAK,WAAW,EAAE;QACrD,IAAI,CAAChC,OAAO,CAAC,CAAC;MAChB,CAAC,MAAM,IAAIgC,WAAW,KAAK,gBAAgB,EAAE;QAC3C,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACzB;MAEA,OAAO;QACLtH,MAAM,EAAE,kBAAkB;QAC1BkD,MAAM;QACNqE,WAAW,EAAErE,MAAM,CAACqE;MACtB,CAAC;IACH,CAAC,CAAC,OAAOrH,GAAQ,EAAE;MACjB3D,MAAM,CAACwC,KAAK,CAAC,qBAAqBmB,GAAG,CAACE,OAAO,EAAE,CAAC;MAChD,OAAO;QAAEJ,MAAM,EAAE,OAAO;QAAEjB,KAAK,EAAEmB,GAAG,CAACE,OAAO,IAAI;MAA0B,CAAC;IAC7E,CAAC,SAAS;MACR;MACA;MACA;MACA;MACA;MACA,KAAKpC,gBAAgB,CAACC,MAAM,CAAC;IAC/B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACUgH,uBAAuBA,CAAA,EAAS;IACtC,IAAI,CAACxI,iBAAiB,EAAE;;IAExB;IACA,IAAI,IAAI,CAACkE,YAAY,EAAE;MACrB6G,YAAY,CAAC,IAAI,CAAC7G,YAAY,CAAC;MAC/B,IAAI,CAACA,YAAY,GAAG,IAAI;IAC1B;IAEA,IAAI;MACF,MAAM6C,SAAS,GAAG/G,iBAAiB,CAACyF,YAAY,CAAC,CAAC;MAClD,MAAMF,KAAK,GAAGpC,IAAI,CAACqC,KAAK,CAACuB,SAAS,CAAC;;MAEnC;MACA;MACA,IAAI,CAACxB,KAAK,CAACyF,iBAAiB,EAAE;QAC5B;MACF;MAEA,MAAMC,SAAS,GAAG,IAAI,CAAC9G,eAAe,CAAC+G,cAAc,IAAItH,wBAAwB;MACjF9D,MAAM,CAAC0D,KAAK,CAAC,mDAAmDyH,SAAS,IAAI,CAAC;MAE9E,IAAI,CAAC/G,YAAY,GAAGiH,UAAU,CAAC,MAAM;QACnCpL,OAAO,CAAC,MAAM;UACZC,iBAAiB,EAAEoL,WAAW,CAAC,CAAC;UAChCtL,MAAM,CAACuL,IAAI,CAAC,oDAAoD,CAAC;UACjE,IAAI,CAACnH,YAAY,GAAG,IAAI;QAC1B,CAAC,CAAC;MACJ,CAAC,EAAE+G,SAAS,CAAC;IACf,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;;EAEA;EACQK,kBAAkB,GAAG,KAAK;;EAElC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUT,gBAAgBA,CAAA,EAAS;IAC/B,IAAI,IAAI,CAACS,kBAAkB,EAAE;IAC7B,IAAI,CAACA,kBAAkB,GAAG,IAAI;IAE9B,IAAIC,aAAa,GAAG,KAAK;IACzB,IAAI;MACF,MAAMpK,GAAG,GAAG3B,QAAQ,CAACgM,gBAAgB,CAAC,QAAQ,EAAGjG,KAAK,IAAK;QACzD,IAAIA,KAAK,KAAK,YAAY,EAAE;UAC1BgG,aAAa,GAAG,IAAI;UACpB;QACF;QACA,IAAIhG,KAAK,KAAK,QAAQ,IAAIgG,aAAa,EAAE;UACvC,IAAI;YACFpK,GAAG,CAACE,MAAM,CAAC,CAAC;UACd,CAAC,CAAC,MAAM;YACN;UAAA;UAEF,IAAI,CAACiK,kBAAkB,GAAG,KAAK;UAC/BxL,MAAM,CAACuL,IAAI,CAAC,sDAAsD,CAAC;UACnE,IAAI,CAACzC,OAAO,CAAC,CAAC;QAChB;MACF,CAAC,CAAC;MACF9I,MAAM,CAAC0D,KAAK,CAAC,qEAAqE,CAAC;IACrF,CAAC,CAAC,MAAM;MACN;MACA;MACA,IAAI,CAAC8H,kBAAkB,GAAG,KAAK;IACjC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE1C,OAAOA,CAAA,EAAS;IACd7I,OAAO,CAAC,MAAM;MACZD,MAAM,CAACuL,IAAI,CAAC,+BAA+B,CAAC;MAC5C,IAAIrL,iBAAiB,IAAI,OAAOA,iBAAiB,CAACyL,UAAU,KAAK,UAAU,EAAE;QAC3EzL,iBAAiB,CAACyL,UAAU,CAAC,CAAC;MAChC,CAAC,MAAM,IAAI/L,WAAW,IAAI,OAAOA,WAAW,CAACgM,MAAM,KAAK,UAAU,EAAE;QAClEhM,WAAW,CAACgM,MAAM,CAAC,CAAC;MACtB,CAAC,MAAM,IAAI9L,aAAa,CAAC+L,QAAQ,EAAE;QACjC/L,aAAa,CAAC+L,QAAQ,CAACD,MAAM,CAAC,CAAC;MACjC;IACF,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,MAAME,eAAe,GAAG,IAAI9H,eAAe,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AppState","DeviceEventEmitter","DevSettings","NativeEventEmitter","NativeModules","Platform","logger","noThrow","NativeScaleBunOta","otaEventEmitter","getDeviceCountry","prefetchDeviceCountry","deviceTargetingAttributes","K_INSTALLATION_ID","verifyBundleSignature","detectOtaEnvironment","retryWithBackoff","isRetryableNetworkError","HttpStatusError","createStorageBackend","resolveMobileOS","readRunningBundleMarker","id","globalThis","__SCALEBUN_OTA_ID__","length","subscribeNativeProgress","onTick","OS","eventsModule","ScaleBunOtaEvents","emitter","sub","addListener","remove","PROGRESS_POST_INTERVAL_MS","resolveInstallationId","storage","existing","get","Math","random","toString","slice","set","deliverOtaEvents","params","events","flush","mobileOS","items","map","e","kind","type","bundleId","installationId","platform","appVersion","durationMs","errorCode","error","reason","patchUsed","timestamp","base","apiUrl","replace","res","fetch","method","headers","clientKey","body","JSON","stringify","ok","Error","status","debug","err","emit","message","DEFAULT_HEALTHY_AFTER_MS","DEFAULT_MAX_REVERT_ATTEMPTS","OtaOrchestrator","enabled","currentBundle","getCurrentBundle","isRestartRequiredState","healthyTimer","bootGuardConfig","environment","initialized","storageBackend","init","config","signatureConfig","signature","warn","supported","blockReason","bridgeless","rnVersion","requiresReactHostIntegration","rnVersionString","hermes","hermesBytecodeVersion","hydrateCurrentBundleFromSlots","verifyRunningBundleIdentity","checkBootGuardRecovery","state","parse","getSlotState","current","sha256","record","readInstallRecord","version","String","running","expected","readInstallExpectation","clearInstallExpectation","identityToken","emitSimple","INSTALL_EXPECTATION_KEY","recordInstallExpectation","bundle","raw","parsed","stateJson","bootGuardReverted","previous","isEnabled","isRestartRequired","checkForUpdate","requestParams","env","payload","currentBundleId","currentBundleHash","channelName","country","undefined","attributes","segmentIds","lifecycleStage","url","data","json","label","isRetryable","action","sync","rawParams","checkRes","startBootGuardHeartbeat","reverted","revertToPrevious","autoRestart","restart","signatureOutcome","downloadStart","Date","now","lastPostAt","postProgress","bytesRead","total","size","max","percent","min","round","elapsedS","totalBytes","progressPercent","speedKbps","catch","unsubscribeProgress","progress","staged","patch","stagePatch","toFixed","patchErr","stageBundle","attempts","downloadDuration","applied","applyUpdate","installMode","armResumeRestart","isMandatory","clearTimeout","bootMarkerPresent","healthyMs","healthyAfterMs","setTimeout","markHealthy","info","resumeRestartArmed","wasBackground","addEventListener","restartApp","reload","RNReload","otaOrchestrator"],"sourceRoot":"../../../../src","sources":["features/ota/OtaOrchestrator.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Dimensions, Platform } from 'react-native';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Hardware/OS context auto-attached to OTA check payloads so ATTRIBUTE targeting
|
|
5
|
+
* rules can address device classes without any host-app wiring:
|
|
6
|
+
*
|
|
7
|
+
* deviceModel — 'SM-A155F', '23129RAA4G'… (Android; iOS does not expose it in JS)
|
|
8
|
+
* manufacturer — 'samsung', 'xiaomi'… (lowercased: rules shouldn't fail on casing)
|
|
9
|
+
* brand — 'redmi' vs manufacturer 'xiaomi' — sub-brands are real segments
|
|
10
|
+
* osVersion — Android Release ('14') / iOS version ('17.5')
|
|
11
|
+
* formFactor — 'phone' | 'tablet' | 'tv' (Android tablets via the 600dp
|
|
12
|
+
* smallest-width convention — the same line AndroidX draws)
|
|
13
|
+
*
|
|
14
|
+
* Host-supplied attributes always win on key collision: an app that knows better
|
|
15
|
+
* (e.g. its own device tiering) must not be overridden by generic detection.
|
|
16
|
+
* Everything here is best-effort — a missing constant yields a missing key,
|
|
17
|
+
* never a guessed value.
|
|
18
|
+
*/
|
|
19
|
+
export function deviceTargetingAttributes() {
|
|
20
|
+
const out = {};
|
|
21
|
+
try {
|
|
22
|
+
const c = Platform.constants ?? {};
|
|
23
|
+
if (Platform.OS === 'android') {
|
|
24
|
+
if (typeof c.Model === 'string' && c.Model) out.deviceModel = c.Model;
|
|
25
|
+
if (typeof c.Manufacturer === 'string' && c.Manufacturer) {
|
|
26
|
+
out.manufacturer = c.Manufacturer.toLowerCase();
|
|
27
|
+
}
|
|
28
|
+
if (typeof c.Brand === 'string' && c.Brand) out.brand = c.Brand.toLowerCase();
|
|
29
|
+
if (typeof c.Release === 'string' && c.Release) out.osVersion = c.Release;
|
|
30
|
+
const screen = Dimensions.get('screen');
|
|
31
|
+
const smallestDp = Math.min(screen.width, screen.height);
|
|
32
|
+
out.formFactor = Platform.isTV ? 'tv' : smallestDp >= 600 ? 'tablet' : 'phone';
|
|
33
|
+
} else {
|
|
34
|
+
const osVersion = typeof c.osVersion === 'string' ? c.osVersion : String(Platform.Version ?? '');
|
|
35
|
+
if (osVersion) out.osVersion = osVersion;
|
|
36
|
+
out.formFactor = Platform.isTV ? 'tv' : c.interfaceIdiom === 'pad' ? 'tablet' : 'phone';
|
|
37
|
+
}
|
|
38
|
+
} catch {
|
|
39
|
+
// Targeting enrichment must never break a check. Missing keys are honest.
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=deviceAttributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","Platform","deviceTargetingAttributes","out","c","constants","OS","Model","deviceModel","Manufacturer","manufacturer","toLowerCase","Brand","brand","Release","osVersion","screen","get","smallestDp","Math","min","width","height","formFactor","isTV","String","Version","interfaceIdiom"],"sourceRoot":"../../../../src","sources":["features/ota/deviceAttributes.ts"],"mappings":"AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAQ,cAAc;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAAA,EAA2B;EAChE,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,IAAI;IACA,MAAMC,CAAC,GAAIH,QAAQ,CAACI,SAAS,IAAI,CAAC,CAA6B;IAC/D,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC3B,IAAI,OAAOF,CAAC,CAACG,KAAK,KAAK,QAAQ,IAAIH,CAAC,CAACG,KAAK,EAAEJ,GAAG,CAACK,WAAW,GAAGJ,CAAC,CAACG,KAAK;MACrE,IAAI,OAAOH,CAAC,CAACK,YAAY,KAAK,QAAQ,IAAIL,CAAC,CAACK,YAAY,EAAE;QACtDN,GAAG,CAACO,YAAY,GAAGN,CAAC,CAACK,YAAY,CAACE,WAAW,CAAC,CAAC;MACnD;MACA,IAAI,OAAOP,CAAC,CAACQ,KAAK,KAAK,QAAQ,IAAIR,CAAC,CAACQ,KAAK,EAAET,GAAG,CAACU,KAAK,GAAGT,CAAC,CAACQ,KAAK,CAACD,WAAW,CAAC,CAAC;MAC7E,IAAI,OAAOP,CAAC,CAACU,OAAO,KAAK,QAAQ,IAAIV,CAAC,CAACU,OAAO,EAAEX,GAAG,CAACY,SAAS,GAAGX,CAAC,CAACU,OAAO;MACzE,MAAME,MAAM,GAAGhB,UAAU,CAACiB,GAAG,CAAC,QAAQ,CAAC;MACvC,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACK,KAAK,EAAEL,MAAM,CAACM,MAAM,CAAC;MACxDnB,GAAG,CAACoB,UAAU,GAAGtB,QAAQ,CAACuB,IAAI,GAAG,IAAI,GAAGN,UAAU,IAAI,GAAG,GAAG,QAAQ,GAAG,OAAO;IAClF,CAAC,MAAM;MACH,MAAMH,SAAS,GAAG,OAAOX,CAAC,CAACW,SAAS,KAAK,QAAQ,GAAGX,CAAC,CAACW,SAAS,GAAGU,MAAM,CAACxB,QAAQ,CAACyB,OAAO,IAAI,EAAE,CAAC;MAChG,IAAIX,SAAS,EAAEZ,GAAG,CAACY,SAAS,GAAGA,SAAS;MACxCZ,GAAG,CAACoB,UAAU,GAAGtB,QAAQ,CAACuB,IAAI,GACxB,IAAI,GACHpB,CAAC,CAAiCuB,cAAc,KAAK,KAAK,GACzD,QAAQ,GACR,OAAO;IACnB;EACJ,CAAC,CAAC,MAAM;IACJ;EAAA;EAEJ,OAAOxB,GAAG;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createStorageBackend } from '../../storage/StorageBackend';
|
|
2
|
+
import { logger } from '../../core/logger/internalLogger';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Device country via an edge Worker — the workaround for an API that is not
|
|
6
|
+
* behind a geo-stamping CDN.
|
|
7
|
+
*
|
|
8
|
+
* The clean architecture is the API itself resolving `cf-ipcountry` at its own
|
|
9
|
+
* edge (see backend `resolveCountry`) — the device can't forge it and every
|
|
10
|
+
* request carries it. When the API record isn't proxied, that header never
|
|
11
|
+
* exists, so this module asks a Cloudflare Worker (which DOES see the device's
|
|
12
|
+
* edge geo) and attaches the answer to the OTA check payload. Host-supplied
|
|
13
|
+
* country always wins; the server treats a client country as locale-grade, not
|
|
14
|
+
* proof of location.
|
|
15
|
+
*
|
|
16
|
+
* Failure-soft by design: a dead Worker, a timeout, or a bad payload leaves the
|
|
17
|
+
* country unset — an unknown country must render as unknown, never be guessed.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/** Default lookup endpoint. Overridable via {@link setGeoEndpoint}. */
|
|
21
|
+
const DEFAULT_GEO_ENDPOINT = 'https://get-location.imohamadfahmy.workers.dev/';
|
|
22
|
+
const K_COUNTRY = 'scalebun.ota.geoCountry';
|
|
23
|
+
const K_FETCHED_AT = 'scalebun.ota.geoCountryAt';
|
|
24
|
+
const TTL_MS = 24 * 60 * 60 * 1000; // countries change when people travel — daily is plenty
|
|
25
|
+
const TIMEOUT_MS = 2500;
|
|
26
|
+
|
|
27
|
+
/** Cloudflare's non-countries: Tor exits and internal probes. Unknown, not a place. */
|
|
28
|
+
const NON_COUNTRIES = new Set(['XX', 'T1', 'ZZ']);
|
|
29
|
+
let endpoint = DEFAULT_GEO_ENDPOINT;
|
|
30
|
+
let memory = null;
|
|
31
|
+
let inFlight = null;
|
|
32
|
+
const storage = createStorageBackend();
|
|
33
|
+
|
|
34
|
+
/** Override the lookup endpoint (e.g. a self-hosted Worker). */
|
|
35
|
+
export function setGeoEndpoint(url) {
|
|
36
|
+
endpoint = url;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Synchronous read of the cached country (uppercase ISO 3166-1 alpha-2), or
|
|
41
|
+
* null when no fresh lookup has ever succeeded. Never triggers network.
|
|
42
|
+
*/
|
|
43
|
+
export function getDeviceCountry() {
|
|
44
|
+
if (memory) return memory;
|
|
45
|
+
const stored = storage.get(K_COUNTRY);
|
|
46
|
+
const at = parseInt(storage.get(K_FETCHED_AT) ?? '0', 10) || 0;
|
|
47
|
+
if (stored && Date.now() - at < TTL_MS) {
|
|
48
|
+
memory = stored;
|
|
49
|
+
return stored;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Refresh the cache from the Worker if stale. Fire-and-forget: call it at
|
|
56
|
+
* orchestrator init; the first check of a cold install may go out without a
|
|
57
|
+
* country (the server stores the country per device on later checks anyway).
|
|
58
|
+
*/
|
|
59
|
+
export function prefetchDeviceCountry() {
|
|
60
|
+
if (getDeviceCountry()) return Promise.resolve(); // fresh — nothing to do
|
|
61
|
+
if (inFlight) return inFlight;
|
|
62
|
+
inFlight = (async () => {
|
|
63
|
+
const controller = new AbortController();
|
|
64
|
+
const timer = setTimeout(() => controller.abort(), TIMEOUT_MS);
|
|
65
|
+
try {
|
|
66
|
+
const res = await fetch(endpoint, {
|
|
67
|
+
signal: controller.signal
|
|
68
|
+
});
|
|
69
|
+
if (!res.ok) return;
|
|
70
|
+
const body = await res.json();
|
|
71
|
+
const raw = typeof body?.country === 'string' ? body.country.trim().toUpperCase() : '';
|
|
72
|
+
if (!/^[A-Z]{2}$/.test(raw) || NON_COUNTRIES.has(raw)) return;
|
|
73
|
+
memory = raw;
|
|
74
|
+
storage.set(K_COUNTRY, raw);
|
|
75
|
+
storage.set(K_FETCHED_AT, String(Date.now()));
|
|
76
|
+
logger.debug(`[OTA] Device country resolved: ${raw}`);
|
|
77
|
+
} catch (err) {
|
|
78
|
+
logger.debug(`[OTA] Geo lookup skipped: ${err?.message ?? err}`);
|
|
79
|
+
} finally {
|
|
80
|
+
clearTimeout(timer);
|
|
81
|
+
inFlight = null;
|
|
82
|
+
}
|
|
83
|
+
})();
|
|
84
|
+
return inFlight;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=geoCountry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createStorageBackend","logger","DEFAULT_GEO_ENDPOINT","K_COUNTRY","K_FETCHED_AT","TTL_MS","TIMEOUT_MS","NON_COUNTRIES","Set","endpoint","memory","inFlight","storage","setGeoEndpoint","url","getDeviceCountry","stored","get","at","parseInt","Date","now","prefetchDeviceCountry","Promise","resolve","controller","AbortController","timer","setTimeout","abort","res","fetch","signal","ok","body","json","raw","country","trim","toUpperCase","test","has","set","String","debug","err","message","clearTimeout"],"sourceRoot":"../../../../src","sources":["features/ota/geoCountry.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,7 +12,10 @@ import { otaEventEmitter } from './OtaEventEmitter';
|
|
|
12
12
|
* apiUrl: 'https://api.scalebun.com/api/v1',
|
|
13
13
|
* clientKey: 'scalebun_ck_…',
|
|
14
14
|
* appVersion: '1.0.0',
|
|
15
|
-
* installationId
|
|
15
|
+
* // installationId is resolved from the SDK's own persisted install id —
|
|
16
|
+
* // do NOT pass deviceId here (the old example did; it split OTA telemetry
|
|
17
|
+
* // into a separate identity namespace from every other lane).
|
|
18
|
+
* channelName: 'production',
|
|
16
19
|
* mandatoryBlocksUi: true,
|
|
17
20
|
* });
|
|
18
21
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useCallback","useEffect","useRef","otaOrchestrator","otaEventEmitter","useOtaUpdate","options","isSyncing","setIsSyncing","syncResult","setSyncResult","downloadProgress","setDownloadProgress","lastEvent","setLastEvent","mandatoryUpdatePending","setMandatoryUpdatePending","optionsRef","current","unsubscribe","addListener","event","type","progress","sync","result","isMandatory","status","mandatoryBlocksUi","apiUrl","clientKey","appVersion","installationId","autoRestart","restart","isRestartRequired","activeBundle","bundle"],"sourceRoot":"../../../../src","sources":["features/ota/useOtaUpdate.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChE,SAASC,eAAe,QAAoB,mBAAmB;AAE/D,SAASC,eAAe,QAAkB,mBAAmB;
|
|
1
|
+
{"version":3,"names":["useState","useCallback","useEffect","useRef","otaOrchestrator","otaEventEmitter","useOtaUpdate","options","isSyncing","setIsSyncing","syncResult","setSyncResult","downloadProgress","setDownloadProgress","lastEvent","setLastEvent","mandatoryUpdatePending","setMandatoryUpdatePending","optionsRef","current","unsubscribe","addListener","event","type","progress","sync","result","isMandatory","status","mandatoryBlocksUi","apiUrl","clientKey","appVersion","installationId","autoRestart","restart","isRestartRequired","activeBundle","bundle"],"sourceRoot":"../../../../src","sources":["features/ota/useOtaUpdate.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,7 +57,7 @@ export class PerformanceFeature {
|
|
|
57
57
|
static CAPTURE_DELAYS = [300, 600, 1200];
|
|
58
58
|
|
|
59
59
|
// Track event function from SDK pipeline
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
constructor(config) {
|
|
62
62
|
this.config = mergePerformanceConfig(config);
|
|
63
63
|
this.transport = new PerformanceTransport(this.config);
|
|
@@ -137,7 +137,6 @@ export class PerformanceFeature {
|
|
|
137
137
|
|
|
138
138
|
async initialize(context) {
|
|
139
139
|
if (this.active || !this.config.enabled) return;
|
|
140
|
-
this.trackFn = context.trackEvent;
|
|
141
140
|
this.active = true;
|
|
142
141
|
|
|
143
142
|
// Activate native performance collectors (Android AppStart/Frame/ANR,
|
|
@@ -467,13 +466,28 @@ export class PerformanceFeature {
|
|
|
467
466
|
// Send to debug transport
|
|
468
467
|
this.transport.sendEvent(event);
|
|
469
468
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
469
|
+
/**
|
|
470
|
+
* REMOVED: a duplicate `$perf_event` through the analytics/event pipeline.
|
|
471
|
+
*
|
|
472
|
+
* This claimed to be "for backend ingestion", but the `queuePerformanceMetric` call below is
|
|
473
|
+
* the backend ingestion path — it writes the dedicated `performance_metrics` table, and that
|
|
474
|
+
* is what EVERY consumer reads: `perf-aggregate.ch.ts` (FPS, frameMetricsSessions), the
|
|
475
|
+
* Monitor low-FPS KPI, the page-load RenderingPanel and the Replay Inspector's FPS readout.
|
|
476
|
+
* Nothing in the backend or the dashboard reads `$perf_event` — verified by search.
|
|
477
|
+
*
|
|
478
|
+
* So this line wrote every perf sample a SECOND time, into the event lane, where it landed as
|
|
479
|
+
* `USER_ACTION` and was counted as a user interaction. Measured in production:
|
|
480
|
+
*
|
|
481
|
+
* performance_metrics.frame_metrics 75,278 ← read by everything
|
|
482
|
+
* replay_events (as USER_ACTION) 47,019 ← read by nothing
|
|
483
|
+
*
|
|
484
|
+
* `USER_ACTION` was 99% of all mobile events (62,026 of ~62,600), and only 980 of those
|
|
485
|
+
* carried real gesture data. One session showed 4,735 events against SIX real gestures. That
|
|
486
|
+
* made session event counts meaningless and polluted anything counting user interactions.
|
|
487
|
+
*
|
|
488
|
+
* Dropping it loses no data and no feature — the perf lane's copy is the more complete one —
|
|
489
|
+
* and it costs a duplicate serialize + upload per sample on every session.
|
|
490
|
+
*/
|
|
477
491
|
|
|
478
492
|
// Queue to SaaS backend dedicated performance endpoint
|
|
479
493
|
const backendTransport = SessionManager.getExistingInstance()?.getBackendTransport();
|