@multiplayer-app/session-recorder-react-native 0.0.1-beta.2 → 0.0.1-beta.20
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 +170 -12
- package/SessionRecorderNative.podspec +29 -0
- package/android/build.gradle +34 -0
- package/copy-react-native-dist.sh +34 -16
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +1 -0
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +1 -1
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +1 -1
- package/dist/components/MaskableComponent.d.ts +22 -0
- package/dist/components/MaskableComponent.js +1 -0
- package/dist/components/MaskableComponent.js.map +1 -0
- package/dist/components/MaskableTextInput.d.ts +14 -0
- package/dist/components/MaskableTextInput.js +1 -0
- package/dist/components/MaskableTextInput.js.map +1 -0
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
- package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -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 +15 -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/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 +10 -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/ScreenMasking.d.ts +21 -0
- package/dist/native/ScreenMasking.js +1 -0
- package/dist/native/ScreenMasking.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/recorder/screenshotManager.d.ts +10 -0
- package/dist/recorder/screenshotManager.js +1 -0
- package/dist/recorder/screenshotManager.js.map +1 -0
- 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/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 +10 -34
- 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 +96 -132
- package/dist/types/session-recorder.js +1 -1
- package/dist/types/session-recorder.js.map +1 -1
- package/dist/utils/componentRegistry.d.ts +64 -0
- package/dist/utils/componentRegistry.js +1 -0
- package/dist/utils/componentRegistry.js.map +1 -0
- 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 +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/nativeModuleTest.d.ts +8 -0
- package/dist/utils/nativeModuleTest.js +1 -0
- package/dist/utils/nativeModuleTest.js.map +1 -0
- 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/reactNativeHierarchyExtractor.d.ts +38 -0
- package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
- package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
- 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/screenshotMasker.d.ts +96 -0
- package/dist/utils/screenshotMasker.js +1 -0
- package/dist/utils/screenshotMasker.js.map +1 -0
- 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/utils/viewHierarchyTracker.d.ts +89 -0
- package/dist/utils/viewHierarchyTracker.js +1 -0
- package/dist/utils/viewHierarchyTracker.js.map +1 -0
- 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 +13 -12
- 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.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
|
@@ -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,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 _asyncStorage=_interopRequireDefault(require("@react-native-async-storage/async-storage"));var StorageService=exports.StorageService=function(){function StorageService(){(0,_classCallCheck2["default"])(this,StorageService);
|
|
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 _asyncStorage=_interopRequireDefault(require("@react-native-async-storage/async-storage"));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 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["default"].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["default"].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["default"].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["default"].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["default"].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["default"].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["default"].getItem(StorageService.SESSION_ID_KEY),_asyncStorage["default"].getItem(StorageService.SESSION_TYPE_KEY),_asyncStorage["default"].getItem(StorageService.SESSION_STATE_KEY),_asyncStorage["default"].getItem(StorageService.SESSION_OBJECT_KEY),_asyncStorage["default"].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":"AAAA,OAAO,YAAY,MAAM,2CAA2C,CAAA;AAGpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUjC,MAAM,OAAO,cAAc;IAmBzB;QACE,oCAAoC;IACtC,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;YAC9C,cAAc,CAAC,UAAU,EAAE,CAAA;QAC7B,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAA;IAChC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,IAAI,cAAc,CAAC,gBAAgB;YAAE,OAAM;QAE3C,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;gBACnD,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACrD,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBACtD,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC;gBACvD,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC;aAClE,CAAC,CAAA;YAEF,cAAc,CAAC,KAAK,GAAG;gBACrB,SAAS;gBACT,WAAW,EAAE,WAAiC;gBAC9C,YAAY,EAAE,YAAmC;gBACjD,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC/D,sBAAsB,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI;aAC3F,CAAA;YACD,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAA;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAA,CAAC,yCAAyC;QAClF,CAAC;IACH,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;YAC1C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC3E,mDAAmD;YACrD,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gDAAgD;YAChD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,cAAc,CAAC,KAAK,CAAC,SAAS,CAAA;IACvC,CAAC;IAED,eAAe,CAAC,WAAwB;QACtC,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC/E,qDAAqD;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,cAAc,CAAC,KAAK,CAAC,WAAW,CAAA;IACzC,CAAC;IAED,gBAAgB,CAAC,KAAmB;QAClC,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAA;YAEzC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1E,sDAAsD;YACxD,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mDAAmD;YACnD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,eAAe;QACb,OAAO,cAAc,CAAC,KAAK,CAAC,YAAY,CAAA;IAC1C,CAAC;IAED,iBAAiB,CAAC,OAAiB;QACjC,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAA;YAC5C,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC7F,uDAAuD;YACzD,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,cAAc,CAAC,KAAK,CAAC,aAAa,CAAA;IAC3C,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC;YACH,0BAA0B;YAC1B,cAAc,CAAC,KAAK,GAAG;gBACrB,GAAG,cAAc,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB,CAAA;YAED,0CAA0C;YAC1C,YAAY,CAAC,WAAW,CAAC;gBACvB,cAAc,CAAC,cAAc;gBAC7B,cAAc,CAAC,gBAAgB;gBAC/B,cAAc,CAAC,iBAAiB;gBAChC,cAAc,CAAC,kBAAkB;aAClC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACf,gEAAgE;YAClE,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mDAAmD;YACnD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS;YACzC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW;YAC7C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY;YAC/C,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa;SAClD,CAAA;IACH,CAAC;IAED,0BAA0B,CAAC,QAAkC;QAC3D,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,CAAC,sBAAsB,GAAG,QAAQ,CAAA;YAEtD,sDAAsD;YACtD,IAAI,cAAc,CAAC,mBAAmB,EAAE,CAAC;gBACvC,YAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;YAClD,CAAC;YAED,cAAc,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnD,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,4CAA4C,EAAE,KAAK,CAAC,CAAA;gBACrF,CAAC,CAAC,CAAA;YACJ,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,iBAAiB;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,yCAAyC,EAAE,KAAK,CAAC,CAAA;YAChF,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,yBAAyB;QACvB,OAAO,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAA;IACpD,CAAC;IAED,kFAAkF;IAClF,MAAM,CAAC,KAAK,CAAC,UAAU;QACrB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAA;IACxC,CAAC;;AAvLuB,6BAAc,GAAG,YAAY,CAAA;AAC7B,+BAAgB,GAAG,cAAc,CAAA;AACjC,gCAAiB,GAAG,eAAe,CAAA;AACnC,iCAAkB,GAAG,gBAAgB,CAAA;AACrC,2CAA4B,GAAG,0BAA0B,CAAA;AAElE,oBAAK,GAAc;IAChC,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,sBAAsB,EAAE,IAAI;CAC7B,CAAA;AAEc,+BAAgB,GAAG,KAAK,CAAA;AACxB,uBAAQ,GAA0B,IAAI,CAAA;AACtC,kCAAmB,GAA0B,IAAI,CAAA"}
|
|
@@ -1,16 +1,18 @@
|
|
|
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';
|
|
3
|
+
import { ISession, SessionState, ISessionRecorder, SessionRecorderConfigs, SessionRecorderOptions, EventRecorder } from './types';
|
|
4
4
|
import { eventWithTime } from '@rrweb/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;
|
|
13
12
|
private _startRequestController;
|
|
13
|
+
private _isInitialized;
|
|
14
|
+
get isInitialized(): boolean;
|
|
15
|
+
set isInitialized(isInitialized: boolean);
|
|
14
16
|
private _sessionId;
|
|
15
17
|
get sessionId(): string | null;
|
|
16
18
|
set sessionId(sessionId: string | null);
|
|
@@ -37,6 +39,7 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
37
39
|
* React Native doesn't have HTML elements, so we return null
|
|
38
40
|
*/
|
|
39
41
|
get sessionWidgetButtonElement(): any;
|
|
42
|
+
get config(): SessionRecorderConfigs;
|
|
40
43
|
/**
|
|
41
44
|
* Initialize debugger with default or custom configurations
|
|
42
45
|
*/
|
|
@@ -79,11 +82,6 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
79
82
|
* @param attributes - the attributes to set
|
|
80
83
|
*/
|
|
81
84
|
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
85
|
/**
|
|
88
86
|
* @description Check if session should be started/stopped automatically
|
|
89
87
|
* @param {ISession} [sessionPayload]
|
|
@@ -129,38 +127,16 @@ declare class SessionRecorder extends Observable<SessionRecorderEvents> implemen
|
|
|
129
127
|
* @param event - The rrweb event to record
|
|
130
128
|
*/
|
|
131
129
|
recordEvent(event: eventWithTime): void;
|
|
132
|
-
/**
|
|
133
|
-
* Record touch start event (internal use - touch recording is automatic)
|
|
134
|
-
* @param x - X coordinate
|
|
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
|
|
148
|
-
*/
|
|
149
|
-
recordTouchMove(x: number, y: number, target?: string, pressure?: number): void;
|
|
150
|
-
/**
|
|
151
|
-
* Record touch end event (internal use - touch recording is automatic)
|
|
152
|
-
* @param x - X coordinate
|
|
153
|
-
* @param y - Y coordinate
|
|
154
|
-
* @param target - Target element identifier
|
|
155
|
-
* @param pressure - Touch pressure
|
|
156
|
-
* @internal
|
|
157
|
-
*/
|
|
158
|
-
recordTouchEnd(x: number, y: number, target?: string, pressure?: number): void;
|
|
159
130
|
/**
|
|
160
131
|
* Set the viewshot ref for screen capture
|
|
161
132
|
* @param ref - React Native View ref for screen capture
|
|
162
133
|
*/
|
|
163
134
|
setViewShotRef(ref: any): void;
|
|
135
|
+
/**
|
|
136
|
+
* Set the navigation ref for navigation tracking
|
|
137
|
+
* @param ref - React Native Navigation ref for navigation tracking
|
|
138
|
+
*/
|
|
139
|
+
setNavigationRef(ref: any): void;
|
|
164
140
|
}
|
|
165
141
|
declare const _default: SessionRecorder;
|
|
166
142
|
export default _default;
|
package/dist/session-recorder.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=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 _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _observable=require("lib0/observable");var _otel=require("./otel");var _recorder=require("./recorder");var _utils=require("./utils");var _types=require("./types");var _xhr=require("./patch/xhr");var _config=require("./config");var _storage=require("./services/storage.service");var _api=require("./services/api.service");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;}function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var SessionRecorder=function(_Observable){function SessionRecorder(){var _this;(0,_classCallCheck2["default"])(this,SessionRecorder);_this=_callSuper(this,SessionRecorder);_this._isInitialized=false;_this._configs=null;_this._apiService=new _api.ApiService();_this._tracer=new _otel.TracerReactNativeSDK();_this._recorder=new _recorder.RecorderReactNativeSDK();_this._storageService=new _storage.StorageService();_this._startRequestController=null;_this._sessionId=null;_this._sessionType=_sessionRecorderCommon.SessionType.PLAIN;_this._sessionState=null;_this._session=null;_this._sessionAttributes=null;_this._error='';_storage.StorageService.initialize();return _this;}(0,_inherits2["default"])(SessionRecorder,_Observable);return(0,_createClass2["default"])(SessionRecorder,[{key:"sessionId",get:function get(){return this._sessionId;},set:function set(sessionId){this._sessionId=sessionId;if(sessionId){this._storageService.saveSessionId(sessionId);}}},{key:"sessionType",get:function get(){return this._sessionType;},set:function set(sessionType){this._sessionType=sessionType;this._storageService.saveSessionType(sessionType);}},{key:"continuousRecording",get:function get(){return this.sessionType===_sessionRecorderCommon.SessionType.CONTINUOUS;}},{key:"sessionState",get:function get(){return this._sessionState||_types.SessionState.stopped;},set:function set(state){this._sessionState=state;this.emit('state-change',[state||_types.SessionState.stopped]);if(state){this._storageService.saveSessionState(state);}}},{key:"session",get:function get(){return this._session;},set:function set(session){this._session=session;if(session){this._storageService.saveSessionObject(session);}}},{key:"sessionAttributes",get:function get(){return this._sessionAttributes||{};},set:function set(attributes){this._sessionAttributes=attributes;}},{key:"error",get:function get(){return this._error||'';},set:function set(v){this._error=v;}},{key:"sessionWidgetButtonElement",get:function get(){return null;}},{key:"_loadStoredSessionData",value:function(){var _loadStoredSessionData2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var storedData,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;_context.next=1;return _storage.StorageService.initialize();case 1:_context.next=2;return this._storageService.getAllSessionData();case 2:storedData=_context.sent;if((0,_utils.isSessionActive)(storedData.sessionObject,storedData.sessionType===_sessionRecorderCommon.SessionType.CONTINUOUS)){this.session=storedData.sessionObject;this.sessionId=storedData.sessionId;this.sessionType=storedData.sessionType||_sessionRecorderCommon.SessionType.PLAIN;this.sessionState=storedData.sessionState;}else{this.session=null;this.sessionId=null;this.sessionState=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](0);_utils.logger.error('SessionRecorder','Failed to load stored session data',_t);this.session=null;this.sessionId=null;this.sessionState=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;case 4:case"end":return _context.stop();}},_callee,this,[[0,3]]);}));function _loadStoredSessionData(){return _loadStoredSessionData2.apply(this,arguments);}return _loadStoredSessionData;}()},{key:"init",value:(function(){var _init=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(configs){return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:this._configs=(0,_config.getSessionRecorderConfig)(_objectSpread(_objectSpread({},this._configs),configs));this._isInitialized=true;this._checkOperation('init');_context2.next=1;return this._loadStoredSessionData();case 1:(0,_xhr.setMaxCapturingHttpPayloadSize)(this._configs.maxCapturingHttpPayloadSize||_config.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE);(0,_xhr.setShouldRecordHttpData)(!this._configs.captureBody,this._configs.captureHeaders);try{this._apiService.init(this._configs);this._tracer.init(this._configs);}catch(error){_utils.logger.error('SessionRecorder','Failed to initialize API service',error);}if(this._configs.apiKey){this._recorder.init(this._configs);}if(this.sessionId&&(this.sessionState===_types.SessionState.started||this.sessionState===_types.SessionState.paused)){this._start();}case 2:case"end":return _context2.stop();}},_callee2,this);}));function init(_x){return _init.apply(this,arguments);}return init;}())},{key:"start",value:(function(){var _start2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var type,session,_a,_args3=arguments;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:type=_args3.length>0&&_args3[0]!==undefined?_args3[0]:_sessionRecorderCommon.SessionType.PLAIN;session=_args3.length>1?_args3[1]:undefined;this._checkOperation('start');if(type===_sessionRecorderCommon.SessionType.CONTINUOUS&&!((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording)){type=_sessionRecorderCommon.SessionType.PLAIN;}this.sessionType=type;this._startRequestController=new AbortController();if(!session){_context3.next=1;break;}this._setupSessionAndStart(session,true);_context3.next=2;break;case 1:_context3.next=2;return this._createSessionAndStart();case 2:case"end":return _context3.stop();}},_callee3,this);}));function start(){return _start2.apply(this,arguments);}return start;}())},{key:"stop",value:(function(){var _stop2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(comment){var request,response,_t2;return _regenerator["default"].wrap(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.prev=0;this._checkOperation('stop');this._stop();if(!this.continuousRecording){_context4.next=2;break;}_context4.next=1;return this._apiService.stopContinuousDebugSession(this.sessionId);case 1:this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;_context4.next=4;break;case 2:request={sessionAttributes:{comment:comment},stoppedAt:Date.now()};_context4.next=3;return this._apiService.stopSession(this.sessionId,request);case 3:response=_context4.sent;case 4:this._clearSession();_context4.next=6;break;case 5:_context4.prev=5;_t2=_context4["catch"](0);this.error=_t2.message;case 6:case"end":return _context4.stop();}},_callee4,this,[[0,5]]);}));function stop(_x2){return _stop2.apply(this,arguments);}return stop;}())},{key:"pause",value:(function(){var _pause2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(){return _regenerator["default"].wrap(function(_context5){while(1)switch(_context5.prev=_context5.next){case 0:try{this._checkOperation('pause');this._pause();}catch(error){this.error=error.message;}case 1:case"end":return _context5.stop();}},_callee5,this);}));function pause(){return _pause2.apply(this,arguments);}return pause;}())},{key:"resume",value:(function(){var _resume2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(){return _regenerator["default"].wrap(function(_context6){while(1)switch(_context6.prev=_context6.next){case 0:try{this._checkOperation('resume');this._resume();}catch(error){this.error=error.message;}case 1:case"end":return _context6.stop();}},_callee6,this);}));function resume(){return _resume2.apply(this,arguments);}return resume;}())},{key:"cancel",value:(function(){var _cancel=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(){var _t3;return _regenerator["default"].wrap(function(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.prev=0;this._checkOperation('cancel');this._stop();if(!this.continuousRecording){_context7.next=2;break;}_context7.next=1;return this._apiService.stopContinuousDebugSession(this.sessionId);case 1:this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;_context7.next=3;break;case 2:_context7.next=3;return this._apiService.cancelSession(this.sessionId);case 3:this._clearSession();_context7.next=5;break;case 4:_context7.prev=4;_t3=_context7["catch"](0);this.error=_t3.message;case 5:case"end":return _context7.stop();}},_callee7,this,[[0,4]]);}));function cancel(){return _cancel.apply(this,arguments);}return cancel;}())},{key:"save",value:(function(){var _save=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(){var _a,res,_t4;return _regenerator["default"].wrap(function(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.prev=0;this._checkOperation('save');if(!(!this.continuousRecording||!((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording))){_context8.next=1;break;}return _context8.abrupt("return");case 1:_context8.next=2;return this._apiService.saveContinuousDebugSession(this.sessionId,{sessionAttributes:this.sessionAttributes,resourceAttributes:(0,_utils.getNavigatorInfo)(),stoppedAt:Date.now(),name:this.sessionAttributes.userName?"".concat(this.sessionAttributes.userName,"'s session on ").concat((0,_utils.getFormattedDate)(Date.now(),{month:'short',day:'numeric'})):"Session on ".concat((0,_utils.getFormattedDate)(Date.now()))});case 2:res=_context8.sent;return _context8.abrupt("return",res);case 3:_context8.prev=3;_t4=_context8["catch"](0);this.error=_t4.message;case 4:case"end":return _context8.stop();}},_callee8,this,[[0,3]]);}));function save(){return _save.apply(this,arguments);}return save;}())},{key:"setSessionAttributes",value:function setSessionAttributes(attributes){this._sessionAttributes=attributes;}},{key:"recordingButtonClickHandler",set:function set(handler){}},{key:"checkRemoteContinuousSession",value:(function(){var _checkRemoteContinuousSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(sessionPayload){var _a,payload,_yield$this$_apiServi,state;return _regenerator["default"].wrap(function(_context9){while(1)switch(_context9.prev=_context9.next){case 0:this._checkOperation('autoStartRemoteContinuousSession');if((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording){_context9.next=1;break;}return _context9.abrupt("return");case 1:payload={sessionAttributes:_objectSpread(_objectSpread({},this.sessionAttributes),(sessionPayload===null||sessionPayload===void 0?void 0:sessionPayload.sessionAttributes)||{}),resourceAttributes:_objectSpread(_objectSpread({},(0,_utils.getNavigatorInfo)()),(sessionPayload===null||sessionPayload===void 0?void 0:sessionPayload.resourceAttributes)||{})};_context9.next=2;return this._apiService.checkRemoteSession(payload);case 2:_yield$this$_apiServi=_context9.sent;state=_yield$this$_apiServi.state;if(!(state=='START')){_context9.next=4;break;}if(!(this.sessionState!==_types.SessionState.started)){_context9.next=3;break;}_context9.next=3;return this.start(_sessionRecorderCommon.SessionType.CONTINUOUS);case 3:_context9.next=5;break;case 4:if(!(state=='STOP')){_context9.next=5;break;}if(!(this.sessionState!==_types.SessionState.stopped)){_context9.next=5;break;}_context9.next=5;return this.stop();case 5:case"end":return _context9.stop();}},_callee9,this);}));function checkRemoteContinuousSession(_x3){return _checkRemoteContinuousSession.apply(this,arguments);}return checkRemoteContinuousSession;}())},{key:"_createSessionAndStart",value:(function(){var _createSessionAndStart2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee0(){var _a,signal,payload,request,session,_t5,_t6;return _regenerator["default"].wrap(function(_context0){while(1)switch(_context0.prev=_context0.next){case 0:signal=(_a=this._startRequestController)===null||_a===void 0?void 0:_a.signal;_context0.prev=1;payload={sessionAttributes:this.sessionAttributes,resourceAttributes:(0,_utils.getNavigatorInfo)(),name:this.sessionAttributes.userName?"".concat(this.sessionAttributes.userName,"'s session on ").concat((0,_utils.getFormattedDate)(Date.now(),{month:'short',day:'numeric'})):"Session on ".concat((0,_utils.getFormattedDate)(Date.now()))};request=!this.continuousRecording?payload:{debugSessionData:payload};if(!this.continuousRecording){_context0.next=3;break;}_context0.next=2;return this._apiService.startContinuousDebugSession(request,signal);case 2:_t5=_context0.sent;_context0.next=5;break;case 3:_context0.next=4;return this._apiService.startSession(request,signal);case 4:_t5=_context0.sent;case 5:session=_t5;if(session){session.sessionType=this.continuousRecording?_sessionRecorderCommon.SessionType.CONTINUOUS:_sessionRecorderCommon.SessionType.PLAIN;this._setupSessionAndStart(session,false);}_context0.next=7;break;case 6:_context0.prev=6;_t6=_context0["catch"](1);this.error=_t6.message;if(this.continuousRecording){this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;}case 7:case"end":return _context0.stop();}},_callee0,this,[[1,6]]);}));function _createSessionAndStart(){return _createSessionAndStart2.apply(this,arguments);}return _createSessionAndStart;}())},{key:"_start",value:function _start(){this.sessionState=_types.SessionState.started;if(this.sessionId){this._tracer.start(this.sessionId,this.sessionType);this._recorder.start(this.sessionId,this.sessionType);}}},{key:"_stop",value:function _stop(){this.sessionState=_types.SessionState.stopped;this._tracer.shutdown();this._recorder.stop();}},{key:"_pause",value:function _pause(){this._tracer.shutdown();this._recorder.stop();this.sessionState=_types.SessionState.paused;}},{key:"_resume",value:function _resume(){if(this.sessionId){this._tracer.setSessionId(this.sessionId,this.sessionType);this._recorder.start(this.sessionId,this.sessionType);}this.sessionState=_types.SessionState.started;}},{key:"_setupSessionAndStart",value:function _setupSessionAndStart(session){var configureExporters=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(configureExporters&&session.tempApiKey){this._configs.apiKey=session.tempApiKey;this._recorder.init(this._configs);this._tracer.init(this._configs);this._apiService.updateConfigs({apiKey:this._configs.apiKey});}this._setSession(session);this._start();}},{key:"_setSession",value:function _setSession(session){this.session=_objectSpread(_objectSpread({},session),{},{createdAt:session.createdAt||new Date().toISOString()});this.sessionId=(session===null||session===void 0?void 0:session.shortId)||(session===null||session===void 0?void 0:session._id);}},{key:"_clearSession",value:function _clearSession(){this.session=null;this.sessionId=null;this.sessionState=_types.SessionState.stopped;this._storageService.clearSessionData();}},{key:"_checkOperation",value:function _checkOperation(action,payload){if(!this._isInitialized){throw new Error('Configuration not initialized. Call init() before performing any actions.');}switch(action){case'start':if(this.sessionState===_types.SessionState.started){throw new Error('Session is already started.');}break;case'stop':if(this.sessionState!==_types.SessionState.paused&&this.sessionState!==_types.SessionState.started){throw new Error('Cannot stop. Session is not currently started.');}break;case'cancel':if(this.sessionState===_types.SessionState.stopped){throw new Error('Cannot cancel. Session has already been stopped.');}break;case'pause':if(this.sessionState!==_types.SessionState.started){throw new Error('Cannot pause. Session is not running.');}break;case'resume':if(this.sessionState!==_types.SessionState.paused){throw new Error('Cannot resume. Session is not paused.');}break;case'save':if(!this.continuousRecording){throw new Error('Cannot save continuous recording session. Continuous recording is not enabled.');}if(this.sessionState!==_types.SessionState.started){throw new Error('Cannot save continuous recording session. Session is not started.');}break;case'autoStartRemoteContinuousSession':if(this.sessionState!==_types.SessionState.stopped){throw new Error('Cannot start remote continuous session. Session is not stopped.');}break;}}},{key:"setSessionAttribute",value:function setSessionAttribute(key,value){if(this._session){if(!this._session.sessionAttributes){this._session.sessionAttributes={};}this._session.sessionAttributes[key]=value;this._session.updatedAt=new Date().toISOString();}}},{key:"recordEvent",value:function recordEvent(event){if(!this._isInitialized||this.sessionState!==_types.SessionState.started){return;}this._recorder.recordEvent(event);}},{key:"recordTouchStart",value:function recordTouchStart(x,y,target,pressure){if(!this._isInitialized||this.sessionState!==_types.SessionState.started){return;}this._recorder.recordTouchStart(x,y,target,pressure);}},{key:"recordTouchMove",value:function recordTouchMove(x,y,target,pressure){if(!this._isInitialized||this.sessionState!==_types.SessionState.started){return;}this._recorder.recordTouchMove(x,y,target,pressure);}},{key:"recordTouchEnd",value:function recordTouchEnd(x,y,target,pressure){if(!this._isInitialized||this.sessionState!==_types.SessionState.started){return;}this._recorder.recordTouchEnd(x,y,target,pressure);}},{key:"setViewShotRef",value:function setViewShotRef(ref){if(this._recorder){this._recorder.setViewShotRef(ref);}}}]);}(_observable.Observable);var _default=exports["default"]=new SessionRecorder();
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=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 _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _observable=require("lib0/observable");var _otel=require("./otel");var _recorder=require("./recorder");var _utils=require("./utils");var _types=require("./types");var _xhr=require("./patch/xhr");var _config=require("./config");var _storage=require("./services/storage.service");var _api=require("./services/api.service");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;}function _callSuper(t,o,e){return o=(0,_getPrototypeOf2["default"])(o),(0,_possibleConstructorReturn2["default"])(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],(0,_getPrototypeOf2["default"])(t).constructor):o.apply(t,e));}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}var SessionRecorder=function(_Observable){function SessionRecorder(){var _this;(0,_classCallCheck2["default"])(this,SessionRecorder);_this=_callSuper(this,SessionRecorder);_this._apiService=new _api.ApiService();_this._tracer=new _otel.TracerReactNativeSDK();_this._recorder=new _recorder.RecorderReactNativeSDK();_this._storageService=_storage.StorageService.getInstance();_this._startRequestController=null;_this._isInitialized=false;_this._sessionId=null;_this._sessionType=_sessionRecorderCommon.SessionType.PLAIN;_this._sessionState=null;_this._session=null;_this._sessionAttributes=null;_this._error='';_this._configs=_config.BASE_CONFIG;_storage.StorageService.initialize();return _this;}(0,_inherits2["default"])(SessionRecorder,_Observable);return(0,_createClass2["default"])(SessionRecorder,[{key:"isInitialized",get:function get(){return this._isInitialized;},set:function set(isInitialized){this._isInitialized=isInitialized;}},{key:"sessionId",get:function get(){return this._sessionId;},set:function set(sessionId){this._sessionId=sessionId;if(sessionId){this._storageService.saveSessionId(sessionId);}}},{key:"sessionType",get:function get(){return this._sessionType;},set:function set(sessionType){this._sessionType=sessionType;this._storageService.saveSessionType(sessionType);}},{key:"continuousRecording",get:function get(){return this.sessionType===_sessionRecorderCommon.SessionType.CONTINUOUS;}},{key:"sessionState",get:function get(){return this._sessionState||_types.SessionState.stopped;},set:function set(state){this._sessionState=state;this.emit('state-change',[state||_types.SessionState.stopped,this.sessionType]);if(state){this._storageService.saveSessionState(state);}}},{key:"session",get:function get(){return this._session;},set:function set(session){this._session=session;if(session){this._storageService.saveSessionObject(session);}}},{key:"sessionAttributes",get:function get(){return this._sessionAttributes||{};},set:function set(attributes){this._sessionAttributes=attributes;}},{key:"error",get:function get(){return this._error||'';},set:function set(v){this._error=v;}},{key:"sessionWidgetButtonElement",get:function get(){return null;}},{key:"config",get:function get(){return this._configs;}},{key:"_loadStoredSessionData",value:function(){var _loadStoredSessionData2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var storedData,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;_context.next=1;return _storage.StorageService.initialize();case 1:_context.next=2;return this._storageService.getAllSessionData();case 2:storedData=_context.sent;if((0,_utils.isSessionActive)(storedData.sessionObject,storedData.sessionType)){this.session=storedData.sessionObject;this.sessionId=storedData.sessionId;this.sessionType=storedData.sessionType||_sessionRecorderCommon.SessionType.PLAIN;this.sessionState=storedData.sessionState;}else{this.session=null;this.sessionId=null;this.sessionState=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](0);_utils.logger.error('SessionRecorder','Failed to load stored session data',_t);this.session=null;this.sessionId=null;this.sessionState=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;case 4:case"end":return _context.stop();}},_callee,this,[[0,3]]);}));function _loadStoredSessionData(){return _loadStoredSessionData2.apply(this,arguments);}return _loadStoredSessionData;}()},{key:"init",value:(function(){var _init=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(configs){return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!this._isInitialized){_context2.next=1;break;}return _context2.abrupt("return");case 1:this._isInitialized=true;this._configs=(0,_config.getSessionRecorderConfig)(_objectSpread(_objectSpread({},this._configs),configs));_utils.logger.configure(this._configs.logger);_context2.next=2;return this._loadStoredSessionData();case 2:(0,_xhr.setMaxCapturingHttpPayloadSize)(this._configs.maxCapturingHttpPayloadSize);(0,_xhr.setShouldRecordHttpData)(!this._configs.captureBody,this._configs.captureHeaders);this._tracer.init(this._configs);this._recorder.init(this._configs);this._apiService.init(this._configs);if(this.sessionId&&(this.sessionState===_types.SessionState.started||this.sessionState===_types.SessionState.paused)){this._start();}case 3:case"end":return _context2.stop();}},_callee2,this);}));function init(_x){return _init.apply(this,arguments);}return init;}())},{key:"start",value:(function(){var _start2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(){var type,session,_a,_args3=arguments;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:type=_args3.length>0&&_args3[0]!==undefined?_args3[0]:_sessionRecorderCommon.SessionType.PLAIN;session=_args3.length>1?_args3[1]:undefined;this._checkOperation('start');if(type===_sessionRecorderCommon.SessionType.CONTINUOUS&&!((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording)){type=_sessionRecorderCommon.SessionType.PLAIN;}_utils.logger.info('SessionRecorder','Starting session with type:',type);this.sessionType=type;this._startRequestController=new AbortController();if(!session){_context3.next=1;break;}this._setupSessionAndStart(session,true);_context3.next=2;break;case 1:_context3.next=2;return this._createSessionAndStart();case 2:case"end":return _context3.stop();}},_callee3,this);}));function start(){return _start2.apply(this,arguments);}return start;}())},{key:"stop",value:(function(){var _stop2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4(comment){var request,_t2;return _regenerator["default"].wrap(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.prev=0;this._checkOperation('stop');this._stop();if(!this.continuousRecording){_context4.next=2;break;}_context4.next=1;return this._apiService.stopContinuousDebugSession(this.sessionId);case 1:this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;_context4.next=3;break;case 2:request={sessionAttributes:{comment:comment},stoppedAt:Date.now()};_context4.next=3;return this._apiService.stopSession(this.sessionId,request);case 3:this._clearSession();_context4.next=5;break;case 4:_context4.prev=4;_t2=_context4["catch"](0);this.error=_t2.message;case 5:case"end":return _context4.stop();}},_callee4,this,[[0,4]]);}));function stop(_x2){return _stop2.apply(this,arguments);}return stop;}())},{key:"pause",value:(function(){var _pause2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5(){return _regenerator["default"].wrap(function(_context5){while(1)switch(_context5.prev=_context5.next){case 0:try{this._checkOperation('pause');this._pause();}catch(error){this.error=error.message;}case 1:case"end":return _context5.stop();}},_callee5,this);}));function pause(){return _pause2.apply(this,arguments);}return pause;}())},{key:"resume",value:(function(){var _resume2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6(){return _regenerator["default"].wrap(function(_context6){while(1)switch(_context6.prev=_context6.next){case 0:try{this._checkOperation('resume');this._resume();}catch(error){this.error=error.message;}case 1:case"end":return _context6.stop();}},_callee6,this);}));function resume(){return _resume2.apply(this,arguments);}return resume;}())},{key:"cancel",value:(function(){var _cancel=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7(){var _t3;return _regenerator["default"].wrap(function(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.prev=0;this._checkOperation('cancel');this._stop();if(!this.continuousRecording){_context7.next=2;break;}_context7.next=1;return this._apiService.stopContinuousDebugSession(this.sessionId);case 1:this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;_context7.next=3;break;case 2:_context7.next=3;return this._apiService.cancelSession(this.sessionId);case 3:this._clearSession();_context7.next=5;break;case 4:_context7.prev=4;_t3=_context7["catch"](0);this.error=_t3.message;case 5:case"end":return _context7.stop();}},_callee7,this,[[0,4]]);}));function cancel(){return _cancel.apply(this,arguments);}return cancel;}())},{key:"save",value:(function(){var _save=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(){var _a,res,_t4;return _regenerator["default"].wrap(function(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.prev=0;this._checkOperation('save');if(!(!this.continuousRecording||!((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording))){_context8.next=1;break;}return _context8.abrupt("return");case 1:_context8.next=2;return this._apiService.saveContinuousDebugSession(this.sessionId,{sessionAttributes:this.sessionAttributes,resourceAttributes:(0,_utils.getNavigatorInfo)(),stoppedAt:Date.now(),name:this.sessionAttributes.userName?"".concat(this.sessionAttributes.userName,"'s session on ").concat((0,_utils.getFormattedDate)(Date.now(),{month:'short',day:'numeric'})):"Session on ".concat((0,_utils.getFormattedDate)(Date.now()))});case 2:res=_context8.sent;return _context8.abrupt("return",res);case 3:_context8.prev=3;_t4=_context8["catch"](0);this.error=_t4.message;case 4:case"end":return _context8.stop();}},_callee8,this,[[0,3]]);}));function save(){return _save.apply(this,arguments);}return save;}())},{key:"setSessionAttributes",value:function setSessionAttributes(attributes){this._sessionAttributes=attributes;}},{key:"checkRemoteContinuousSession",value:(function(){var _checkRemoteContinuousSession=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(sessionPayload){var _a,payload,_yield$this$_apiServi,state;return _regenerator["default"].wrap(function(_context9){while(1)switch(_context9.prev=_context9.next){case 0:this._checkOperation('autoStartRemoteContinuousSession');if((_a=this._configs)===null||_a===void 0?void 0:_a.showContinuousRecording){_context9.next=1;break;}return _context9.abrupt("return");case 1:payload={sessionAttributes:_objectSpread(_objectSpread({},this.sessionAttributes),(sessionPayload===null||sessionPayload===void 0?void 0:sessionPayload.sessionAttributes)||{}),resourceAttributes:_objectSpread(_objectSpread({},(0,_utils.getNavigatorInfo)()),(sessionPayload===null||sessionPayload===void 0?void 0:sessionPayload.resourceAttributes)||{})};_context9.next=2;return this._apiService.checkRemoteSession(payload);case 2:_yield$this$_apiServi=_context9.sent;state=_yield$this$_apiServi.state;if(!(state=='START')){_context9.next=4;break;}if(!(this.sessionState!==_types.SessionState.started)){_context9.next=3;break;}_context9.next=3;return this.start(_sessionRecorderCommon.SessionType.CONTINUOUS);case 3:_context9.next=5;break;case 4:if(!(state=='STOP')){_context9.next=5;break;}if(!(this.sessionState!==_types.SessionState.stopped)){_context9.next=5;break;}_context9.next=5;return this.stop();case 5:case"end":return _context9.stop();}},_callee9,this);}));function checkRemoteContinuousSession(_x3){return _checkRemoteContinuousSession.apply(this,arguments);}return checkRemoteContinuousSession;}())},{key:"_createSessionAndStart",value:(function(){var _createSessionAndStart2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee0(){var _a,signal,payload,request,session,_t5,_t6;return _regenerator["default"].wrap(function(_context0){while(1)switch(_context0.prev=_context0.next){case 0:signal=(_a=this._startRequestController)===null||_a===void 0?void 0:_a.signal;_context0.prev=1;payload={sessionAttributes:this.sessionAttributes,resourceAttributes:(0,_utils.getNavigatorInfo)(),name:this.sessionAttributes.userName?"".concat(this.sessionAttributes.userName,"'s session on ").concat((0,_utils.getFormattedDate)(Date.now(),{month:'short',day:'numeric'})):"Session on ".concat((0,_utils.getFormattedDate)(Date.now()))};request=!this.continuousRecording?payload:{debugSessionData:payload};if(!this.continuousRecording){_context0.next=3;break;}_context0.next=2;return this._apiService.startContinuousDebugSession(request,signal);case 2:_t5=_context0.sent;_context0.next=5;break;case 3:_context0.next=4;return this._apiService.startSession(request,signal);case 4:_t5=_context0.sent;case 5:session=_t5;if(session){session.sessionType=this.continuousRecording?_sessionRecorderCommon.SessionType.CONTINUOUS:_sessionRecorderCommon.SessionType.PLAIN;this._setupSessionAndStart(session,false);}_context0.next=7;break;case 6:_context0.prev=6;_t6=_context0["catch"](1);this.error=_t6.message;_utils.logger.error('SessionRecorder','Error creating session:',_t6.message);if(this.continuousRecording){this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;}case 7:case"end":return _context0.stop();}},_callee0,this,[[1,6]]);}));function _createSessionAndStart(){return _createSessionAndStart2.apply(this,arguments);}return _createSessionAndStart;}())},{key:"_start",value:function _start(){this.sessionState=_types.SessionState.started;this.sessionType=this.sessionType;if(this.sessionId){this._tracer.start(this.sessionId,this.sessionType);this._recorder.start(this.sessionId,this.sessionType);}}},{key:"_stop",value:function _stop(){this.sessionState=_types.SessionState.stopped;this._tracer.shutdown();this._recorder.stop();}},{key:"_pause",value:function _pause(){this._tracer.shutdown();this._recorder.stop();this.sessionState=_types.SessionState.paused;}},{key:"_resume",value:function _resume(){if(this.sessionId){this._tracer.setSessionId(this.sessionId,this.sessionType);this._recorder.start(this.sessionId,this.sessionType);}this.sessionState=_types.SessionState.started;}},{key:"_setupSessionAndStart",value:function _setupSessionAndStart(session){var configureExporters=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;if(configureExporters&&session.tempApiKey){this._configs.apiKey=session.tempApiKey;this._tracer.setApiKey(session.tempApiKey);this._recorder.setApiKey(session.tempApiKey);this._apiService.setApiKey(session.tempApiKey);}this._setSession(session);this._start();}},{key:"_setSession",value:function _setSession(session){this.session=_objectSpread(_objectSpread({},session),{},{createdAt:session.createdAt||new Date().toISOString()});this.sessionId=(session===null||session===void 0?void 0:session.shortId)||(session===null||session===void 0?void 0:session._id);}},{key:"_clearSession",value:function _clearSession(){this.session=null;this.sessionId=null;this.sessionState=_types.SessionState.stopped;this._storageService.clearSessionData();}},{key:"_checkOperation",value:function _checkOperation(action,payload){if(!this._isInitialized){throw new Error('Configuration not initialized. Call init() before performing any actions.');}switch(action){case'start':if(this.sessionState===_types.SessionState.started){throw new Error('Session is already started.');}break;case'stop':if(this.sessionState!==_types.SessionState.paused&&this.sessionState!==_types.SessionState.started){throw new Error('Cannot stop. Session is not currently started.');}break;case'cancel':if(this.sessionState===_types.SessionState.stopped){throw new Error('Cannot cancel. Session has already been stopped.');}break;case'pause':if(this.sessionState!==_types.SessionState.started){throw new Error('Cannot pause. Session is not running.');}break;case'resume':if(this.sessionState!==_types.SessionState.paused){throw new Error('Cannot resume. Session is not paused.');}break;case'save':if(!this.continuousRecording){throw new Error('Cannot save continuous recording session. Continuous recording is not enabled.');}if(this.sessionState!==_types.SessionState.started){throw new Error('Cannot save continuous recording session. Session is not started.');}break;case'autoStartRemoteContinuousSession':if(this.sessionState!==_types.SessionState.stopped){throw new Error('Cannot start remote continuous session. Session is not stopped.');}break;}}},{key:"setSessionAttribute",value:function setSessionAttribute(key,value){if(this._session){if(!this._session.sessionAttributes){this._session.sessionAttributes={};}this._session.sessionAttributes[key]=value;this._session.updatedAt=new Date().toISOString();}}},{key:"recordEvent",value:function recordEvent(event){if(!this._isInitialized||this.sessionState!==_types.SessionState.started){return;}this._recorder.recordEvent(event);}},{key:"setViewShotRef",value:function setViewShotRef(ref){if(this._recorder){this._recorder.setViewShotRef(ref);}}},{key:"setNavigationRef",value:function setNavigationRef(ref){if(this._recorder){this._recorder.setNavigationRef(ref);}}}]);}(_observable.Observable);var _default=exports["default"]=new SessionRecorder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../src/session-recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-recorder.js","sourceRoot":"","sources":["../src/session-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PropagateTraceHeaderCorsUrls } from '@opentelemetry/instrumentation-xml-http-request/build/src/types';
|
|
2
|
+
import { MaskingOptions, SessionRecorderOptions } from './session-recorder';
|
|
3
|
+
/**
|
|
4
|
+
* Utility type that makes all properties required recursively
|
|
5
|
+
* Removes optional modifiers and undefined types from nested objects
|
|
6
|
+
*/
|
|
7
|
+
export type DeepRequired<T> = T extends Function ? T : T extends ReadonlyArray<infer U> ? Array<DeepRequired<NonNullable<U>>> : T extends Array<infer U> ? Array<DeepRequired<NonNullable<U>>> : T extends object ? {
|
|
8
|
+
-readonly [K in keyof T]-?: DeepRequired<NonNullable<T[K]>>;
|
|
9
|
+
} : NonNullable<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Fully resolved configuration interface
|
|
12
|
+
* All optional properties from SessionRecorderOptions are now required
|
|
13
|
+
*/
|
|
14
|
+
export interface SessionRecorderConfigs extends DeepRequired<SessionRecorderOptions> {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Base configuration interface with common properties
|
|
18
|
+
* Shared by all service configuration interfaces
|
|
19
|
+
*/
|
|
20
|
+
export interface BaseConfig {
|
|
21
|
+
/** API key for authentication */
|
|
22
|
+
apiKey: string;
|
|
23
|
+
/** Base URL for the API calls */
|
|
24
|
+
apiBaseUrl: string;
|
|
25
|
+
/** OTLP collector endpoint for traces */
|
|
26
|
+
exporterEndpoint: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Type for masking configuration used by the Tracer
|
|
30
|
+
* Contains only trace-related masking options
|
|
31
|
+
*/
|
|
32
|
+
export type TracerReactNativeMasking = Pick<MaskingOptions, 'isContentMaskingEnabled' | 'maskBody' | 'maskHeaders' | 'maskBodyFieldsList' | 'maskHeadersList' | 'headersToInclude' | 'headersToExclude'>;
|
|
33
|
+
/**
|
|
34
|
+
* Configuration interface for the Tracer class
|
|
35
|
+
* Contains all settings needed for OpenTelemetry tracing
|
|
36
|
+
*/
|
|
37
|
+
export interface TracerReactNativeConfig extends BaseConfig {
|
|
38
|
+
/** Application name */
|
|
39
|
+
application: string;
|
|
40
|
+
/** Application version */
|
|
41
|
+
version: string;
|
|
42
|
+
/** Environment (e.g., 'production', 'staging') */
|
|
43
|
+
environment: string;
|
|
44
|
+
/** URLs to ignore during tracing */
|
|
45
|
+
ignoreUrls: Array<string | RegExp>;
|
|
46
|
+
/** Trace ID ratio for sampling */
|
|
47
|
+
sampleTraceRatio: number;
|
|
48
|
+
/** URLs for CORS trace header propagation */
|
|
49
|
+
propagateTraceHeaderCorsUrls: PropagateTraceHeaderCorsUrls;
|
|
50
|
+
/** Whether to schematize document span payload */
|
|
51
|
+
schemifyDocSpanPayload: boolean;
|
|
52
|
+
/** Maximum size for capturing HTTP payload */
|
|
53
|
+
maxCapturingHttpPayloadSize: number;
|
|
54
|
+
/** If true, captures body in traces */
|
|
55
|
+
captureBody: boolean;
|
|
56
|
+
/** If true, captures headers in traces */
|
|
57
|
+
captureHeaders: boolean;
|
|
58
|
+
/** Configuration for masking sensitive data in session recordings */
|
|
59
|
+
masking: TracerReactNativeMasking;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Type for masking configuration used by the Recorder
|
|
63
|
+
* Contains only screen recording masking options
|
|
64
|
+
*/
|
|
65
|
+
export type RecorderMaskingConfig = Pick<MaskingOptions, 'maskTextInputs' | 'maskImages' | 'maskButtons' | 'maskLabels' | 'maskWebViews' | 'maskSandboxedViews'>;
|
|
66
|
+
/**
|
|
67
|
+
* Configuration interface for the Recorder class
|
|
68
|
+
* Contains settings for screen recording and gesture capture
|
|
69
|
+
*/
|
|
70
|
+
export interface RecorderConfig extends BaseConfig {
|
|
71
|
+
/** Whether to record gestures */
|
|
72
|
+
recordGestures?: boolean;
|
|
73
|
+
/** Whether to record navigation */
|
|
74
|
+
recordNavigation?: boolean;
|
|
75
|
+
/** Whether to record screen */
|
|
76
|
+
recordScreen?: boolean;
|
|
77
|
+
/** Configuration for masking sensitive data in screen recordings */
|
|
78
|
+
masking?: RecorderMaskingConfig;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Configuration interface for the ApiService class
|
|
82
|
+
* Contains settings for API communication
|
|
83
|
+
*/
|
|
84
|
+
export interface ApiServiceConfig extends BaseConfig {
|
|
85
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/types/configs.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _sessionRecorder=require("./session-recorder");Object.keys(_sessionRecorder).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_sessionRecorder[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorder[key];}});});var _session=require("./session");Object.keys(_session).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_session[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _session[key];}});});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _sessionRecorder=require("./session-recorder");Object.keys(_sessionRecorder).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_sessionRecorder[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorder[key];}});});var _session=require("./session");Object.keys(_session).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_session[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _session[key];}});});var _configs=require("./configs");Object.keys(_configs).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_configs[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _configs[key];}});});
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|