@multiplayer-app/session-recorder-react-native 0.0.1 → 1.0.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/README.md +708 -83
- package/SessionRecorderNative.podspec +26 -0
- package/android/build.gradle +34 -0
- package/copy-react-native-dist.sh +34 -16
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
- package/dist/components/SessionRecorderWidget/ErrorBanner.d.ts +7 -0
- package/dist/components/SessionRecorderWidget/ErrorBanner.js +1 -0
- package/dist/components/SessionRecorderWidget/ErrorBanner.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +12 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +16 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
- package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
- package/dist/components/SessionRecorderWidget/icons.js +1 -0
- package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
- package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
- package/dist/components/SessionRecorderWidget/index.js +1 -0
- package/dist/components/SessionRecorderWidget/index.js.map +1 -0
- package/dist/components/SessionRecorderWidget/styles.d.ts +165 -0
- package/dist/components/SessionRecorderWidget/styles.js +1 -0
- package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/config/constants.js +1 -1
- package/dist/config/constants.js.map +1 -1
- package/dist/config/defaults.d.ts +4 -4
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/masking.d.ts +2 -2
- package/dist/config/masking.js +1 -1
- package/dist/config/masking.js.map +1 -1
- package/dist/config/session-recorder.js +1 -1
- package/dist/config/session-recorder.js.map +1 -1
- package/dist/config/validators.d.ts +1 -1
- package/dist/config/validators.js +1 -1
- package/dist/config/validators.js.map +1 -1
- package/dist/config/widget.d.ts +9 -0
- package/dist/config/widget.js +1 -0
- package/dist/config/widget.js.map +1 -0
- package/dist/context/SessionRecorderContext.d.ts +12 -3
- package/dist/context/SessionRecorderContext.js +1 -1
- package/dist/context/SessionRecorderContext.js.map +1 -1
- package/dist/context/SessionRecorderStore.d.ts +12 -0
- package/dist/context/SessionRecorderStore.js +1 -0
- package/dist/context/SessionRecorderStore.js.map +1 -0
- package/dist/context/useSessionRecorderStore.d.ts +8 -0
- package/dist/context/useSessionRecorderStore.js +1 -0
- package/dist/context/useSessionRecorderStore.js.map +1 -0
- package/dist/context/useStoreSelector.d.ts +4 -0
- package/dist/context/useStoreSelector.js +1 -0
- package/dist/context/useStoreSelector.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native/GestureRecorderNative.d.ts +57 -0
- package/dist/native/GestureRecorderNative.js +1 -0
- package/dist/native/GestureRecorderNative.js.map +1 -0
- package/dist/native/SessionRecorderNative.d.ts +33 -0
- package/dist/native/SessionRecorderNative.js +1 -0
- package/dist/native/SessionRecorderNative.js.map +1 -0
- package/dist/native/index.d.ts +2 -0
- package/dist/native/index.js +1 -0
- package/dist/native/index.js.map +1 -0
- package/dist/otel/index.js +1 -1
- package/dist/otel/index.js.map +1 -1
- package/dist/patch/xhr.js +1 -1
- package/dist/patch/xhr.js.map +1 -1
- package/dist/recorder/eventExporter.d.ts +4 -1
- package/dist/recorder/eventExporter.js +1 -1
- package/dist/recorder/eventExporter.js.map +1 -1
- package/dist/recorder/gestureRecorder.d.ts +28 -62
- package/dist/recorder/gestureRecorder.js +1 -1
- package/dist/recorder/gestureRecorder.js.map +1 -1
- package/dist/recorder/index.d.ts +2 -0
- package/dist/recorder/index.js +1 -1
- package/dist/recorder/index.js.map +1 -1
- package/dist/recorder/navigationTracker.d.ts +4 -19
- package/dist/recorder/navigationTracker.js +1 -1
- package/dist/recorder/navigationTracker.js.map +1 -1
- package/dist/recorder/screenRecorder.d.ts +11 -5
- package/dist/recorder/screenRecorder.js +1 -1
- package/dist/recorder/screenRecorder.js.map +1 -1
- package/dist/services/api.service.d.ts +12 -3
- package/dist/services/api.service.js +1 -1
- package/dist/services/api.service.js.map +1 -1
- package/dist/services/network.service.d.ts +46 -0
- package/dist/services/network.service.js +1 -0
- package/dist/services/network.service.js.map +1 -0
- package/dist/services/screenMaskingService.d.ts +47 -0
- package/dist/services/screenMaskingService.js +1 -0
- package/dist/services/screenMaskingService.js.map +1 -0
- package/dist/services/storage.service.d.ts +18 -2
- package/dist/services/storage.service.js +1 -1
- package/dist/services/storage.service.js.map +1 -1
- package/dist/session-recorder.d.ts +18 -33
- package/dist/session-recorder.js +1 -1
- package/dist/session-recorder.js.map +1 -1
- package/dist/types/configs.d.ts +85 -0
- package/dist/types/configs.js +1 -0
- package/dist/types/configs.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/session-recorder.d.ts +105 -132
- package/dist/types/session-recorder.js +1 -1
- package/dist/types/session-recorder.js.map +1 -1
- package/dist/utils/constants.optional.d.ts +21 -0
- package/dist/utils/constants.optional.expo.d.ts +3 -0
- package/dist/utils/constants.optional.expo.js +1 -0
- package/dist/utils/constants.optional.expo.js.map +1 -0
- package/dist/utils/constants.optional.js +1 -0
- package/dist/utils/constants.optional.js.map +1 -0
- package/dist/utils/createStore.d.ts +8 -0
- package/dist/utils/createStore.js +1 -0
- package/dist/utils/createStore.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -7
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/platform.d.ts +11 -0
- package/dist/utils/platform.js +1 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/rrweb-events.d.ts +4 -3
- package/dist/utils/rrweb-events.js +1 -1
- package/dist/utils/rrweb-events.js.map +1 -1
- package/dist/utils/session.d.ts +2 -1
- package/dist/utils/session.js +1 -1
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/shallowEqual.d.ts +1 -0
- package/dist/utils/shallowEqual.js +1 -0
- package/dist/utils/shallowEqual.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/ios/GestureRecorderNative.m +21 -0
- package/ios/GestureRecorderNative.swift +316 -0
- package/ios/SessionRecorderNative.m +17 -0
- package/ios/SessionRecorderNative.podspec +26 -0
- package/ios/SessionRecorderNative.swift +599 -0
- package/package.json +15 -16
- package/react-native.config.js +12 -0
- package/RRWEB_INTEGRATION.md +0 -336
- package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
- package/babel.config.js +0 -13
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +0 -6
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +0 -1
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +0 -1
- package/dist/components/GestureCaptureWrapper/index.d.ts +0 -1
- package/dist/components/GestureCaptureWrapper/index.js +0 -1
- package/dist/components/GestureCaptureWrapper/index.js.map +0 -1
- package/dist/components/GestureCaptureWrapper.d.ts +0 -6
- package/dist/components/GestureCaptureWrapper.js +0 -1
- package/dist/components/GestureCaptureWrapper.js.map +0 -1
- package/dist/expo.d.ts +0 -7
- package/dist/expo.js +0 -1
- package/dist/expo.js.map +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
- package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
- package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
- package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
- package/dist/recorder/gestureHandlerRecorder.js +0 -1
- package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
- package/dist/types/rrweb.d.ts +0 -118
- package/dist/types/rrweb.js +0 -1
- package/dist/types/rrweb.js.map +0 -1
- package/scripts/generate-app-metadata.js +0 -173
- package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
- package/src/components/GestureCaptureWrapper/index.ts +0 -1
- package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
- package/src/components/ScreenRecorderView/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/config/constants.ts +0 -60
- package/src/config/defaults.ts +0 -82
- package/src/config/index.ts +0 -6
- package/src/config/masking.ts +0 -27
- package/src/config/session-recorder.ts +0 -55
- package/src/config/validators.ts +0 -31
- package/src/context/SessionRecorderContext.tsx +0 -75
- package/src/expo.ts +0 -11
- package/src/index.ts +0 -17
- package/src/otel/helpers.ts +0 -275
- package/src/otel/index.ts +0 -138
- package/src/otel/instrumentations/index.ts +0 -115
- package/src/patch/index.ts +0 -1
- package/src/patch/xhr.ts +0 -142
- package/src/recorder/eventExporter.ts +0 -141
- package/src/recorder/gestureRecorder.ts +0 -498
- package/src/recorder/index.ts +0 -179
- package/src/recorder/navigationTracker.ts +0 -449
- package/src/recorder/screenRecorder.ts +0 -498
- package/src/services/api.service.ts +0 -203
- package/src/services/storage.service.ts +0 -158
- package/src/session-recorder.ts +0 -600
- package/src/types/expo.d.ts +0 -23
- package/src/types/index.ts +0 -28
- package/src/types/session-recorder.ts +0 -423
- package/src/types/session.ts +0 -65
- package/src/utils/app-metadata.ts +0 -31
- package/src/utils/index.ts +0 -8
- package/src/utils/logger.ts +0 -225
- package/src/utils/platform.ts +0 -384
- package/src/utils/request-utils.ts +0 -61
- package/src/utils/rrweb-events.ts +0 -309
- package/src/utils/session.ts +0 -18
- package/src/utils/time.ts +0 -17
- package/src/utils/type-utils.ts +0 -75
- package/src/version.ts +0 -1
- package/tsconfig.json +0 -24
|
@@ -8,6 +8,7 @@ export declare class ScreenRecorder implements EventRecorder {
|
|
|
8
8
|
private captureCount;
|
|
9
9
|
private maxCaptures;
|
|
10
10
|
private captureQuality;
|
|
11
|
+
private captureScale;
|
|
11
12
|
private captureFormat;
|
|
12
13
|
private screenDimensions;
|
|
13
14
|
private currentScreen;
|
|
@@ -19,6 +20,7 @@ export declare class ScreenRecorder implements EventRecorder {
|
|
|
19
20
|
private enableChangeDetection;
|
|
20
21
|
private hashSampleSize;
|
|
21
22
|
private currentImageNodeId;
|
|
23
|
+
private maskingConfig?;
|
|
22
24
|
init(config: RecorderConfig, eventRecorder?: EventRecorder): void;
|
|
23
25
|
start(): void;
|
|
24
26
|
stop(): void;
|
|
@@ -33,22 +35,25 @@ export declare class ScreenRecorder implements EventRecorder {
|
|
|
33
35
|
/**
|
|
34
36
|
* Create a full snapshot event with the given base64 image
|
|
35
37
|
* @param base64Image - Base64 encoded image data
|
|
38
|
+
* @param timestamp - Optional timestamp to use for the event
|
|
36
39
|
* @returns Full snapshot event
|
|
37
40
|
*/
|
|
38
|
-
createFullSnapshot(base64Image: string): eventWithTime;
|
|
41
|
+
createFullSnapshot(base64Image: string, timestamp?: number): eventWithTime;
|
|
39
42
|
/**
|
|
40
43
|
* Create an incremental snapshot event with mutation data to update image src
|
|
41
44
|
* @param base64Image - New base64 encoded image data
|
|
42
|
-
* @param
|
|
45
|
+
* @param captureFormat - Image format (png, jpg, etc.)
|
|
46
|
+
* @param timestamp - Optional timestamp to use for the event
|
|
43
47
|
* @returns Incremental snapshot event with mutation data
|
|
44
48
|
*/
|
|
45
|
-
createIncrementalSnapshotWithImageUpdate(base64Image: string): eventWithTime;
|
|
49
|
+
createIncrementalSnapshotWithImageUpdate(base64Image: string, captureFormat?: string, timestamp?: number): eventWithTime;
|
|
46
50
|
/**
|
|
47
51
|
* Update the screen with a new image using incremental snapshot
|
|
48
52
|
* @param base64Image - New base64 encoded image data
|
|
53
|
+
* @param timestamp - Optional timestamp to use for the event
|
|
49
54
|
* @returns true if update was successful, false otherwise
|
|
50
55
|
*/
|
|
51
|
-
updateScreenWithIncrementalSnapshot(base64Image: string): boolean;
|
|
56
|
+
updateScreenWithIncrementalSnapshot(base64Image: string, timestamp?: number): boolean;
|
|
52
57
|
/**
|
|
53
58
|
* Force a full snapshot (useful when screen dimensions change or for debugging)
|
|
54
59
|
* @param base64Image - Base64 encoded image data
|
|
@@ -105,8 +110,9 @@ export declare class ScreenRecorder implements EventRecorder {
|
|
|
105
110
|
/**
|
|
106
111
|
* Force capture screen (useful after touch interactions)
|
|
107
112
|
* This bypasses the change detection and always captures
|
|
113
|
+
* @param timestamp - Optional timestamp to use for the capture event
|
|
108
114
|
*/
|
|
109
|
-
forceCapture(): void;
|
|
115
|
+
forceCapture(timestamp?: number): void;
|
|
110
116
|
/**
|
|
111
117
|
* Record an rrweb event
|
|
112
118
|
* @param event - The rrweb event to record
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorder=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _reactNativeViewShot=require("react-native-view-shot");var _utils=require("../utils");var ScreenRecorder=exports.ScreenRecorder=function(){function ScreenRecorder(){(0,_classCallCheck2["default"])(this,ScreenRecorder);this.isRecording=false;this.events=[];this.captureCount=0;this.maxCaptures=100;this.captureQuality=0.3;this.captureFormat='jpg';this.screenDimensions=null;this.currentScreen=null;this.nodeIdCounter=1;this.viewShotRef=null;this.lastScreenCapture=null;this.lastScreenHash=null;this.enableChangeDetection=true;this.hashSampleSize=100;this.currentImageNodeId=null;}return(0,_createClass2["default"])(ScreenRecorder,[{key:"init",value:function init(config,eventRecorder){this.config=config;this.eventRecorder=eventRecorder;this._getScreenDimensions();}},{key:"start",value:function start(){this.isRecording=true;this.events=[];this.captureCount=0;this.lastScreenCapture=null;this.lastScreenHash=null;this.currentImageNodeId=null;_utils.logger.info('ScreenRecorder','Screen recording started');this.recordEvent((0,_utils.createRecordingMetaEvent)());this._startPeriodicCapture();this._captureScreen();}},{key:"stop",value:function stop(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"pause",value:function pause(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"resume",value:function resume(){this.isRecording=true;}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_startPeriodicCapture",value:function _startPeriodicCapture(){var _this=this;if(this.captureInterval){clearInterval(this.captureInterval);}this.captureInterval=setInterval(function(){_this._captureScreen();},5000);}},{key:"_stopPeriodicCapture",value:function _stopPeriodicCapture(){if(this.captureInterval){clearInterval(this.captureInterval);this.captureInterval=undefined;}}},{key:"_captureScreen",value:function(){var _captureScreen2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var base64Image,hasChanged,success,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(!this.isRecording||this.captureCount>=this.maxCaptures)){_context.next=1;break;}return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return this._captureScreenBase64();case 2:base64Image=_context.sent;if(base64Image){hasChanged=this.enableChangeDetection?this._hasScreenChanged(base64Image):true;if(hasChanged){if(this.currentImageNodeId!==null&&this.lastScreenCapture){success=this.updateScreenWithIncrementalSnapshot(base64Image);if(!success){this._createAndEmitFullSnapshotEvent(base64Image);}}else{this._createAndEmitFullSnapshotEvent(base64Image);}this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);this._recordScreenCaptureError(_t);case 4:case"end":return _context.stop();}},_callee,this,[[1,3]]);}));function _captureScreen(){return _captureScreen2.apply(this,arguments);}return _captureScreen;}()},{key:"_captureScreenBase64",value:function(){var _captureScreenBase=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var result,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;if(this.viewShotRef){_context2.next=1;break;}_utils.logger.warn('ScreenRecorder','ViewShot ref not available for screen capture');return _context2.abrupt("return",null);case 1:_context2.next=2;return(0,_reactNativeViewShot.captureRef)(this.viewShotRef,{format:this.captureFormat,quality:this.captureQuality,result:'base64'});case 2:result=_context2.sent;return _context2.abrupt("return",result);case 3:_context2.prev=3;_t2=_context2["catch"](0);_utils.logger.error('ScreenRecorder','Failed to capture screen. Make sure react-native-view-shot is properly installed and linked:',_t2);return _context2.abrupt("return",null);case 4:case"end":return _context2.stop();}},_callee2,this,[[0,3]]);}));function _captureScreenBase64(){return _captureScreenBase.apply(this,arguments);}return _captureScreenBase64;}()},{key:"_createAndEmitFullSnapshotEvent",value:function _createAndEmitFullSnapshotEvent(base64Image){if(!this.screenDimensions)return;var fullSnapshotEvent=this.createFullSnapshot(base64Image);this.recordEvent(fullSnapshotEvent);}},{key:"createFullSnapshot",value:function createFullSnapshot(base64Image){if(!this.screenDimensions){throw new Error('Screen dimensions not available');}var _this$screenDimension=this.screenDimensions,width=_this$screenDimension.width,height=_this$screenDimension.height;this.nodeIdCounter=1;var fullSnapshotEvent=(0,_utils.createFullSnapshotEvent)(base64Image,width,height,this.captureFormat,{current:this.nodeIdCounter});this.currentImageNodeId=0;return fullSnapshotEvent;}},{key:"createIncrementalSnapshotWithImageUpdate",value:function createIncrementalSnapshotWithImageUpdate(base64Image){return(0,_utils.createIncrementalSnapshotWithImageUpdate)(base64Image,this.captureFormat);}},{key:"updateScreenWithIncrementalSnapshot",value:function updateScreenWithIncrementalSnapshot(base64Image){if(this.currentImageNodeId===null){_utils.logger.warn('ScreenRecorder','No image node ID available for incremental update');return false;}var incrementalEvent=this.createIncrementalSnapshotWithImageUpdate(base64Image);this.recordEvent(incrementalEvent);return true;}},{key:"forceFullSnapshot",value:function forceFullSnapshot(base64Image){this._createAndEmitFullSnapshotEvent(base64Image);this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}},{key:"_hasScreenChanged",value:function _hasScreenChanged(currentBase64){if(!this.lastScreenCapture){return true;}var currentHash=this._generateScreenHash(currentBase64);return currentHash!==this.lastScreenHash;}},{key:"_generateScreenHash",value:function _generateScreenHash(base64Image){return(0,_utils.generateScreenHash)(base64Image,this.hashSampleSize);}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('screen').startSpan("Screen.".concat(event.type),{attributes:{'screen.type':event.type,'screen.timestamp':event.timestamp,'screen.platform':'react-native'}});if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("screen.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"_recordScreenCaptureError",value:function _recordScreenCaptureError(error){try{var span=_api.trace.getTracer('screen').startSpan('Screen.capture.error',{attributes:{'screen.error':true,'screen.error.type':error.name,'screen.error.message':error.message,'screen.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"captureSpecificElement",value:function(){var _captureSpecificElement=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(elementRef,options){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=1;return(0,_reactNativeViewShot.captureRef)(elementRef);case 1:return _context3.abrupt("return",_context3.sent);case 2:_context3.prev=2;_t3=_context3["catch"](0);return _context3.abrupt("return",null);case 3:case"end":return _context3.stop();}},_callee3,null,[[0,2]]);}));function captureSpecificElement(_x,_x2){return _captureSpecificElement.apply(this,arguments);}return captureSpecificElement;}()},{key:"setCaptureInterval",value:function setCaptureInterval(intervalMs){var _this2=this;if(this.captureInterval){clearInterval(this.captureInterval);}if(this.isRecording){this.captureInterval=setInterval(function(){_this2._captureScreen();},intervalMs);}}},{key:"setCaptureQuality",value:function setCaptureQuality(quality){this.captureQuality=Math.max(0.1,Math.min(1.0,quality));}},{key:"setCaptureFormat",value:function setCaptureFormat(format){this.captureFormat=format;}},{key:"setMaxCaptures",value:function setMaxCaptures(max){this.maxCaptures=Math.max(1,max);}},{key:"setChangeDetection",value:function setChangeDetection(enabled){this.enableChangeDetection=enabled;}},{key:"setHashSampleSize",value:function setHashSampleSize(size){this.hashSampleSize=Math.max(10,Math.min(1000,size));}},{key:"recordScreenPerformance",value:function recordScreenPerformance(screenName,loadTime){var event={screenName:screenName,type:'screenCapture',timestamp:Date.now(),metadata:{screenName:screenName,loadTime:loadTime,performance:'monitoring',captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"recordScreenError",value:function recordScreenError(error,screenName){var event={screenName:screenName||'unknown',type:'screenCapture',timestamp:Date.now(),metadata:{error:true,errorType:error.name,errorMessage:error.message,screenName:screenName,captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordScreenCaptureError(error);}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];this.captureCount=0;}},{key:"getScreenStats",value:function getScreenStats(){var stats={totalCaptures:this.captureCount,totalEvents:this.events.length,averageCaptureTime:0,successRate:0};if(this.events.length>0){var captureTimes=this.events.map(function(event){var _a;return((_a=event.metadata)===null||_a===void 0?void 0:_a.captureTime)||0;}).filter(function(time){return time>0;});if(captureTimes.length>0){stats.averageCaptureTime=captureTimes.reduce(function(a,b){return a+b;},0)/captureTimes.length;}var successfulCaptures=this.events.filter(function(event){return event.dataUrl;}).length;stats.successRate=successfulCaptures/this.events.length*100;}return stats;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getConfiguration",value:function getConfiguration(){return{captureInterval:this.captureInterval?5000:0,captureQuality:this.captureQuality,captureFormat:this.captureFormat,maxCaptures:this.maxCaptures,screenDimensions:this.screenDimensions};}},{key:"shutdown",value:function shutdown(){this.stop();this.clearEvents();}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.viewShotRef=ref;}},{key:"forceCapture",value:function forceCapture(){if(!this.isRecording){return;}this._captureScreen();}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}}]);}();
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorder=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _utils=require("../utils");var _screenMaskingService=require("../services/screenMaskingService");var _reactNativeViewShot=require("react-native-view-shot");function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var isWeb=_reactNative.Platform.OS==='web';var ScreenRecorder=exports.ScreenRecorder=function(){function ScreenRecorder(){(0,_classCallCheck2["default"])(this,ScreenRecorder);this.isRecording=false;this.events=[];this.captureCount=0;this.maxCaptures=100;this.captureQuality=0.2;this.captureScale=0.66;this.captureFormat='jpg';this.screenDimensions=null;this.currentScreen=null;this.nodeIdCounter=1;this.viewShotRef=null;this.lastScreenCapture=null;this.lastScreenHash=null;this.enableChangeDetection=true;this.hashSampleSize=100;this.currentImageNodeId=null;}return(0,_createClass2["default"])(ScreenRecorder,[{key:"init",value:function init(config,eventRecorder){this.config=config;this.eventRecorder=eventRecorder;this._getScreenDimensions();this.maskingConfig=_objectSpread({enabled:true},this.config.masking);_screenMaskingService.screenMaskingService.updateConfig(this.maskingConfig);}},{key:"start",value:function start(){this.isRecording=true;this.events=[];this.captureCount=0;this.lastScreenCapture=null;this.lastScreenHash=null;this.currentImageNodeId=null;_utils.logger.info('ScreenRecorder','Screen recording started');this.recordEvent((0,_utils.createRecordingMetaEvent)());this._startPeriodicCapture();this._captureScreen();}},{key:"stop",value:function stop(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"pause",value:function pause(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"resume",value:function resume(){this.isRecording=true;}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_startPeriodicCapture",value:function _startPeriodicCapture(){var _this=this;if(this.captureInterval){clearInterval(this.captureInterval);}this.captureInterval=setInterval(function(){_this._captureScreen();},5000);}},{key:"_stopPeriodicCapture",value:function _stopPeriodicCapture(){if(this.captureInterval){clearInterval(this.captureInterval);this.captureInterval=undefined;}}},{key:"_captureScreen",value:function(){var _captureScreen2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(timestamp){var base64Image,hasChanged,success,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(!this.isRecording||this.captureCount>=this.maxCaptures)){_context.next=1;break;}return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return this._captureScreenBase64();case 2:base64Image=_context.sent;if(base64Image){hasChanged=this.enableChangeDetection?this._hasScreenChanged(base64Image):true;if(hasChanged){if(this.currentImageNodeId!==null&&this.lastScreenCapture){success=this.updateScreenWithIncrementalSnapshot(base64Image,timestamp);if(!success){this._createAndEmitFullSnapshotEvent(base64Image,timestamp);}}else{this._createAndEmitFullSnapshotEvent(base64Image,timestamp);}this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);this._recordScreenCaptureError(_t);case 4:case"end":return _context.stop();}},_callee,this,[[1,3]]);}));function _captureScreen(_x){return _captureScreen2.apply(this,arguments);}return _captureScreen;}()},{key:"_captureScreenBase64",value:function(){var _captureScreenBase=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var maskedImage,result,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;if(!isWeb){_context2.next=1;break;}_utils.logger.warn('ScreenRecorder','Screen capture not available on web platform');return _context2.abrupt("return",null);case 1:if(!_screenMaskingService.screenMaskingService.isScreenMaskingAvailable()){_context2.next=4;break;}_utils.logger.info('ScreenRecorder','Using native masking for screen capture');_context2.next=2;return _screenMaskingService.screenMaskingService.captureMaskedScreen({quality:this.captureQuality,scale:this.captureScale});case 2:maskedImage=_context2.sent;if(!maskedImage){_context2.next=3;break;}return _context2.abrupt("return",maskedImage);case 3:_utils.logger.warn('ScreenRecorder','Native masking failed, falling back to view-shot');case 4:if(this.viewShotRef){_context2.next=5;break;}_utils.logger.warn('ScreenRecorder','ViewShot ref not available for screen capture');return _context2.abrupt("return",null);case 5:if(_reactNativeViewShot.captureRef){_context2.next=6;break;}_utils.logger.warn('ScreenRecorder','react-native-view-shot not available');return _context2.abrupt("return",null);case 6:_context2.next=7;return(0,_reactNativeViewShot.captureRef)(this.viewShotRef,{format:this.captureFormat,quality:this.captureQuality,result:'base64'});case 7:result=_context2.sent;return _context2.abrupt("return",result);case 8:_context2.prev=8;_t2=_context2["catch"](0);_utils.logger.error('ScreenRecorder','Failed to capture screen. Make sure react-native-view-shot is properly installed and linked:',_t2);return _context2.abrupt("return",null);case 9:case"end":return _context2.stop();}},_callee2,this,[[0,8]]);}));function _captureScreenBase64(){return _captureScreenBase.apply(this,arguments);}return _captureScreenBase64;}()},{key:"_createAndEmitFullSnapshotEvent",value:function _createAndEmitFullSnapshotEvent(base64Image,timestamp){if(!this.screenDimensions)return;var fullSnapshotEvent=this.createFullSnapshot(base64Image,timestamp);this.recordEvent(fullSnapshotEvent);}},{key:"createFullSnapshot",value:function createFullSnapshot(base64Image,timestamp){if(!this.screenDimensions){throw new Error('Screen dimensions not available');}var _this$screenDimension=this.screenDimensions,width=_this$screenDimension.width,height=_this$screenDimension.height;this.nodeIdCounter=1;var fullSnapshotEvent=(0,_utils.createFullSnapshotEvent)(base64Image,width,height,this.captureFormat,{current:this.nodeIdCounter},timestamp);this.currentImageNodeId=0;return fullSnapshotEvent;}},{key:"createIncrementalSnapshotWithImageUpdate",value:function createIncrementalSnapshotWithImageUpdate(base64Image,captureFormat,timestamp){return(0,_utils.createIncrementalSnapshotWithImageUpdate)(base64Image,captureFormat||this.captureFormat,timestamp);}},{key:"updateScreenWithIncrementalSnapshot",value:function updateScreenWithIncrementalSnapshot(base64Image,timestamp){if(this.currentImageNodeId===null){_utils.logger.warn('ScreenRecorder','No image node ID available for incremental update');return false;}var incrementalEvent=this.createIncrementalSnapshotWithImageUpdate(base64Image,'jpg',timestamp);this.recordEvent(incrementalEvent);return true;}},{key:"forceFullSnapshot",value:function forceFullSnapshot(base64Image){this._createAndEmitFullSnapshotEvent(base64Image);this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}},{key:"_hasScreenChanged",value:function _hasScreenChanged(currentBase64){if(!this.lastScreenCapture){return true;}var currentHash=this._generateScreenHash(currentBase64);return currentHash!==this.lastScreenHash;}},{key:"_generateScreenHash",value:function _generateScreenHash(base64Image){return(0,_utils.generateScreenHash)(base64Image,this.hashSampleSize);}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('screen').startSpan("Screen.".concat(event.type),{attributes:{'screen.type':event.type,'screen.timestamp':event.timestamp,'screen.platform':'react-native'}});if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("screen.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"_recordScreenCaptureError",value:function _recordScreenCaptureError(error){try{var span=_api.trace.getTracer('screen').startSpan('Screen.capture.error',{attributes:{'screen.error':true,'screen.error.type':error.name,'screen.error.message':error.message,'screen.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"captureSpecificElement",value:function(){var _captureSpecificElement=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(elementRef,options){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;if(!(isWeb||!_reactNativeViewShot.captureRef)){_context3.next=1;break;}_utils.logger.warn('ScreenRecorder','Element capture not available on web platform');return _context3.abrupt("return",null);case 1:_context3.next=2;return(0,_reactNativeViewShot.captureRef)(elementRef);case 2:return _context3.abrupt("return",_context3.sent);case 3:_context3.prev=3;_t3=_context3["catch"](0);return _context3.abrupt("return",null);case 4:case"end":return _context3.stop();}},_callee3,null,[[0,3]]);}));function captureSpecificElement(_x2,_x3){return _captureSpecificElement.apply(this,arguments);}return captureSpecificElement;}()},{key:"setCaptureInterval",value:function setCaptureInterval(intervalMs){var _this2=this;if(this.captureInterval){clearInterval(this.captureInterval);}if(this.isRecording){this.captureInterval=setInterval(function(){_this2._captureScreen();},intervalMs);}}},{key:"setCaptureQuality",value:function setCaptureQuality(quality){this.captureQuality=Math.max(0.1,Math.min(1.0,quality));}},{key:"setCaptureFormat",value:function setCaptureFormat(format){this.captureFormat=format;}},{key:"setMaxCaptures",value:function setMaxCaptures(max){this.maxCaptures=Math.max(1,max);}},{key:"setChangeDetection",value:function setChangeDetection(enabled){this.enableChangeDetection=enabled;}},{key:"setHashSampleSize",value:function setHashSampleSize(size){this.hashSampleSize=Math.max(10,Math.min(1000,size));}},{key:"recordScreenPerformance",value:function recordScreenPerformance(screenName,loadTime){var event={screenName:screenName,type:'screenCapture',timestamp:Date.now(),metadata:{screenName:screenName,loadTime:loadTime,performance:'monitoring',captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"recordScreenError",value:function recordScreenError(error,screenName){var event={screenName:screenName||'unknown',type:'screenCapture',timestamp:Date.now(),metadata:{error:true,errorType:error.name,errorMessage:error.message,screenName:screenName,captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordScreenCaptureError(error);}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];this.captureCount=0;}},{key:"getScreenStats",value:function getScreenStats(){var stats={totalCaptures:this.captureCount,totalEvents:this.events.length,averageCaptureTime:0,successRate:0};if(this.events.length>0){var captureTimes=this.events.map(function(event){var _a;return((_a=event.metadata)===null||_a===void 0?void 0:_a.captureTime)||0;}).filter(function(time){return time>0;});if(captureTimes.length>0){stats.averageCaptureTime=captureTimes.reduce(function(a,b){return a+b;},0)/captureTimes.length;}var successfulCaptures=this.events.filter(function(event){return event.dataUrl;}).length;stats.successRate=successfulCaptures/this.events.length*100;}return stats;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getConfiguration",value:function getConfiguration(){return{captureInterval:this.captureInterval?2000:0,captureQuality:this.captureQuality,captureFormat:this.captureFormat,maxCaptures:this.maxCaptures,screenDimensions:this.screenDimensions};}},{key:"shutdown",value:function shutdown(){this.stop();this.clearEvents();}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.viewShotRef=ref;}},{key:"forceCapture",value:function forceCapture(timestamp){if(!this.isRecording){return;}this._captureScreen(timestamp);}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}}]);}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenRecorder.js","sourceRoot":"","sources":["../../src/recorder/screenRecorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screenRecorder.js","sourceRoot":"","sources":["../../src/recorder/screenRecorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IResourceAttributes, ISessionAttributes, ApiServiceConfig } from '../types';
|
|
2
2
|
export interface StartSessionRequest {
|
|
3
3
|
name?: string;
|
|
4
4
|
stoppedAt?: string | number;
|
|
5
5
|
sessionAttributes?: ISessionAttributes;
|
|
6
6
|
resourceAttributes?: IResourceAttributes;
|
|
7
7
|
debugSessionData?: Record<string, any>;
|
|
8
|
+
tags?: {
|
|
9
|
+
key?: string;
|
|
10
|
+
value: string;
|
|
11
|
+
}[];
|
|
8
12
|
}
|
|
9
13
|
export interface StopSessionRequest {
|
|
10
14
|
sessionAttributes?: ISessionAttributes;
|
|
@@ -14,12 +18,17 @@ export declare class ApiService {
|
|
|
14
18
|
private config?;
|
|
15
19
|
private baseUrl;
|
|
16
20
|
constructor();
|
|
17
|
-
init(config:
|
|
21
|
+
init(config: ApiServiceConfig): void;
|
|
18
22
|
/**
|
|
19
23
|
* Update the API service configuration
|
|
20
24
|
* @param config - Partial configuration to update
|
|
21
25
|
*/
|
|
22
|
-
updateConfigs(config: Partial<
|
|
26
|
+
updateConfigs(config: Partial<ApiServiceConfig>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Set the API key
|
|
29
|
+
* @param apiKey - The API key to set
|
|
30
|
+
*/
|
|
31
|
+
setApiKey(apiKey: string): void;
|
|
23
32
|
/**
|
|
24
33
|
* Make a request to the session debugger API
|
|
25
34
|
* @param path - API endpoint path (relative to the base URL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ApiService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var ApiService=exports.ApiService=function(){function ApiService(){(0,_classCallCheck2["default"])(this,ApiService);this.baseUrl='https://api.multiplayer.app';this.config={apiKey:'',apiBaseUrl:'',exporterEndpoint:''
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ApiService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var ApiService=exports.ApiService=function(){function ApiService(){(0,_classCallCheck2["default"])(this,ApiService);this.baseUrl='https://api.multiplayer.app';this.config={apiKey:'',apiBaseUrl:'',exporterEndpoint:''};}return(0,_createClass2["default"])(ApiService,[{key:"init",value:function init(config){this.config=_objectSpread(_objectSpread({},this.config),config);if(config.apiBaseUrl){this.baseUrl=config.apiBaseUrl;}}},{key:"updateConfigs",value:function updateConfigs(config){if(this.config){this.config=_objectSpread(_objectSpread({},this.config),config);}}},{key:"setApiKey",value:function setApiKey(apiKey){if(this.config){this.config.apiKey=apiKey;}}},{key:"makeRequest",value:(function(){var _makeRequest=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(path,method,body,signal){var _a,url,params,response,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:url="".concat(this.baseUrl,"/v0/radar").concat(path);params={method:method,body:body?JSON.stringify(body):null,headers:_objectSpread({'Content-Type':'application/json'},((_a=this.config)===null||_a===void 0?void 0:_a.apiKey)&&{'X-Api-Key':this.config.apiKey})};_context.prev=1;_context.next=2;return fetch(url,_objectSpread(_objectSpread({},params),{},{signal:signal}));case 2:response=_context.sent;if(response.ok){_context.next=3;break;}throw new Error('Network response was not ok: '+response.statusText);case 3:if(!(response.status===204)){_context.next=4;break;}return _context.abrupt("return",null);case 4:_context.next=5;return response.json();case 5:return _context.abrupt("return",_context.sent);case 6:_context.prev=6;_t=_context["catch"](1);if(!((_t===null||_t===void 0?void 0:_t.name)==='AbortError')){_context.next=7;break;}throw new Error('Request aborted');case 7:throw new Error('Error making request: '+_t.message);case 8:case"end":return _context.stop();}},_callee,this,[[1,6]]);}));function makeRequest(_x,_x2,_x3,_x4){return _makeRequest.apply(this,arguments);}return makeRequest;}())},{key:"startSession",value:(function(){var _startSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(request,signal){var res,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=1;return this.makeRequest('/debug-sessions/start','POST',request,signal);case 1:res=_context2.sent;return _context2.abrupt("return",res);case 2:_context2.prev=2;_t2=_context2["catch"](0);throw _t2;case 3:case"end":return _context2.stop();}},_callee2,this,[[0,2]]);}));function startSession(_x5,_x6){return _startSession.apply(this,arguments);}return startSession;}())},{key:"stopSession",value:(function(){var _stopSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(sessionId,request){return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.abrupt("return",this.makeRequest("/debug-sessions/".concat(sessionId,"/stop"),'PATCH',request));case 1:case"end":return _context3.stop();}},_callee3,this);}));function stopSession(_x7,_x8){return _stopSession.apply(this,arguments);}return stopSession;}())},{key:"cancelSession",value:(function(){var _cancelSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(sessionId){return _regenerator["default"].wrap(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:return _context4.abrupt("return",this.makeRequest("/debug-sessions/".concat(sessionId,"/cancel"),'DELETE'));case 1:case"end":return _context4.stop();}},_callee4,this);}));function cancelSession(_x9){return _cancelSession.apply(this,arguments);}return cancelSession;}())},{key:"startContinuousDebugSession",value:(function(){var _startContinuousDebugSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(request,signal){return _regenerator["default"].wrap(function(_context5){while(1)switch(_context5.prev=_context5.next){case 0:return _context5.abrupt("return",this.makeRequest('/continuous-debug-sessions/start','POST',request,signal));case 1:case"end":return _context5.stop();}},_callee5,this);}));function startContinuousDebugSession(_x0,_x1){return _startContinuousDebugSession.apply(this,arguments);}return startContinuousDebugSession;}())},{key:"saveContinuousDebugSession",value:(function(){var _saveContinuousDebugSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(sessionId,request,signal){return _regenerator["default"].wrap(function(_context6){while(1)switch(_context6.prev=_context6.next){case 0:return _context6.abrupt("return",this.makeRequest("/continuous-debug-sessions/".concat(sessionId,"/save"),'POST',request,signal));case 1:case"end":return _context6.stop();}},_callee6,this);}));function saveContinuousDebugSession(_x10,_x11,_x12){return _saveContinuousDebugSession.apply(this,arguments);}return saveContinuousDebugSession;}())},{key:"stopContinuousDebugSession",value:(function(){var _stopContinuousDebugSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(sessionId){return _regenerator["default"].wrap(function(_context7){while(1)switch(_context7.prev=_context7.next){case 0:return _context7.abrupt("return",this.makeRequest("/continuous-debug-sessions/".concat(sessionId,"/cancel"),'DELETE'));case 1:case"end":return _context7.stop();}},_callee7,this);}));function stopContinuousDebugSession(_x13){return _stopContinuousDebugSession.apply(this,arguments);}return stopContinuousDebugSession;}())},{key:"checkRemoteSession",value:(function(){var _checkRemoteSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(requestBody,signal){return _regenerator["default"].wrap(function(_context8){while(1)switch(_context8.prev=_context8.next){case 0:return _context8.abrupt("return",this.makeRequest('/remote-debug-session/check','POST',requestBody,signal));case 1:case"end":return _context8.stop();}},_callee8,this);}));function checkRemoteSession(_x14,_x15){return _checkRemoteSession.apply(this,arguments);}return checkRemoteSession;}())}]);}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../src/services/api.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../src/services/api.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface NetworkState {
|
|
2
|
+
isConnected: boolean;
|
|
3
|
+
type: string | null;
|
|
4
|
+
isInternetReachable: boolean | null;
|
|
5
|
+
}
|
|
6
|
+
export type NetworkStateChangeCallback = (state: NetworkState) => void;
|
|
7
|
+
export declare class NetworkService {
|
|
8
|
+
private static instance;
|
|
9
|
+
private _isOnline;
|
|
10
|
+
private unsubscribe;
|
|
11
|
+
private callbacks;
|
|
12
|
+
private constructor();
|
|
13
|
+
static getInstance(): NetworkService;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize network monitoring
|
|
16
|
+
*/
|
|
17
|
+
init(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Get current network state
|
|
20
|
+
*/
|
|
21
|
+
getCurrentState(): NetworkState;
|
|
22
|
+
/**
|
|
23
|
+
* Check if device is online
|
|
24
|
+
*/
|
|
25
|
+
isOnline(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Add callback for network state changes
|
|
28
|
+
*/
|
|
29
|
+
addCallback(callback: NetworkStateChangeCallback): void;
|
|
30
|
+
/**
|
|
31
|
+
* Remove callback for network state changes
|
|
32
|
+
*/
|
|
33
|
+
removeCallback(callback: NetworkStateChangeCallback): void;
|
|
34
|
+
/**
|
|
35
|
+
* Notify all callbacks of network state change
|
|
36
|
+
*/
|
|
37
|
+
private notifyCallbacks;
|
|
38
|
+
/**
|
|
39
|
+
* Cleanup network monitoring
|
|
40
|
+
*/
|
|
41
|
+
cleanup(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Force refresh network state
|
|
44
|
+
*/
|
|
45
|
+
refresh(): Promise<NetworkState>;
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NetworkService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _reactNative=require("react-native");var _utils=require("../utils");var _SessionRecorderStore=require("../context/SessionRecorderStore");var NetInfo=null;var isWeb=_reactNative.Platform.OS==='web';if(!isWeb){try{NetInfo=require('@react-native-community/netinfo')["default"];}catch(error){console.warn('NetInfo not available:',error);}}else{NetInfo={fetch:function fetch(){return Promise.resolve({isConnected:true,type:'unknown',isInternetReachable:true});},addEventListener:function addEventListener(callback){return function(){};}};}var NetworkService=exports.NetworkService=function(){function NetworkService(){(0,_classCallCheck2["default"])(this,NetworkService);this._isOnline=true;this.unsubscribe=null;this.callbacks=[];}return(0,_createClass2["default"])(NetworkService,[{key:"init",value:(function(){var _init=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _this=this;var _a,initialState,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;_context.next=1;return NetInfo.fetch();case 1:initialState=_context.sent;this._isOnline=(_a=initialState.isConnected)!==null&&_a!==void 0?_a:true;_SessionRecorderStore.sessionRecorderStore.setState({isOnline:this._isOnline});this.notifyCallbacks({isConnected:this._isOnline,type:initialState.type,isInternetReachable:initialState.isInternetReachable});this.unsubscribe=NetInfo.addEventListener(function(state){var _a;var wasOnline=_this._isOnline;_this._isOnline=(_a=state.isConnected)!==null&&_a!==void 0?_a:true;_SessionRecorderStore.sessionRecorderStore.setState({isOnline:_this._isOnline});_this.notifyCallbacks({isConnected:_this._isOnline,type:state.type,isInternetReachable:state.isInternetReachable});if(wasOnline&&!_this._isOnline){_utils.logger.info('NetworkService','Network went offline');}else if(!wasOnline&&_this._isOnline){_utils.logger.info('NetworkService','Network came back online');}});_utils.logger.info('NetworkService','Network monitoring initialized');_context.next=3;break;case 2:_context.prev=2;_t=_context["catch"](0);_utils.logger.error('NetworkService','Failed to initialize network monitoring',_t);case 3:case"end":return _context.stop();}},_callee,this,[[0,2]]);}));function init(){return _init.apply(this,arguments);}return init;}())},{key:"getCurrentState",value:function getCurrentState(){return{isConnected:this._isOnline,type:null,isInternetReachable:null};}},{key:"isOnline",value:function isOnline(){return this._isOnline;}},{key:"addCallback",value:function addCallback(callback){this.callbacks.push(callback);}},{key:"removeCallback",value:function removeCallback(callback){this.callbacks=this.callbacks.filter(function(cb){return cb!==callback;});}},{key:"notifyCallbacks",value:function notifyCallbacks(state){this.callbacks.forEach(function(callback){try{callback(state);}catch(error){_utils.logger.error('NetworkService','Error in network state callback',error);}});}},{key:"cleanup",value:function cleanup(){if(this.unsubscribe){this.unsubscribe();this.unsubscribe=null;}this.callbacks=[];_utils.logger.info('NetworkService','Network monitoring cleaned up');}},{key:"refresh",value:(function(){var _refresh=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var _a,state,networkState,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=1;return NetInfo.fetch();case 1:state=_context2.sent;this._isOnline=(_a=state.isConnected)!==null&&_a!==void 0?_a:true;_SessionRecorderStore.sessionRecorderStore.setState({isOnline:this._isOnline});networkState={isConnected:this._isOnline,type:state.type,isInternetReachable:state.isInternetReachable};this.notifyCallbacks(networkState);return _context2.abrupt("return",networkState);case 2:_context2.prev=2;_t2=_context2["catch"](0);_utils.logger.error('NetworkService','Failed to refresh network state',_t2);throw _t2;case 3:case"end":return _context2.stop();}},_callee2,this,[[0,2]]);}));function refresh(){return _refresh.apply(this,arguments);}return refresh;}())}],[{key:"getInstance",value:function getInstance(){if(!NetworkService.instance){NetworkService.instance=new NetworkService();}return NetworkService.instance;}}]);}();NetworkService.instance=null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.service.js","sourceRoot":"","sources":["../../src/services/network.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { MaskingOptions } from '../native/SessionRecorderNative';
|
|
2
|
+
export interface ScreenMaskingConfig {
|
|
3
|
+
/** Whether screen masking is enabled */
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
/** Whether to mask text inputs (UITextField, UITextView, React Native text components) */
|
|
6
|
+
maskTextInputs?: boolean;
|
|
7
|
+
/** Whether to mask images (UIImageView, React Native Image components) */
|
|
8
|
+
maskImages?: boolean;
|
|
9
|
+
/** Whether to mask buttons (UIButton) */
|
|
10
|
+
maskButtons?: boolean;
|
|
11
|
+
/** Whether to mask labels (UILabel) */
|
|
12
|
+
maskLabels?: boolean;
|
|
13
|
+
/** Whether to mask web views (WKWebView) */
|
|
14
|
+
maskWebViews?: boolean;
|
|
15
|
+
/** Whether to mask sandboxed views (system views that don't belong to current process) */
|
|
16
|
+
maskSandboxedViews?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class ScreenMaskingService {
|
|
19
|
+
private config;
|
|
20
|
+
private isAvailable;
|
|
21
|
+
constructor(config?: ScreenMaskingConfig);
|
|
22
|
+
/**
|
|
23
|
+
* Check if the native masking module is available
|
|
24
|
+
*/
|
|
25
|
+
private checkAvailability;
|
|
26
|
+
/**
|
|
27
|
+
* Capture screen with masking applied
|
|
28
|
+
*/
|
|
29
|
+
captureMaskedScreen(options: MaskingOptions): Promise<string | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Capture screen with basic masking (no custom options)
|
|
32
|
+
*/
|
|
33
|
+
captureMaskedScreenBasic(): Promise<string | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Update the masking configuration
|
|
36
|
+
*/
|
|
37
|
+
updateConfig(config: Partial<ScreenMaskingConfig>): void;
|
|
38
|
+
/**
|
|
39
|
+
* Check if screen masking is available
|
|
40
|
+
*/
|
|
41
|
+
isScreenMaskingAvailable(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get the current configuration
|
|
44
|
+
*/
|
|
45
|
+
getConfig(): ScreenMaskingConfig;
|
|
46
|
+
}
|
|
47
|
+
export declare const screenMaskingService: ScreenMaskingService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.screenMaskingService=exports.ScreenMaskingService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _SessionRecorderNative=_interopRequireDefault(require("../native/SessionRecorderNative"));var _utils=require("../utils");function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var ScreenMaskingService=exports.ScreenMaskingService=function(){function ScreenMaskingService(){var config=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{enabled:true,maskTextInputs:true,maskImages:false,maskButtons:false,maskLabels:false,maskWebViews:false,maskSandboxedViews:false};(0,_classCallCheck2["default"])(this,ScreenMaskingService);this.isAvailable=false;this.config=config;this.checkAvailability();}return(0,_createClass2["default"])(ScreenMaskingService,[{key:"checkAvailability",value:function checkAvailability(){try{if(_SessionRecorderNative["default"]&&typeof _SessionRecorderNative["default"].captureAndMask==='function'){this.isAvailable=true;_utils.logger.info('ScreenMaskingService','Screen masking native module is available');}else{this.isAvailable=false;_utils.logger.warn('ScreenMaskingService','Screen masking native module is not available - auto-linking may still be in progress');}}catch(error){this.isAvailable=false;_utils.logger.error('ScreenMaskingService','Error checking screen masking availability:',error);}}},{key:"captureMaskedScreen",value:(function(){var _captureMaskedScreen=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(options){var maskingOptions,maskedImageBase64,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(!this.isAvailable||!this.config.enabled)){_context.next=1;break;}_utils.logger.warn('ScreenMaskingService','Screen masking is not available or disabled');return _context.abrupt("return",null);case 1:_context.prev=1;maskingOptions=_objectSpread(_objectSpread({},this.config),options);_context.next=2;return _SessionRecorderNative["default"].captureAndMaskWithOptions(maskingOptions);case 2:maskedImageBase64=_context.sent;return _context.abrupt("return",maskedImageBase64);case 3:_context.prev=3;_t=_context["catch"](1);_utils.logger.error('ScreenMaskingService','Failed to capture masked screen:',_t);return _context.abrupt("return",null);case 4:case"end":return _context.stop();}},_callee,this,[[1,3]]);}));function captureMaskedScreen(_x){return _captureMaskedScreen.apply(this,arguments);}return captureMaskedScreen;}())},{key:"captureMaskedScreenBasic",value:(function(){var _captureMaskedScreenBasic=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var maskedImageBase64,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(!this.isAvailable||!this.config.enabled)){_context2.next=1;break;}_utils.logger.warn('ScreenMaskingService','Screen masking is not available or disabled');return _context2.abrupt("return",null);case 1:_context2.prev=1;_context2.next=2;return _SessionRecorderNative["default"].captureAndMask();case 2:maskedImageBase64=_context2.sent;return _context2.abrupt("return",maskedImageBase64);case 3:_context2.prev=3;_t2=_context2["catch"](1);_utils.logger.error('ScreenMaskingService','Failed to capture masked screen (basic):',_t2);return _context2.abrupt("return",null);case 4:case"end":return _context2.stop();}},_callee2,this,[[1,3]]);}));function captureMaskedScreenBasic(){return _captureMaskedScreenBasic.apply(this,arguments);}return captureMaskedScreenBasic;}())},{key:"updateConfig",value:function updateConfig(config){this.config=_objectSpread(_objectSpread({},this.config),config);_utils.logger.info('ScreenMaskingService','Screen masking configuration updated');}},{key:"isScreenMaskingAvailable",value:function isScreenMaskingAvailable(){return this.isAvailable&&this.config.enabled;}},{key:"getConfig",value:function getConfig(){return _objectSpread({},this.config);}}]);}();var screenMaskingService=exports.screenMaskingService=new ScreenMaskingService();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenMaskingService.js","sourceRoot":"","sources":["../../src/services/screenMaskingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,23 @@ interface CacheData {
|
|
|
5
5
|
sessionType: SessionType | null;
|
|
6
6
|
sessionState: SessionState | null;
|
|
7
7
|
sessionObject: ISession | null;
|
|
8
|
+
floatingButtonPosition: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
} | null;
|
|
8
12
|
}
|
|
9
13
|
export declare class StorageService {
|
|
10
14
|
private static readonly SESSION_ID_KEY;
|
|
11
15
|
private static readonly SESSION_TYPE_KEY;
|
|
12
16
|
private static readonly SESSION_STATE_KEY;
|
|
13
17
|
private static readonly SESSION_OBJECT_KEY;
|
|
18
|
+
private static readonly FLOATING_BUTTON_POSITION_KEY;
|
|
14
19
|
private static cache;
|
|
15
20
|
private static cacheInitialized;
|
|
16
|
-
|
|
21
|
+
private static instance;
|
|
22
|
+
private static positionSaveTimeout;
|
|
23
|
+
private constructor();
|
|
24
|
+
static getInstance(): StorageService;
|
|
17
25
|
private static initializeCache;
|
|
18
26
|
saveSessionId(sessionId: string): void;
|
|
19
27
|
getSessionId(): string | null;
|
|
@@ -24,7 +32,15 @@ export declare class StorageService {
|
|
|
24
32
|
saveSessionObject(session: ISession): void;
|
|
25
33
|
getSessionObject(): ISession | null;
|
|
26
34
|
clearSessionData(): void;
|
|
27
|
-
getAllSessionData(): CacheData
|
|
35
|
+
getAllSessionData(): Omit<CacheData, 'floatingButtonPosition'>;
|
|
36
|
+
saveFloatingButtonPosition(position: {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
}): void;
|
|
40
|
+
getFloatingButtonPosition(): {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
} | null;
|
|
28
44
|
static initialize(): Promise<void>;
|
|
29
45
|
}
|
|
30
46
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.StorageService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.StorageService=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _reactNative=require("react-native");var _utils=require("../utils");function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){(0,_defineProperty2["default"])(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}var AsyncStorage=null;var isWeb=_reactNative.Platform.OS==='web';if(!isWeb){try{AsyncStorage=require('@react-native-async-storage/async-storage')["default"];}catch(error){console.warn('AsyncStorage not available:',error);}}else{AsyncStorage={getItem:function getItem(key){return Promise.resolve(null);},setItem:function setItem(key,value){return Promise.resolve(undefined);},removeItem:function removeItem(key){return Promise.resolve(undefined);},multiRemove:function multiRemove(keys){return Promise.resolve(undefined);}};}var StorageService=exports.StorageService=function(){function StorageService(){(0,_classCallCheck2["default"])(this,StorageService);}return(0,_createClass2["default"])(StorageService,[{key:"saveSessionId",value:function saveSessionId(sessionId){try{StorageService.cache.sessionId=sessionId;AsyncStorage.setItem(StorageService.SESSION_ID_KEY,sessionId)["catch"](function(error){});}catch(error){throw error;}}},{key:"getSessionId",value:function getSessionId(){return StorageService.cache.sessionId;}},{key:"saveSessionType",value:function saveSessionType(sessionType){try{StorageService.cache.sessionType=sessionType;AsyncStorage.setItem(StorageService.SESSION_TYPE_KEY,sessionType)["catch"](function(error){});}catch(error){throw error;}}},{key:"getSessionType",value:function getSessionType(){return StorageService.cache.sessionType;}},{key:"saveSessionState",value:function saveSessionState(state){try{StorageService.cache.sessionState=state;AsyncStorage.setItem(StorageService.SESSION_STATE_KEY,state)["catch"](function(error){});}catch(error){throw error;}}},{key:"getSessionState",value:function getSessionState(){return StorageService.cache.sessionState;}},{key:"saveSessionObject",value:function saveSessionObject(session){try{StorageService.cache.sessionObject=session;AsyncStorage.setItem(StorageService.SESSION_OBJECT_KEY,JSON.stringify(session))["catch"](function(error){});}catch(error){throw error;}}},{key:"getSessionObject",value:function getSessionObject(){return StorageService.cache.sessionObject;}},{key:"clearSessionData",value:function clearSessionData(){try{StorageService.cache=_objectSpread(_objectSpread({},StorageService.cache),{},{sessionId:null,sessionType:null,sessionState:null,sessionObject:null});AsyncStorage.multiRemove([StorageService.SESSION_ID_KEY,StorageService.SESSION_TYPE_KEY,StorageService.SESSION_STATE_KEY,StorageService.SESSION_OBJECT_KEY])["catch"](function(error){});}catch(error){throw error;}}},{key:"getAllSessionData",value:function getAllSessionData(){return{sessionId:StorageService.cache.sessionId,sessionType:StorageService.cache.sessionType,sessionState:StorageService.cache.sessionState,sessionObject:StorageService.cache.sessionObject};}},{key:"saveFloatingButtonPosition",value:function saveFloatingButtonPosition(position){try{StorageService.cache.floatingButtonPosition=position;if(StorageService.positionSaveTimeout){clearTimeout(StorageService.positionSaveTimeout);}StorageService.positionSaveTimeout=setTimeout(function(){AsyncStorage.setItem(StorageService.FLOATING_BUTTON_POSITION_KEY,JSON.stringify(position))["catch"](function(error){_utils.logger.error('StorageService','Failed to persist floating button position',error);});},100);}catch(error){_utils.logger.error('StorageService','Failed to save floating button position',error);throw error;}}},{key:"getFloatingButtonPosition",value:function getFloatingButtonPosition(){return StorageService.cache.floatingButtonPosition;}}],[{key:"getInstance",value:function getInstance(){if(!StorageService.instance){StorageService.instance=new StorageService();StorageService.initialize();}return StorageService.instance;}},{key:"initializeCache",value:function(){var _initializeCache=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var _yield$Promise$all,_yield$Promise$all2,sessionId,sessionType,sessionState,sessionObject,floatingButtonPosition,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!StorageService.cacheInitialized){_context.next=1;break;}return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return Promise.all([AsyncStorage.getItem(StorageService.SESSION_ID_KEY),AsyncStorage.getItem(StorageService.SESSION_TYPE_KEY),AsyncStorage.getItem(StorageService.SESSION_STATE_KEY),AsyncStorage.getItem(StorageService.SESSION_OBJECT_KEY),AsyncStorage.getItem(StorageService.FLOATING_BUTTON_POSITION_KEY)]);case 2:_yield$Promise$all=_context.sent;_yield$Promise$all2=(0,_slicedToArray2["default"])(_yield$Promise$all,5);sessionId=_yield$Promise$all2[0];sessionType=_yield$Promise$all2[1];sessionState=_yield$Promise$all2[2];sessionObject=_yield$Promise$all2[3];floatingButtonPosition=_yield$Promise$all2[4];StorageService.cache={sessionId:sessionId,sessionType:sessionType,sessionState:sessionState,sessionObject:sessionObject?JSON.parse(sessionObject):null,floatingButtonPosition:floatingButtonPosition?JSON.parse(floatingButtonPosition):null};StorageService.cacheInitialized=true;_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);StorageService.cacheInitialized=true;case 4:case"end":return _context.stop();}},_callee,null,[[1,3]]);}));function initializeCache(){return _initializeCache.apply(this,arguments);}return initializeCache;}()},{key:"initialize",value:function(){var _initialize=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=1;return StorageService.initializeCache();case 1:case"end":return _context2.stop();}},_callee2);}));function initialize(){return _initialize.apply(this,arguments);}return initialize;}()}]);}();StorageService.SESSION_ID_KEY='session_id';StorageService.SESSION_TYPE_KEY='session_type';StorageService.SESSION_STATE_KEY='session_state';StorageService.SESSION_OBJECT_KEY='session_object';StorageService.FLOATING_BUTTON_POSITION_KEY='floating_button_position';StorageService.cache={sessionId:null,sessionType:null,sessionState:null,sessionObject:null,floatingButtonPosition:null};StorageService.cacheInitialized=false;StorageService.instance=null;StorageService.positionSaveTimeout=null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../src/services/storage.service.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"storage.service.js","sourceRoot":"","sources":["../../src/services/storage.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { SessionType } from '@multiplayer-app/session-recorder-common';
|
|
2
2
|
import { Observable } from 'lib0/observable';
|
|
3
|
-
import { ISession, SessionState, ISessionRecorder, SessionRecorderOptions, EventRecorder } from './types';
|
|
4
3
|
import { eventWithTime } from '@rrweb/types';
|
|
4
|
+
import { ISession, SessionState, ISessionRecorder, SessionRecorderConfigs, SessionRecorderOptions, EventRecorder } from './types';
|
|
5
5
|
type SessionRecorderEvents = 'state-change';
|
|
6
6
|
declare class SessionRecorder extends Observable<SessionRecorderEvents> implements ISessionRecorder, EventRecorder {
|
|
7
|
-
private _isInitialized;
|
|
8
7
|
private _configs;
|
|
9
8
|
private _apiService;
|
|
10
9
|
private _tracer;
|
|
11
10
|
private _recorder;
|
|
12
11
|
private _storageService;
|
|
12
|
+
private _networkService;
|
|
13
13
|
private _startRequestController;
|
|
14
|
+
private _isInitialized;
|
|
15
|
+
get isInitialized(): boolean;
|
|
16
|
+
set isInitialized(isInitialized: boolean);
|
|
14
17
|
private _sessionId;
|
|
15
18
|
get sessionId(): string | null;
|
|
16
19
|
set sessionId(sessionId: string | null);
|
|
@@ -37,6 +40,7 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
37
40
|
* React Native doesn't have HTML elements, so we return null
|
|
38
41
|
*/
|
|
39
42
|
get sessionWidgetButtonElement(): any;
|
|
43
|
+
get config(): SessionRecorderConfigs;
|
|
40
44
|
/**
|
|
41
45
|
* Initialize debugger with default or custom configurations
|
|
42
46
|
*/
|
|
@@ -47,6 +51,10 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
47
51
|
* @param configs - custom configurations for session debugger
|
|
48
52
|
*/
|
|
49
53
|
init(configs: SessionRecorderOptions): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Setup network state change callbacks
|
|
56
|
+
*/
|
|
57
|
+
private _setupNetworkCallbacks;
|
|
50
58
|
/**
|
|
51
59
|
* Start a new session
|
|
52
60
|
* @param type - the type of session to start
|
|
@@ -79,11 +87,6 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
79
87
|
* @param attributes - the attributes to set
|
|
80
88
|
*/
|
|
81
89
|
setSessionAttributes(attributes: Record<string, any>): void;
|
|
82
|
-
/**
|
|
83
|
-
* Set a custom click handler for the recording button
|
|
84
|
-
* @param handler - function that will be invoked when the button is clicked
|
|
85
|
-
*/
|
|
86
|
-
set recordingButtonClickHandler(handler: () => boolean | void);
|
|
87
90
|
/**
|
|
88
91
|
* @description Check if session should be started/stopped automatically
|
|
89
92
|
* @param {ISession} [sessionPayload]
|
|
@@ -130,37 +133,19 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
130
133
|
*/
|
|
131
134
|
recordEvent(event: eventWithTime): void;
|
|
132
135
|
/**
|
|
133
|
-
*
|
|
134
|
-
* @param
|
|
135
|
-
* @param y - Y coordinate
|
|
136
|
-
* @param target - Target element identifier
|
|
137
|
-
* @param pressure - Touch pressure
|
|
138
|
-
* @internal
|
|
139
|
-
*/
|
|
140
|
-
recordTouchStart(x: number, y: number, target?: string, pressure?: number): void;
|
|
141
|
-
/**
|
|
142
|
-
* Record touch move event (internal use - touch recording is automatic)
|
|
143
|
-
* @param x - X coordinate
|
|
144
|
-
* @param y - Y coordinate
|
|
145
|
-
* @param target - Target element identifier
|
|
146
|
-
* @param pressure - Touch pressure
|
|
147
|
-
* @internal
|
|
136
|
+
* Set the viewshot ref for screen capture
|
|
137
|
+
* @param ref - React Native View ref for screen capture
|
|
148
138
|
*/
|
|
149
|
-
|
|
139
|
+
setViewShotRef(ref: any): void;
|
|
150
140
|
/**
|
|
151
|
-
*
|
|
152
|
-
* @param
|
|
153
|
-
* @param y - Y coordinate
|
|
154
|
-
* @param target - Target element identifier
|
|
155
|
-
* @param pressure - Touch pressure
|
|
156
|
-
* @internal
|
|
141
|
+
* Set the navigation ref for navigation tracking
|
|
142
|
+
* @param ref - React Native Navigation ref for navigation tracking
|
|
157
143
|
*/
|
|
158
|
-
|
|
144
|
+
setNavigationRef(ref: any): void;
|
|
159
145
|
/**
|
|
160
|
-
*
|
|
161
|
-
* @param ref - React Native View ref for screen capture
|
|
146
|
+
* Cleanup resources and unsubscribe from network monitoring
|
|
162
147
|
*/
|
|
163
|
-
|
|
148
|
+
cleanup(): void;
|
|
164
149
|
}
|
|
165
150
|
declare const _default: SessionRecorder;
|
|
166
151
|
export default _default;
|