@multiplayer-app/session-recorder-react-native 0.0.1-beta.2 → 0.0.1-beta.21

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.
Files changed (245) hide show
  1. package/README.md +170 -12
  2. package/SessionRecorderNative.podspec +26 -0
  3. package/android/build.gradle +34 -0
  4. package/copy-react-native-dist.sh +34 -16
  5. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.d.ts +1 -0
  6. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +1 -1
  7. package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +1 -1
  8. package/dist/components/MaskableComponent.d.ts +22 -0
  9. package/dist/components/MaskableComponent.js +1 -0
  10. package/dist/components/MaskableComponent.js.map +1 -0
  11. package/dist/components/MaskableTextInput.d.ts +14 -0
  12. package/dist/components/MaskableTextInput.js +1 -0
  13. package/dist/components/MaskableTextInput.js.map +1 -0
  14. package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -1
  15. package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -1
  16. package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -0
  17. package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
  18. package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
  19. package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
  20. package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
  21. package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
  22. package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +15 -0
  23. package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
  24. package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
  25. package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
  26. package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
  27. package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
  28. package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
  29. package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
  30. package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
  31. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
  32. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
  33. package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
  34. package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
  35. package/dist/components/SessionRecorderWidget/icons.js +1 -0
  36. package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
  37. package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
  38. package/dist/components/SessionRecorderWidget/index.js +1 -0
  39. package/dist/components/SessionRecorderWidget/index.js.map +1 -0
  40. package/dist/components/SessionRecorderWidget/styles.d.ts +165 -0
  41. package/dist/components/SessionRecorderWidget/styles.js +1 -0
  42. package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
  43. package/dist/components/index.d.ts +2 -1
  44. package/dist/components/index.js +1 -1
  45. package/dist/components/index.js.map +1 -1
  46. package/dist/config/defaults.d.ts +4 -4
  47. package/dist/config/defaults.js +1 -1
  48. package/dist/config/defaults.js.map +1 -1
  49. package/dist/config/masking.d.ts +2 -2
  50. package/dist/config/masking.js +1 -1
  51. package/dist/config/masking.js.map +1 -1
  52. package/dist/config/session-recorder.js +1 -1
  53. package/dist/config/session-recorder.js.map +1 -1
  54. package/dist/config/validators.d.ts +1 -1
  55. package/dist/config/validators.js +1 -1
  56. package/dist/config/validators.js.map +1 -1
  57. package/dist/config/widget.d.ts +9 -0
  58. package/dist/config/widget.js +1 -0
  59. package/dist/config/widget.js.map +1 -0
  60. package/dist/context/SessionRecorderContext.d.ts +12 -3
  61. package/dist/context/SessionRecorderContext.js +1 -1
  62. package/dist/context/SessionRecorderContext.js.map +1 -1
  63. package/dist/context/SessionRecorderStore.d.ts +10 -0
  64. package/dist/context/SessionRecorderStore.js +1 -0
  65. package/dist/context/SessionRecorderStore.js.map +1 -0
  66. package/dist/context/useSessionRecorderStore.d.ts +8 -0
  67. package/dist/context/useSessionRecorderStore.js +1 -0
  68. package/dist/context/useSessionRecorderStore.js.map +1 -0
  69. package/dist/context/useStoreSelector.d.ts +4 -0
  70. package/dist/context/useStoreSelector.js +1 -0
  71. package/dist/context/useStoreSelector.js.map +1 -0
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +1 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/native/GestureRecorderNative.d.ts +57 -0
  76. package/dist/native/GestureRecorderNative.js +1 -0
  77. package/dist/native/GestureRecorderNative.js.map +1 -0
  78. package/dist/native/ScreenMasking.d.ts +21 -0
  79. package/dist/native/ScreenMasking.js +1 -0
  80. package/dist/native/ScreenMasking.js.map +1 -0
  81. package/dist/native/SessionRecorderNative.d.ts +33 -0
  82. package/dist/native/SessionRecorderNative.js +1 -0
  83. package/dist/native/SessionRecorderNative.js.map +1 -0
  84. package/dist/native/index.d.ts +2 -0
  85. package/dist/native/index.js +1 -0
  86. package/dist/native/index.js.map +1 -0
  87. package/dist/otel/index.js +1 -1
  88. package/dist/otel/index.js.map +1 -1
  89. package/dist/patch/xhr.js +1 -1
  90. package/dist/patch/xhr.js.map +1 -1
  91. package/dist/recorder/eventExporter.d.ts +4 -1
  92. package/dist/recorder/eventExporter.js +1 -1
  93. package/dist/recorder/eventExporter.js.map +1 -1
  94. package/dist/recorder/gestureRecorder.d.ts +28 -62
  95. package/dist/recorder/gestureRecorder.js +1 -1
  96. package/dist/recorder/gestureRecorder.js.map +1 -1
  97. package/dist/recorder/index.d.ts +2 -0
  98. package/dist/recorder/index.js +1 -1
  99. package/dist/recorder/index.js.map +1 -1
  100. package/dist/recorder/navigationTracker.d.ts +4 -19
  101. package/dist/recorder/navigationTracker.js +1 -1
  102. package/dist/recorder/navigationTracker.js.map +1 -1
  103. package/dist/recorder/screenRecorder.d.ts +11 -5
  104. package/dist/recorder/screenRecorder.js +1 -1
  105. package/dist/recorder/screenRecorder.js.map +1 -1
  106. package/dist/recorder/screenshotManager.d.ts +10 -0
  107. package/dist/recorder/screenshotManager.js +1 -0
  108. package/dist/recorder/screenshotManager.js.map +1 -0
  109. package/dist/services/api.service.d.ts +12 -3
  110. package/dist/services/api.service.js +1 -1
  111. package/dist/services/api.service.js.map +1 -1
  112. package/dist/services/screenMaskingService.d.ts +47 -0
  113. package/dist/services/screenMaskingService.js +1 -0
  114. package/dist/services/screenMaskingService.js.map +1 -0
  115. package/dist/services/storage.service.d.ts +18 -2
  116. package/dist/services/storage.service.js +1 -1
  117. package/dist/services/storage.service.js.map +1 -1
  118. package/dist/session-recorder.d.ts +10 -34
  119. package/dist/session-recorder.js +1 -1
  120. package/dist/session-recorder.js.map +1 -1
  121. package/dist/types/configs.d.ts +85 -0
  122. package/dist/types/configs.js +1 -0
  123. package/dist/types/configs.js.map +1 -0
  124. package/dist/types/index.d.ts +1 -0
  125. package/dist/types/index.js +1 -1
  126. package/dist/types/index.js.map +1 -1
  127. package/dist/types/session-recorder.d.ts +96 -132
  128. package/dist/types/session-recorder.js +1 -1
  129. package/dist/types/session-recorder.js.map +1 -1
  130. package/dist/utils/componentRegistry.d.ts +64 -0
  131. package/dist/utils/componentRegistry.js +1 -0
  132. package/dist/utils/componentRegistry.js.map +1 -0
  133. package/dist/utils/constants.optional.d.ts +21 -0
  134. package/dist/utils/constants.optional.expo.d.ts +3 -0
  135. package/dist/utils/constants.optional.expo.js +1 -0
  136. package/dist/utils/constants.optional.expo.js.map +1 -0
  137. package/dist/utils/constants.optional.js +1 -0
  138. package/dist/utils/constants.optional.js.map +1 -0
  139. package/dist/utils/createStore.d.ts +8 -0
  140. package/dist/utils/createStore.js +1 -0
  141. package/dist/utils/createStore.js.map +1 -0
  142. package/dist/utils/logger.d.ts +1 -1
  143. package/dist/utils/logger.js +1 -1
  144. package/dist/utils/logger.js.map +1 -1
  145. package/dist/utils/nativeModuleTest.d.ts +8 -0
  146. package/dist/utils/nativeModuleTest.js +1 -0
  147. package/dist/utils/nativeModuleTest.js.map +1 -0
  148. package/dist/utils/platform.d.ts +11 -0
  149. package/dist/utils/platform.js +1 -1
  150. package/dist/utils/platform.js.map +1 -1
  151. package/dist/utils/reactNativeHierarchyExtractor.d.ts +38 -0
  152. package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
  153. package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
  154. package/dist/utils/rrweb-events.d.ts +4 -3
  155. package/dist/utils/rrweb-events.js +1 -1
  156. package/dist/utils/rrweb-events.js.map +1 -1
  157. package/dist/utils/screenshotMasker.d.ts +96 -0
  158. package/dist/utils/screenshotMasker.js +1 -0
  159. package/dist/utils/screenshotMasker.js.map +1 -0
  160. package/dist/utils/session.d.ts +2 -1
  161. package/dist/utils/session.js +1 -1
  162. package/dist/utils/session.js.map +1 -1
  163. package/dist/utils/shallowEqual.d.ts +1 -0
  164. package/dist/utils/shallowEqual.js +1 -0
  165. package/dist/utils/shallowEqual.js.map +1 -0
  166. package/dist/utils/viewHierarchyTracker.d.ts +89 -0
  167. package/dist/utils/viewHierarchyTracker.js +1 -0
  168. package/dist/utils/viewHierarchyTracker.js.map +1 -0
  169. package/dist/version.d.ts +1 -1
  170. package/dist/version.js +1 -1
  171. package/dist/version.js.map +1 -1
  172. package/ios/GestureRecorderNative.m +21 -0
  173. package/ios/GestureRecorderNative.swift +316 -0
  174. package/ios/SessionRecorderNative.m +17 -0
  175. package/ios/SessionRecorderNative.podspec +26 -0
  176. package/ios/SessionRecorderNative.swift +599 -0
  177. package/package.json +14 -12
  178. package/react-native.config.js +12 -0
  179. package/RRWEB_INTEGRATION.md +0 -336
  180. package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
  181. package/babel.config.js +0 -13
  182. package/dist/components/GestureCaptureWrapper.d.ts +0 -6
  183. package/dist/components/GestureCaptureWrapper.js +0 -1
  184. package/dist/components/GestureCaptureWrapper.js.map +0 -1
  185. package/dist/expo.d.ts +0 -7
  186. package/dist/expo.js +0 -1
  187. package/dist/expo.js.map +0 -1
  188. package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
  189. package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
  190. package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
  191. package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
  192. package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
  193. package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
  194. package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
  195. package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
  196. package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
  197. package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
  198. package/dist/recorder/gestureHandlerRecorder.js +0 -1
  199. package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
  200. package/dist/types/rrweb.d.ts +0 -118
  201. package/dist/types/rrweb.js +0 -1
  202. package/dist/types/rrweb.js.map +0 -1
  203. package/scripts/generate-app-metadata.js +0 -173
  204. package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
  205. package/src/components/GestureCaptureWrapper/index.ts +0 -1
  206. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
  207. package/src/components/ScreenRecorderView/index.ts +0 -1
  208. package/src/components/index.ts +0 -1
  209. package/src/config/constants.ts +0 -60
  210. package/src/config/defaults.ts +0 -82
  211. package/src/config/index.ts +0 -6
  212. package/src/config/masking.ts +0 -27
  213. package/src/config/session-recorder.ts +0 -55
  214. package/src/config/validators.ts +0 -31
  215. package/src/context/SessionRecorderContext.tsx +0 -75
  216. package/src/expo.ts +0 -11
  217. package/src/index.ts +0 -17
  218. package/src/otel/helpers.ts +0 -275
  219. package/src/otel/index.ts +0 -138
  220. package/src/otel/instrumentations/index.ts +0 -115
  221. package/src/patch/index.ts +0 -1
  222. package/src/patch/xhr.ts +0 -142
  223. package/src/recorder/eventExporter.ts +0 -141
  224. package/src/recorder/gestureRecorder.ts +0 -498
  225. package/src/recorder/index.ts +0 -179
  226. package/src/recorder/navigationTracker.ts +0 -449
  227. package/src/recorder/screenRecorder.ts +0 -498
  228. package/src/services/api.service.ts +0 -203
  229. package/src/services/storage.service.ts +0 -158
  230. package/src/session-recorder.ts +0 -600
  231. package/src/types/expo.d.ts +0 -23
  232. package/src/types/index.ts +0 -28
  233. package/src/types/session-recorder.ts +0 -423
  234. package/src/types/session.ts +0 -65
  235. package/src/utils/app-metadata.ts +0 -31
  236. package/src/utils/index.ts +0 -8
  237. package/src/utils/logger.ts +0 -225
  238. package/src/utils/platform.ts +0 -384
  239. package/src/utils/request-utils.ts +0 -61
  240. package/src/utils/rrweb-events.ts +0 -309
  241. package/src/utils/session.ts +0 -18
  242. package/src/utils/time.ts +0 -17
  243. package/src/utils/type-utils.ts +0 -75
  244. package/src/version.ts +0 -1
  245. package/tsconfig.json +0 -24
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.GestureRecorder=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _utils=require("../utils");var _types=require("@rrweb/types");var GestureRecorder=exports.GestureRecorder=function(){function GestureRecorder(){(0,_classCallCheck2["default"])(this,GestureRecorder);this.isRecording=false;this.events=[];this.gestureHandlers=new Map();this.screenDimensions=null;this.lastGestureTime=0;this.gestureThrottleMs=50;this.lastTouchTime=0;this.touchThrottleMs=100;this.isRecordingGesture=false;this.gestureCallStack=[];this.maxGestureCallDepth=5;this.imageNodeId=1;}return(0,_createClass2["default"])(GestureRecorder,[{key:"init",value:function init(config,eventRecorder,screenRecorder){this.config=config;this.eventRecorder=eventRecorder;this.screenRecorder=screenRecorder;this._getScreenDimensions();}},{key:"start",value:function start(){_utils.logger.info('GestureRecorder','Gesture recording started');this.isRecording=true;this.events=[];}},{key:"stop",value:function stop(){this.isRecording=false;this._removeGestureHandlers();}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_removeGestureHandlers",value:function _removeGestureHandlers(){this.gestureHandlers.clear();}},{key:"_recordEvent",value:function _recordEvent(event){if(!this.isRecording)return;var now=Date.now();if(now-this.lastGestureTime<this.gestureThrottleMs){return;}this.lastGestureTime=now;this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('@opentelemetry/instrumentation-user-interaction').startSpan("Gesture.".concat(event.type),{attributes:{'gesture.type':event.type,'gesture.timestamp':event.timestamp,'gesture.platform':'react-native'}});if(event.coordinates){span.setAttribute('gesture.coordinates.x',event.coordinates.x);span.setAttribute('gesture.coordinates.y',event.coordinates.y);if(this.screenDimensions){var relativeX=event.coordinates.x/this.screenDimensions.width;var relativeY=event.coordinates.y/this.screenDimensions.height;span.setAttribute('gesture.coordinates.relative_x',relativeX);span.setAttribute('gesture.coordinates.relative_y',relativeY);}}if(event.target){span.setAttribute('gesture.target',event.target);}if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("gesture.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"recordTap",value:function recordTap(x,y,target,pressure){var _a,_b;var event={type:'tap',timestamp:Date.now(),coordinates:{x:x,y:y},target:target,metadata:{pressure:pressure||1.0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordSwipe",value:function recordSwipe(direction,target,velocity,distance){var _a,_b;var event={type:'swipe',timestamp:Date.now(),target:target,metadata:{direction:direction,velocity:velocity||0,distance:distance||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordPinch",value:function recordPinch(scale,target,velocity){var _a,_b;var event={type:'pinch',timestamp:Date.now(),target:target,metadata:{scale:scale,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordPan",value:function recordPan(deltaX,deltaY,target,velocity){var _a,_b;var event={type:'pan',timestamp:Date.now(),target:target,metadata:{deltaX:deltaX,deltaY:deltaY,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordLongPress",value:function recordLongPress(duration,target,pressure){var _a,_b;var event={type:'longPress',timestamp:Date.now(),target:target,metadata:{duration:duration,pressure:pressure||1.0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordDoubleTap",value:function recordDoubleTap(x,y,target){var _a,_b;var event={type:'doubleTap',timestamp:Date.now(),coordinates:{x:x,y:y},target:target,metadata:{screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordRotate",value:function recordRotate(rotation,target,velocity){var _a,_b;var event={type:'rotate',timestamp:Date.now(),target:target,metadata:{rotation:rotation,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordFling",value:function recordFling(direction,velocity,target){var _a,_b;var event={type:'fling',timestamp:Date.now(),target:target,metadata:{direction:direction,velocity:velocity,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordMultiTouch",value:function recordMultiTouch(touchCount,target){var _a,_b;var event={type:'multiTouch',timestamp:Date.now(),target:target,metadata:{touchCount:touchCount,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordScroll",value:function recordScroll(direction,distance,velocity,target){var _a,_b;var event={type:'scroll',timestamp:Date.now(),target:target,metadata:{direction:direction,distance:distance,velocity:velocity,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordZoom",value:function recordZoom(scale,target,velocity){var _a,_b;var event={type:'zoom',timestamp:Date.now(),target:target,metadata:{scale:scale,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];}},{key:"getEventStats",value:function getEventStats(){var stats={};this.events.forEach(function(event){stats[event.type]=(stats[event.type]||0)+1;});return stats;}},{key:"setGestureThrottle",value:function setGestureThrottle(throttleMs){this.gestureThrottleMs=throttleMs;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}},{key:"_createMouseInteractionEvent",value:function _createMouseInteractionEvent(x,y,interactionType,target){var incrementalSnapshotEvent={type:_types.EventType.IncrementalSnapshot,data:{source:_types.IncrementalSource.MouseInteraction,type:interactionType,id:this.imageNodeId,x:x,y:y,pointerType:2},timestamp:Date.now()};this.recordEvent(incrementalSnapshotEvent);}},{key:"_createMouseMoveEvent",value:function _createMouseMoveEvent(x,y,target){var incrementalSnapshotEvent={type:_types.EventType.IncrementalSnapshot,data:{source:_types.IncrementalSource.TouchMove,positions:[{x:x,y:y,id:this.imageNodeId,timeOffset:0}]},timestamp:Date.now()};this.recordEvent(incrementalSnapshotEvent);}},{key:"recordTouchStart",value:function recordTouchStart(x,y,target,pressure){var now=Date.now();if(now-this.lastTouchTime<this.touchThrottleMs){_utils.logger.debug('GestureRecorder',"Touch start throttled (".concat(now-this.lastTouchTime,"ms < ").concat(this.touchThrottleMs,"ms)"));return;}this.lastTouchTime=now;_utils.logger.debug('GestureRecorder','Touch start recorded',{x:x,y:y,target:target,pressure:pressure});this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchStart,target);}},{key:"recordTouchMove",value:function recordTouchMove(x,y,target,pressure){var now=Date.now();if(now-this.lastTouchTime<this.touchThrottleMs*2){_utils.logger.debug('GestureRecorder',"Touch move throttled (".concat(now-this.lastTouchTime,"ms < ").concat(this.touchThrottleMs*2,"ms)"));return;}this.lastTouchTime=now;_utils.logger.debug('GestureRecorder','Touch move recorded',{x:x,y:y,target:target,pressure:pressure});this._createMouseMoveEvent(x,y,target);}},{key:"recordTouchEnd",value:function recordTouchEnd(x,y,target,pressure){var _a;if(this.isRecordingGesture){_utils.logger.error('GestureRecorder','CYCLIC CALL DETECTED! Already recording gesture',this.gestureCallStack);return;}if(this.gestureCallStack.length>=this.maxGestureCallDepth){_utils.logger.error('GestureRecorder','MAX GESTURE CALL DEPTH REACHED!',this.gestureCallStack);return;}this.isRecordingGesture=true;this.gestureCallStack.push('recordTouchEnd');try{_utils.logger.debug('GestureRecorder','Touch end recorded',{x:x,y:y,target:target,pressure:pressure});this.recordTap(x,y,target,pressure);this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchEnd,target);_utils.logger.debug('GestureRecorder','Forcing screen capture after touch end');(_a=this.screenRecorder)===null||_a===void 0?void 0:_a.forceCapture();}finally{this.isRecordingGesture=false;this.gestureCallStack.pop();}}},{key:"recordTouchCancel",value:function recordTouchCancel(x,y,target){this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchCancel,target);}},{key:"setImageNodeId",value:function setImageNodeId(nodeId){this.imageNodeId=nodeId;}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.GestureRecorder=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _reactNative=require("react-native");var _api=require("@opentelemetry/api");var _utils=require("../utils");var _types=require("@rrweb/types");var _GestureRecorderNative=_interopRequireWildcard(require("../native/GestureRecorderNative"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}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 GestureRecorder=exports.GestureRecorder=function(){function GestureRecorder(){(0,_classCallCheck2["default"])(this,GestureRecorder);this.isRecording=false;this.events=[];this.screenDimensions=null;this.lastGestureTime=0;this.gestureThrottleMs=50;this.lastTouchTime=0;this.touchThrottleMs=100;this.imageNodeId=1;this.panMoveCount=0;}return(0,_createClass2["default"])(GestureRecorder,[{key:"init",value:function init(config,eventRecorder,screenRecorder){this.config=config;this.eventRecorder=eventRecorder;this.screenRecorder=screenRecorder;this._getScreenDimensions();}},{key:"start",value:function start(){var _this=this;_utils.logger.info('GestureRecorder','Native gesture recording started');this.isRecording=true;this.events=[];_GestureRecorderNative["default"].startGestureRecording().then(function(){_utils.logger.info('GestureRecorder','Native gesture recording started successfully');_this._setupGestureEventListener();})["catch"](function(error){_utils.logger.error('GestureRecorder','Failed to start native gesture recording',error);});}},{key:"stop",value:function stop(){this.isRecording=false;this._removeGestureEventListener();_GestureRecorderNative["default"].stopGestureRecording().then(function(){_utils.logger.info('GestureRecorder','Native gesture recording stopped successfully');})["catch"](function(error){_utils.logger.error('GestureRecorder','Failed to stop native gesture recording',error);});}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_setupGestureEventListener",value:function _setupGestureEventListener(){var _this2=this;if(!_GestureRecorderNative.gestureEventEmitter){_utils.logger.warn('GestureRecorder','Gesture event emitter not available');return;}this.gestureEventListener=_GestureRecorderNative.gestureEventEmitter.addListener('onGestureDetected',function(nativeGesture){_this2._handleNativeGesture(nativeGesture);});}},{key:"_removeGestureEventListener",value:function _removeGestureEventListener(){if(this.gestureEventListener){this.gestureEventListener.remove();this.gestureEventListener=undefined;}}},{key:"_handleNativeGesture",value:function _handleNativeGesture(nativeGesture){var _a,_b;if(!this.isRecording)return;var now=Date.now();if(now-this.lastGestureTime<this.gestureThrottleMs){return;}this.lastGestureTime=now;var gesture={type:nativeGesture.type,timestamp:nativeGesture.timestamp,coordinates:{x:nativeGesture.x,y:nativeGesture.y},target:nativeGesture.target,targetInfo:nativeGesture.targetInfo,metadata:_objectSpread(_objectSpread({},nativeGesture.metadata),{},{screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height})};this.events.push(gesture);this._sendEvent(gesture);this._recordOpenTelemetrySpan(gesture);switch(nativeGesture.type){case'tap':this._handleTapGesture(nativeGesture);break;case'pan_start':this._handlePanStartGesture(nativeGesture);break;case'pan_move':this._handlePanMoveGesture(nativeGesture);break;case'pan_end':this._handlePanEndGesture(nativeGesture);break;case'long_press':this._handleLongPressGesture(nativeGesture);break;case'pinch':this._handlePinchGesture(nativeGesture);break;case'swipe':this._handleSwipeGesture(nativeGesture);break;}}},{key:"_handleTapGesture",value:function _handleTapGesture(nativeGesture){this.recordTouchStart(nativeGesture.x,nativeGesture.y,nativeGesture.target);this.recordTouchEnd(nativeGesture.x,nativeGesture.y,nativeGesture.target);}},{key:"_handlePanStartGesture",value:function _handlePanStartGesture(nativeGesture){this.recordTouchStart(nativeGesture.x,nativeGesture.y,nativeGesture.target);}},{key:"_handlePanMoveGesture",value:function _handlePanMoveGesture(nativeGesture){this.recordTouchMove(nativeGesture.x,nativeGesture.y,nativeGesture.target);}},{key:"_handlePanEndGesture",value:function _handlePanEndGesture(nativeGesture){this.recordTouchEnd(nativeGesture.x,nativeGesture.y,nativeGesture.target);}},{key:"_handleLongPressGesture",value:function _handleLongPressGesture(nativeGesture){this.recordTouchStart(nativeGesture.x,nativeGesture.y,nativeGesture.target);this.recordTouchEnd(nativeGesture.x,nativeGesture.y,nativeGesture.target);}},{key:"_handlePinchGesture",value:function _handlePinchGesture(nativeGesture){var _a,_b;this.recordPinch(((_a=nativeGesture.metadata)===null||_a===void 0?void 0:_a.scale)||1.0,nativeGesture.target,((_b=nativeGesture.metadata)===null||_b===void 0?void 0:_b.velocity)||0);}},{key:"_handleSwipeGesture",value:function _handleSwipeGesture(nativeGesture){var _a,_b;this.recordSwipe(((_a=nativeGesture.metadata)===null||_a===void 0?void 0:_a.direction)||'unknown',nativeGesture.target,((_b=nativeGesture.metadata)===null||_b===void 0?void 0:_b.velocity)||0);}},{key:"_sendEvent",value:function _sendEvent(event){_utils.logger.debug('GestureRecorder','Gesture event recorded',{type:event.type,target:event.target});}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{_utils.logger.debug('GestureRecorder','Creating OTEL span for native gesture',{type:event.type,target:event.target,targetInfo:event.targetInfo,hasTargetInfo:!!event.targetInfo});if(event.type==='pan_start'){if(this.currentPanSpan){this.currentPanSpan.setStatus({code:_api.SpanStatusCode.OK});this.currentPanSpan.end();}this.panMoveCount=0;var panSpan=_api.trace.getTracer('@opentelemetry/instrumentation-user-interaction').startSpan('NativeGesture.pan',{startTime:event.timestamp});panSpan.setAttribute('gesture.type','pan');panSpan.setAttribute('gesture.timestamp',event.timestamp);panSpan.setAttribute('gesture.platform','react-native');panSpan.setAttribute('gesture.source','native-module');if(event.coordinates){panSpan.setAttribute('gesture.start.x',event.coordinates.x);panSpan.setAttribute('gesture.start.y',event.coordinates.y);}if(event.target){panSpan.setAttribute('gesture.target',this._truncateText(event.target,50));}var _info=event.targetInfo;if(_info){if(_info.label){var truncatedLabel=this._truncateText(String(_info.label),50);panSpan.setAttribute('gesture.target.label',truncatedLabel);}if(_info.role){panSpan.setAttribute('gesture.target.role',String(_info.role));}if(_info.testId){panSpan.setAttribute('gesture.target.test_id',String(_info.testId));}if(_info.text){var truncatedText=this._truncateText(String(_info.text),50);panSpan.setAttribute('gesture.target.text',truncatedText);}}this.currentPanSpan=panSpan;return;}if(event.type==='pan_move'){if(this.currentPanSpan){this.panMoveCount+=1;this.currentPanSpan.setAttribute('gesture.pan.move_count',this.panMoveCount);if(event.coordinates){this.currentPanSpan.setAttribute('gesture.last.x',event.coordinates.x);this.currentPanSpan.setAttribute('gesture.last.y',event.coordinates.y);}return;}}if(event.type==='pan_end'){if(this.currentPanSpan){if(event.coordinates){this.currentPanSpan.setAttribute('gesture.end.x',event.coordinates.x);this.currentPanSpan.setAttribute('gesture.end.y',event.coordinates.y);}this.currentPanSpan.setStatus({code:_api.SpanStatusCode.OK});this.currentPanSpan.end();this.currentPanSpan=undefined;this.panMoveCount=0;return;}}var span=_api.trace.getTracer('@opentelemetry/instrumentation-user-interaction').startSpan("NativeGesture.".concat(event.type),{startTime:event.timestamp,attributes:{'gesture.type':event.type,'gesture.timestamp':event.timestamp,'gesture.platform':'react-native','gesture.source':'native-module'}});if(event.coordinates){span.setAttribute('gesture.coordinates.x',event.coordinates.x);span.setAttribute('gesture.coordinates.y',event.coordinates.y);if(this.screenDimensions){var relativeX=event.coordinates.x/this.screenDimensions.width;var relativeY=event.coordinates.y/this.screenDimensions.height;span.setAttribute('gesture.coordinates.relative_x',relativeX);span.setAttribute('gesture.coordinates.relative_y',relativeY);}}if(event.target){span.setAttribute('gesture.target',this._truncateText(event.target,100));}var info=event.targetInfo;if(info){if(info.label){var _truncatedLabel=this._truncateText(String(info.label),100);span.setAttribute('gesture.target.label',_truncatedLabel);}if(info.role){span.setAttribute('gesture.target.role',String(info.role));}if(info.testId){span.setAttribute('gesture.target.test_id',String(info.testId));}if(info.text){var _truncatedText=this._truncateText(String(info.text),200);span.setAttribute('gesture.target.text',_truncatedText);}}if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("gesture.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();_utils.logger.debug('GestureRecorder','OTEL span created and ended successfully');}catch(error){_utils.logger.error('GestureRecorder','Failed to record OpenTelemetry span for native gesture',error);}}},{key:"recordTap",value:function recordTap(x,y,target,pressure,timestamp){var _a,_b;var event={type:'tap',timestamp:timestamp||Date.now(),coordinates:{x:x,y:y},target:target,metadata:{pressure:pressure||1.0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordSwipe",value:function recordSwipe(direction,target,velocity,distance){var _a,_b;var event={type:'swipe',timestamp:Date.now(),target:target,metadata:{direction:direction,velocity:velocity||0,distance:distance||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordPinch",value:function recordPinch(scale,target,velocity){var _a,_b;var event={type:'pinch',timestamp:Date.now(),target:target,metadata:{scale:scale,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordPan",value:function recordPan(deltaX,deltaY,target,velocity){var _a,_b;var event={type:'pan',timestamp:Date.now(),target:target,metadata:{deltaX:deltaX,deltaY:deltaY,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordLongPress",value:function recordLongPress(duration,target,pressure){var _a,_b;var event={type:'longPress',timestamp:Date.now(),target:target,metadata:{duration:duration,pressure:pressure||1.0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordDoubleTap",value:function recordDoubleTap(x,y,target){var _a,_b;var event={type:'doubleTap',timestamp:Date.now(),coordinates:{x:x,y:y},target:target,metadata:{screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordRotate",value:function recordRotate(rotation,target,velocity){var _a,_b;var event={type:'rotate',timestamp:Date.now(),target:target,metadata:{rotation:rotation,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordFling",value:function recordFling(direction,velocity,target){var _a,_b;var event={type:'fling',timestamp:Date.now(),target:target,metadata:{direction:direction,velocity:velocity,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordMultiTouch",value:function recordMultiTouch(touchCount,target){var _a,_b;var event={type:'multiTouch',timestamp:Date.now(),target:target,metadata:{touchCount:touchCount,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordScroll",value:function recordScroll(direction,distance,velocity,target){var _a,_b;var event={type:'scroll',timestamp:Date.now(),target:target,metadata:{direction:direction,distance:distance,velocity:velocity,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordZoom",value:function recordZoom(scale,target,velocity){var _a,_b;var event={type:'zoom',timestamp:Date.now(),target:target,metadata:{scale:scale,velocity:velocity||0,screenWidth:(_a=this.screenDimensions)===null||_a===void 0?void 0:_a.width,screenHeight:(_b=this.screenDimensions)===null||_b===void 0?void 0:_b.height}};this._recordEvent(event);}},{key:"recordTouchStart",value:function recordTouchStart(x,y,target,pressure){var now=Date.now();if(now-this.lastTouchTime<this.touchThrottleMs){_utils.logger.debug('GestureRecorder',"Touch start throttled (".concat(now-this.lastTouchTime,"ms < ").concat(this.touchThrottleMs,"ms)"));return;}this.lastTouchTime=now;_utils.logger.debug('GestureRecorder','Touch start recorded',{x:x,y:y,target:target,pressure:pressure});this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchStart,now);}},{key:"recordTouchMove",value:function recordTouchMove(x,y,target,pressure){var now=Date.now();if(now-this.lastTouchTime<this.touchThrottleMs*2){_utils.logger.debug('GestureRecorder',"Touch move throttled (".concat(now-this.lastTouchTime,"ms < ").concat(this.touchThrottleMs*2,"ms)"));return;}this.lastTouchTime=now;_utils.logger.debug('GestureRecorder','Touch move recorded',{x:x,y:y,target:target,pressure:pressure});this._createMouseMoveEvent(x,y,target);}},{key:"recordTouchEnd",value:function recordTouchEnd(x,y,target,pressure){var _a;var timestamp=Date.now();_utils.logger.debug('GestureRecorder','Touch end recorded',{x:x,y:y,target:target,pressure:pressure,timestamp:timestamp});this.recordTap(x,y,target,pressure,timestamp);this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchEnd,timestamp);(_a=this.screenRecorder)===null||_a===void 0?void 0:_a.forceCapture(timestamp);}},{key:"recordTouchCancel",value:function recordTouchCancel(x,y,target){this._createMouseInteractionEvent(x,y,_types.MouseInteractions.TouchCancel);}},{key:"setImageNodeId",value:function setImageNodeId(nodeId){this.imageNodeId=nodeId;}},{key:"_recordEvent",value:function _recordEvent(event){if(!this.isRecording)return;var now=Date.now();if(now-this.lastGestureTime<this.gestureThrottleMs){return;}this.lastGestureTime=now;this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"_createMouseInteractionEvent",value:function _createMouseInteractionEvent(x,y,interactionType,timestamp){var incrementalSnapshotEvent={type:_types.EventType.IncrementalSnapshot,data:{source:_types.IncrementalSource.MouseInteraction,type:interactionType,id:this.imageNodeId,x:x,y:y,pointerType:2},timestamp:timestamp||Date.now()};this.recordEvent(incrementalSnapshotEvent);}},{key:"_createMouseMoveEvent",value:function _createMouseMoveEvent(x,y,target){var incrementalSnapshotEvent={type:_types.EventType.IncrementalSnapshot,data:{source:_types.IncrementalSource.TouchMove,positions:[{x:x,y:y,id:this.imageNodeId,timeOffset:0}]},timestamp:Date.now()};this.recordEvent(incrementalSnapshotEvent);}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];}},{key:"getEventStats",value:function getEventStats(){var stats={};this.events.forEach(function(event){stats[event.type]=(stats[event.type]||0)+1;});return stats;}},{key:"setGestureThrottle",value:function setGestureThrottle(throttleMs){this.gestureThrottleMs=throttleMs;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"_truncateText",value:function _truncateText(text){var maxLength=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;if(!text||text.length<=maxLength){return text;}return text.substring(0,maxLength-3)+'...';}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"gestureRecorder.js","sourceRoot":"","sources":["../../src/recorder/gestureRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gestureRecorder.js","sourceRoot":"","sources":["../../src/recorder/gestureRecorder.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export declare class RecorderReactNativeSDK implements EventRecorder {
13
13
  private sessionType;
14
14
  constructor();
15
15
  init(config: RecorderConfig): void;
16
+ setApiKey(apiKey: string): void;
17
+ setSocketUrl(socketUrl: string): void;
16
18
  start(sessionId: string | null, sessionType: SessionType): void;
17
19
  stop(): void;
18
20
  setNavigationRef(ref: any): void;
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.RecorderReactNativeSDK=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _eventExporter=require("./eventExporter");var _utils=require("../utils");var _screenRecorder=require("./screenRecorder");var _gestureRecorder=require("./gestureRecorder");var _navigationTracker=require("./navigationTracker");var RecorderReactNativeSDK=exports.RecorderReactNativeSDK=function(){function RecorderReactNativeSDK(){(0,_classCallCheck2["default"])(this,RecorderReactNativeSDK);this.isRecording=false;this.recordedEvents=[];this.sessionId=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;this.screenRecorder=new _screenRecorder.ScreenRecorder();this.gestureRecorder=new _gestureRecorder.GestureRecorder();this.navigationTracker=new _navigationTracker.NavigationTracker();}return(0,_createClass2["default"])(RecorderReactNativeSDK,[{key:"init",value:function init(config){this.config=config;this.gestureRecorder.init(config,this,this.screenRecorder);this.navigationTracker.init(config);this.screenRecorder.init(config,this);this.exporter=new _eventExporter.EventExporter({socketUrl:config.apiBaseUrl||'',apiKey:config.apiKey});}},{key:"start",value:function start(sessionId,sessionType){if(!this.config){throw new Error('Configuration not initialized. Call init() before start().');}this.sessionId=sessionId;this.sessionType=sessionType;this.isRecording=true;if(this.config.recordScreen){this.screenRecorder.start();}if(this.config.recordGestures){this.gestureRecorder.start();}if(this.config.recordNavigation){this.navigationTracker.start();}}},{key:"stop",value:function stop(){var _a;this.isRecording=false;this.gestureRecorder.stop();this.navigationTracker.stop();this.screenRecorder.stop();(_a=this.exporter)===null||_a===void 0?void 0:_a.close();}},{key:"setNavigationRef",value:function setNavigationRef(ref){this.navigationTracker.setNavigationRef(ref);}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.screenRecorder.setViewShotRef(ref);}},{key:"recordEvent",value:function recordEvent(event){if(!this.isRecording){return;}if(this.exporter){_utils.logger.debug('RecorderReactNativeSDK','Sending to exporter',event);this.exporter.send({event:event,eventType:event.type,timestamp:event.timestamp,debugSessionId:this.sessionId,debugSessionType:this.sessionType});}}},{key:"recordTouchStart",value:function recordTouchStart(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchStart(x,y,target,pressure);}},{key:"recordTouchMove",value:function recordTouchMove(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchMove(x,y,target,pressure);}},{key:"recordTouchEnd",value:function recordTouchEnd(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchEnd(x,y,target,pressure);}},{key:"getRecordedEvents",value:function getRecordedEvents(){return(0,_toConsumableArray2["default"])(this.recordedEvents);}},{key:"clearRecordedEvents",value:function clearRecordedEvents(){this.recordedEvents=[];}},{key:"getRecordingStats",value:function getRecordingStats(){return{totalEvents:this.recordedEvents.length,isRecording:this.isRecording};}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.RecorderReactNativeSDK=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _eventExporter=require("./eventExporter");var _utils=require("../utils");var _screenRecorder=require("./screenRecorder");var _gestureRecorder=require("./gestureRecorder");var _navigationTracker=require("./navigationTracker");var RecorderReactNativeSDK=exports.RecorderReactNativeSDK=function(){function RecorderReactNativeSDK(){(0,_classCallCheck2["default"])(this,RecorderReactNativeSDK);this.isRecording=false;this.recordedEvents=[];this.sessionId=null;this.sessionType=_sessionRecorderCommon.SessionType.PLAIN;this.screenRecorder=new _screenRecorder.ScreenRecorder();this.gestureRecorder=new _gestureRecorder.GestureRecorder();this.navigationTracker=new _navigationTracker.NavigationTracker();this.exporter=new _eventExporter.EventExporter({socketUrl:'',apiKey:''});}return(0,_createClass2["default"])(RecorderReactNativeSDK,[{key:"init",value:function init(config){this.config=config;this.screenRecorder.init(config,this);this.navigationTracker.init(config,this.screenRecorder);this.gestureRecorder.init(config,this,this.screenRecorder);this.exporter.setApiKey(config.apiKey);this.exporter.setSocketUrl(config.apiBaseUrl);}},{key:"setApiKey",value:function setApiKey(apiKey){this.exporter.setApiKey(apiKey);}},{key:"setSocketUrl",value:function setSocketUrl(socketUrl){this.exporter.setSocketUrl(socketUrl);}},{key:"start",value:function start(sessionId,sessionType){if(!this.config){throw new Error('Configuration not initialized. Call init() before start().');}this.sessionId=sessionId;this.sessionType=sessionType;this.isRecording=true;if(this.config.recordScreen){this.screenRecorder.start();}if(this.config.recordGestures){this.gestureRecorder.start();}if(this.config.recordNavigation){this.navigationTracker.start();}}},{key:"stop",value:function stop(){var _a;this.isRecording=false;this.gestureRecorder.stop();this.navigationTracker.stop();this.screenRecorder.stop();(_a=this.exporter)===null||_a===void 0?void 0:_a.close();}},{key:"setNavigationRef",value:function setNavigationRef(ref){this.navigationTracker.setNavigationRef(ref);}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.screenRecorder.setViewShotRef(ref);}},{key:"recordEvent",value:function recordEvent(event){if(!this.isRecording){return;}if(this.exporter){_utils.logger.debug('RecorderReactNativeSDK','Sending to exporter',event);this.exporter.send({event:event,eventType:event.type,timestamp:event.timestamp,debugSessionId:this.sessionId,debugSessionType:this.sessionType});}}},{key:"recordTouchStart",value:function recordTouchStart(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchStart(x,y,target,pressure);}},{key:"recordTouchMove",value:function recordTouchMove(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchMove(x,y,target,pressure);}},{key:"recordTouchEnd",value:function recordTouchEnd(x,y,target,pressure){if(!this.isRecording){return;}this.gestureRecorder.recordTouchEnd(x,y,target,pressure);}},{key:"getRecordedEvents",value:function getRecordedEvents(){return(0,_toConsumableArray2["default"])(this.recordedEvents);}},{key:"clearRecordedEvents",value:function clearRecordedEvents(){this.recordedEvents=[];}},{key:"getRecordingStats",value:function getRecordingStats(){return{totalEvents:this.recordedEvents.length,isRecording:this.isRecording};}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recorder/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recorder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AACtE,0FAA0F;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAGvD,MAAM,OAAO,sBAAsB;IAYjC;QAXQ,gBAAW,GAAG,KAAK,CAAA;QAKnB,mBAAc,GAAoB,EAAE,CAAA;QAEpC,cAAS,GAAkB,IAAI,CAAA;QAC/B,gBAAW,GAAgB,WAAW,CAAC,KAAK,CAAA;QAIlD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAA;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAA;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC;YAChC,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;SACX,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,MAAsB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAE5D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/C,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,SAAwB,EAAE,WAAwB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;QAC/E,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,oCAAoC;QAEpC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAA;QAChC,CAAC;IAGH,CAAC;IAED,IAAI;;QACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAC1B,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,EAAE,CAAA;IACxB,CAAC;IAGD,gBAAgB,CAAC,GAAQ;QACvB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,GAAQ;QACrB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAA;YACpE,uDAAuD;YACvD,kCAAkC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,KAAK,EAAE,mCAAmC;gBACjD,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,cAAc,EAAE,IAAI,CAAC,SAAS;gBAC9B,gBAAgB,EAAE,IAAI,CAAC,WAAW;aACnC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,MAAe,EAAE,QAAiB;QACvE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,CAAS,EAAE,CAAS,EAAE,MAAe,EAAE,QAAiB;QACtE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,CAAS,EAAE,CAAS,EAAE,MAAe,EAAE,QAAiB;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAA;IACH,CAAC;CACF"}
@@ -1,14 +1,14 @@
1
- import { NavigationEvent, RecorderConfig } from '../types';
1
+ import { RecorderConfig } from '../types';
2
2
  export declare class NavigationTracker {
3
3
  private config?;
4
4
  private isRecording;
5
5
  private navigationRef;
6
- private events;
7
6
  private navigationListeners;
8
7
  private currentRoute;
9
8
  private navigationStack;
10
9
  private navigationStartTime;
11
- init(config: RecorderConfig): void;
10
+ private screenRecorder?;
11
+ init(config: RecorderConfig, screenRecorder?: any): void;
12
12
  setNavigationRef(ref: any): void;
13
13
  start(): void;
14
14
  stop(): void;
@@ -16,28 +16,13 @@ export declare class NavigationTracker {
16
16
  resume(): void;
17
17
  private _setupNavigationListener;
18
18
  private _removeNavigationListener;
19
+ private _getFriendlyRouteTitle;
19
20
  private _recordNavigationEvent;
20
21
  private _updateNavigationStack;
21
- private _sendEvent;
22
22
  private _recordOpenTelemetrySpan;
23
- recordNavigate(routeName: string, params?: Record<string, any>): void;
24
- recordGoBack(): void;
25
- recordReset(routes: any[]): void;
26
- private _recordEvent;
27
- recordDeepLink(url: string, params?: Record<string, any>): void;
28
- recordTabChange(tabName: string, tabIndex: number): void;
29
- recordModalOpen(modalName: string, params?: Record<string, any>): void;
30
- recordModalClose(modalName: string): void;
31
- recordStackPush(routeName: string, params?: Record<string, any>): void;
32
- recordStackPop(routeName?: string): void;
33
- recordNavigationPerformance(routeName: string, loadTime: number): void;
34
- recordNavigationError(error: Error, routeName?: string): void;
35
23
  getCurrentRoute(): string | null;
36
24
  getNavigationStack(): string[];
37
25
  getNavigationDepth(): number;
38
- getEvents(): NavigationEvent[];
39
- clearEvents(): void;
40
- getNavigationStats(): Record<string, number>;
41
26
  isRecordingEnabled(): boolean;
42
27
  getNavigationDuration(): number;
43
28
  }
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NavigationTracker=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");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 NavigationTracker=exports.NavigationTracker=function(){function NavigationTracker(){(0,_classCallCheck2["default"])(this,NavigationTracker);this.isRecording=false;this.navigationRef=null;this.events=[];this.navigationListeners=new Map();this.currentRoute=null;this.navigationStack=[];this.navigationStartTime=0;}return(0,_createClass2["default"])(NavigationTracker,[{key:"init",value:function init(config){this.config=config;}},{key:"setNavigationRef",value:function setNavigationRef(ref){this.navigationRef=ref;if(this.isRecording){this._setupNavigationListener();}}},{key:"start",value:function start(){_utils.logger.info('NavigationTracker','Navigation tracking started');this.isRecording=true;this.events=[];this.navigationStack=[];this.navigationStartTime=Date.now();this._setupNavigationListener();}},{key:"stop",value:function stop(){this.isRecording=false;this._removeNavigationListener();}},{key:"pause",value:function pause(){this.isRecording=false;}},{key:"resume",value:function resume(){this.isRecording=true;this._setupNavigationListener();}},{key:"_setupNavigationListener",value:function _setupNavigationListener(){var _this=this;if(!this.navigationRef){return;}try{var stateListener=this.navigationRef.addListener('state',function(e){_this._recordNavigationEvent('state_change',e.data);});var focusListener=this.navigationRef.addListener('focus',function(e){_this._recordNavigationEvent('focus',e.data);});var blurListener=this.navigationRef.addListener('blur',function(e){_this._recordNavigationEvent('blur',e.data);});var beforeRemoveListener=this.navigationRef.addListener('beforeRemove',function(e){_this._recordNavigationEvent('beforeRemove',e.data);});this.navigationListeners.set('state',stateListener);this.navigationListeners.set('focus',focusListener);this.navigationListeners.set('blur',blurListener);this.navigationListeners.set('beforeRemove',beforeRemoveListener);}catch(error){}}},{key:"_removeNavigationListener",value:function _removeNavigationListener(){try{this.navigationListeners.forEach(function(listener,key){if(listener&&typeof listener.remove==='function'){listener.remove();}});this.navigationListeners.clear();}catch(error){}}},{key:"_recordNavigationEvent",value:function _recordNavigationEvent(eventType,data){if(!this.isRecording)return;var event={type:'navigate',timestamp:Date.now(),metadata:{eventType:eventType,navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length}};if(data){if(data.routeName){event.routeName=data.routeName;this._updateNavigationStack(data.routeName,eventType);}if(data.params){event.params=data.params;}if(data.key){event.metadata.routeKey=data.key;}}this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"_updateNavigationStack",value:function _updateNavigationStack(routeName,eventType){if(eventType==='focus'||eventType==='state_change'){if(this.currentRoute!==routeName){this.currentRoute=routeName;this.navigationStack.push(routeName);}}else if(eventType==='blur'||eventType==='beforeRemove'){var index=this.navigationStack.indexOf(routeName);if(index>-1){this.navigationStack.splice(index,1);}}}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('navigation').startSpan("Navigation.".concat(event.type),{attributes:{'navigation.system':'ReactNavigation','navigation.operation':event.type,'navigation.type':event.type,'navigation.timestamp':event.timestamp,'navigation.platform':'react-native'}});if(event.routeName){span.setAttribute('navigation.route_name',event.routeName);}if(event.params){span.setAttribute('navigation.params',JSON.stringify(event.params));}if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("navigation.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"recordNavigate",value:function recordNavigate(routeName,params){var event={type:'navigate',timestamp:Date.now(),routeName:routeName,params:params,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,manual:true}};this._updateNavigationStack(routeName,'focus');this._recordEvent(event);}},{key:"recordGoBack",value:function recordGoBack(){var event={type:'goBack',timestamp:Date.now(),metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,manual:true}};this._recordEvent(event);}},{key:"recordReset",value:function recordReset(routes){var event={type:'reset',timestamp:Date.now(),metadata:{navigationDuration:Date.now()-this.navigationStartTime,routesCount:routes.length,manual:true}};this.navigationStack=routes.map(function(route){return route.name||route.routeName;});if(routes.length>0){this.currentRoute=routes[0].name||routes[0].routeName;}this._recordEvent(event);this._recordEvent(event);}},{key:"_recordEvent",value:function _recordEvent(event){if(!this.isRecording)return;this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"recordDeepLink",value:function recordDeepLink(url,params){var event={type:'navigate',timestamp:Date.now(),routeName:'deepLink',params:_objectSpread({url:url},params),metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,deepLink:true}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordTabChange",value:function recordTabChange(tabName,tabIndex){var event={type:'navigate',timestamp:Date.now(),routeName:tabName,params:{tabIndex:tabIndex},metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,tabChange:true,tabIndex:tabIndex}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordModalOpen",value:function recordModalOpen(modalName,params){var event={type:'navigate',timestamp:Date.now(),routeName:modalName,params:params,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,modal:true}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordModalClose",value:function recordModalClose(modalName){var event={type:'goBack',timestamp:Date.now(),routeName:modalName,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,modal:true,modalClose:true}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordStackPush",value:function recordStackPush(routeName,params){var event={type:'navigate',timestamp:Date.now(),routeName:routeName,params:params,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,stackOperation:'push'}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordStackPop",value:function recordStackPop(routeName){var event={type:'goBack',timestamp:Date.now(),routeName:routeName,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,stackOperation:'pop'}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordNavigationPerformance",value:function recordNavigationPerformance(routeName,loadTime){var event={type:'navigate',timestamp:Date.now(),routeName:routeName,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,performance:'monitoring',loadTime:loadTime}};this._recordEvent(event);this._recordEvent(event);}},{key:"recordNavigationError",value:function recordNavigationError(error,routeName){var event={type:'navigate',timestamp:Date.now(),routeName:routeName,metadata:{navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length,error:true,errorType:error.name,errorMessage:error.message}};this._recordEvent(event);this._recordEvent(event);try{var span=_api.trace.getTracer('navigation').startSpan('Navigation.error',{attributes:{'navigation.system':'ReactNavigation','navigation.error':true,'navigation.error.type':error.name,'navigation.error.message':error.message,'navigation.route_name':routeName||'unknown','navigation.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"getCurrentRoute",value:function getCurrentRoute(){return this.currentRoute;}},{key:"getNavigationStack",value:function getNavigationStack(){return(0,_toConsumableArray2["default"])(this.navigationStack);}},{key:"getNavigationDepth",value:function getNavigationDepth(){return this.navigationStack.length;}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];}},{key:"getNavigationStats",value:function getNavigationStats(){var stats={};this.events.forEach(function(event){stats[event.type]=(stats[event.type]||0)+1;});return stats;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getNavigationDuration",value:function getNavigationDuration(){return Date.now()-this.navigationStartTime;}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NavigationTracker=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _utils=require("../utils");var NavigationTracker=exports.NavigationTracker=function(){function NavigationTracker(){(0,_classCallCheck2["default"])(this,NavigationTracker);this.isRecording=false;this.navigationRef=null;this.navigationListeners=new Map();this.currentRoute=null;this.navigationStack=[];this.navigationStartTime=0;}return(0,_createClass2["default"])(NavigationTracker,[{key:"init",value:function init(config,screenRecorder){this.config=config;this.screenRecorder=screenRecorder;}},{key:"setNavigationRef",value:function setNavigationRef(ref){this.navigationRef=ref;if(this.isRecording){this._setupNavigationListener();}}},{key:"start",value:function start(){_utils.logger.info('NavigationTracker','Navigation tracking started');this.isRecording=true;this.navigationStack=[];this.navigationStartTime=Date.now();this._setupNavigationListener();}},{key:"stop",value:function stop(){this.isRecording=false;this._removeNavigationListener();}},{key:"pause",value:function pause(){this.isRecording=false;}},{key:"resume",value:function resume(){this.isRecording=true;this._setupNavigationListener();}},{key:"_setupNavigationListener",value:function _setupNavigationListener(){var _this=this;if(!this.navigationRef){return;}try{var stateListener=this.navigationRef.addListener('state',function(e){_this._recordNavigationEvent('state_change',e.data);});var focusListener=this.navigationRef.addListener('focus',function(e){_this._recordNavigationEvent('focus',e.data);});var blurListener=this.navigationRef.addListener('blur',function(e){_this._recordNavigationEvent('blur',e.data);});var beforeRemoveListener=this.navigationRef.addListener('beforeRemove',function(e){_this._recordNavigationEvent('beforeRemove',e.data);});this.navigationListeners.set('state',stateListener);this.navigationListeners.set('focus',focusListener);this.navigationListeners.set('blur',blurListener);this.navigationListeners.set('beforeRemove',beforeRemoveListener);}catch(error){}}},{key:"_removeNavigationListener",value:function _removeNavigationListener(){try{this.navigationListeners.forEach(function(listener,key){if(listener&&typeof listener.remove==='function'){listener.remove();}});this.navigationListeners.clear();}catch(error){}}},{key:"_getFriendlyRouteTitle",value:function _getFriendlyRouteTitle(){var _a,_b;try{var current=(_b=(_a=this.navigationRef)===null||_a===void 0?void 0:_a.getCurrentRoute)===null||_b===void 0?void 0:_b.call(_a);if(!current)return null;var titleFromParams=current.params&&current.params.title;if(titleFromParams&&typeof titleFromParams==='string'){return titleFromParams;}if(current.name&&typeof current.name==='string'){var raw=current.name;var withoutGroups=raw.replace(/^\([^)]*\)\//,'');var lastSegment=withoutGroups.split('/').filter(Boolean).slice(-2).join(' ');var withoutParams=lastSegment.replace(/\[[^\]]+\]/g,'').trim();var spaced=withoutParams.replace(/[-_]+/g,' ').replace(/\s+/g,' ').trim();var titleCase=spaced.split(' ').map(function(w){return w?w.charAt(0).toUpperCase()+w.slice(1):w;}).join(' ');return titleCase||raw;}return null;}catch(_c){return null;}}},{key:"_recordNavigationEvent",value:function _recordNavigationEvent(eventType,data){var _a,_b;if(!this.isRecording)return;var event={type:'navigate',timestamp:Date.now(),metadata:{eventType:eventType,navigationDuration:Date.now()-this.navigationStartTime,stackDepth:this.navigationStack.length}};var currentRoute=((_b=(_a=this.navigationRef)===null||_a===void 0?void 0:_a.getCurrentRoute)===null||_b===void 0?void 0:_b.call(_a))||{};var friendlyTitle=this._getFriendlyRouteTitle();var routeName=(data===null||data===void 0?void 0:data.routeName)||(currentRoute===null||currentRoute===void 0?void 0:currentRoute.name);var params=(data===null||data===void 0?void 0:data.params)||(currentRoute===null||currentRoute===void 0?void 0:currentRoute.params);var key=(data===null||data===void 0?void 0:data.key)||(currentRoute===null||currentRoute===void 0?void 0:currentRoute.key);if(routeName){event.routeName=routeName;this._updateNavigationStack(routeName,eventType);}if(params){event.params=params;}if(key){event.metadata.routeKey=key;}if(friendlyTitle){event.metadata.friendlyRouteName=friendlyTitle;}this._recordOpenTelemetrySpan(event);}},{key:"_updateNavigationStack",value:function _updateNavigationStack(routeName,eventType){if(eventType==='focus'||eventType==='state_change'){if(this.currentRoute!==routeName){this.currentRoute=routeName;this.navigationStack.push(routeName);}}else if(eventType==='blur'||eventType==='beforeRemove'){var index=this.navigationStack.indexOf(routeName);if(index>-1){this.navigationStack.splice(index,1);}}}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('navigation').startSpan("Navigation.".concat(event.type),{attributes:{'navigation.system':'ReactNavigation','navigation.operation':event.type,'navigation.type':event.type,'navigation.timestamp':event.timestamp,'navigation.platform':'react-native'}});if(event.routeName){span.setAttribute('navigation.route_name',event.routeName);}if(event.params){span.setAttribute('navigation.params',JSON.stringify(event.params));}if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("navigation.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"getCurrentRoute",value:function getCurrentRoute(){return this.currentRoute;}},{key:"getNavigationStack",value:function getNavigationStack(){return(0,_toConsumableArray2["default"])(this.navigationStack);}},{key:"getNavigationDepth",value:function getNavigationDepth(){return this.navigationStack.length;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getNavigationDuration",value:function getNavigationDuration(){return Date.now()-this.navigationStartTime;}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"navigationTracker.js","sourceRoot":"","sources":["../../src/recorder/navigationTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigationTracker.js","sourceRoot":"","sources":["../../src/recorder/navigationTracker.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class ScreenRecorder implements EventRecorder {
8
8
  private captureCount;
9
9
  private maxCaptures;
10
10
  private captureQuality;
11
+ private captureScale;
11
12
  private captureFormat;
12
13
  private screenDimensions;
13
14
  private currentScreen;
@@ -19,6 +20,7 @@ export declare class ScreenRecorder implements EventRecorder {
19
20
  private enableChangeDetection;
20
21
  private hashSampleSize;
21
22
  private currentImageNodeId;
23
+ private maskingConfig?;
22
24
  init(config: RecorderConfig, eventRecorder?: EventRecorder): void;
23
25
  start(): void;
24
26
  stop(): void;
@@ -33,22 +35,25 @@ export declare class ScreenRecorder implements EventRecorder {
33
35
  /**
34
36
  * Create a full snapshot event with the given base64 image
35
37
  * @param base64Image - Base64 encoded image data
38
+ * @param timestamp - Optional timestamp to use for the event
36
39
  * @returns Full snapshot event
37
40
  */
38
- createFullSnapshot(base64Image: string): eventWithTime;
41
+ createFullSnapshot(base64Image: string, timestamp?: number): eventWithTime;
39
42
  /**
40
43
  * Create an incremental snapshot event with mutation data to update image src
41
44
  * @param base64Image - New base64 encoded image data
42
- * @param imageNodeId - ID of the image node to update
45
+ * @param captureFormat - Image format (png, jpg, etc.)
46
+ * @param timestamp - Optional timestamp to use for the event
43
47
  * @returns Incremental snapshot event with mutation data
44
48
  */
45
- createIncrementalSnapshotWithImageUpdate(base64Image: string): eventWithTime;
49
+ createIncrementalSnapshotWithImageUpdate(base64Image: string, captureFormat?: string, timestamp?: number): eventWithTime;
46
50
  /**
47
51
  * Update the screen with a new image using incremental snapshot
48
52
  * @param base64Image - New base64 encoded image data
53
+ * @param timestamp - Optional timestamp to use for the event
49
54
  * @returns true if update was successful, false otherwise
50
55
  */
51
- updateScreenWithIncrementalSnapshot(base64Image: string): boolean;
56
+ updateScreenWithIncrementalSnapshot(base64Image: string, timestamp?: number): boolean;
52
57
  /**
53
58
  * Force a full snapshot (useful when screen dimensions change or for debugging)
54
59
  * @param base64Image - Base64 encoded image data
@@ -105,8 +110,9 @@ export declare class ScreenRecorder implements EventRecorder {
105
110
  /**
106
111
  * Force capture screen (useful after touch interactions)
107
112
  * This bypasses the change detection and always captures
113
+ * @param timestamp - Optional timestamp to use for the capture event
108
114
  */
109
- forceCapture(): void;
115
+ forceCapture(timestamp?: number): void;
110
116
  /**
111
117
  * Record an rrweb event
112
118
  * @param event - The rrweb event to record
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorder=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _reactNativeViewShot=require("react-native-view-shot");var _utils=require("../utils");var ScreenRecorder=exports.ScreenRecorder=function(){function ScreenRecorder(){(0,_classCallCheck2["default"])(this,ScreenRecorder);this.isRecording=false;this.events=[];this.captureCount=0;this.maxCaptures=100;this.captureQuality=0.3;this.captureFormat='jpg';this.screenDimensions=null;this.currentScreen=null;this.nodeIdCounter=1;this.viewShotRef=null;this.lastScreenCapture=null;this.lastScreenHash=null;this.enableChangeDetection=true;this.hashSampleSize=100;this.currentImageNodeId=null;}return(0,_createClass2["default"])(ScreenRecorder,[{key:"init",value:function init(config,eventRecorder){this.config=config;this.eventRecorder=eventRecorder;this._getScreenDimensions();}},{key:"start",value:function start(){this.isRecording=true;this.events=[];this.captureCount=0;this.lastScreenCapture=null;this.lastScreenHash=null;this.currentImageNodeId=null;_utils.logger.info('ScreenRecorder','Screen recording started');this.recordEvent((0,_utils.createRecordingMetaEvent)());this._startPeriodicCapture();this._captureScreen();}},{key:"stop",value:function stop(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"pause",value:function pause(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"resume",value:function resume(){this.isRecording=true;}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_startPeriodicCapture",value:function _startPeriodicCapture(){var _this=this;if(this.captureInterval){clearInterval(this.captureInterval);}this.captureInterval=setInterval(function(){_this._captureScreen();},5000);}},{key:"_stopPeriodicCapture",value:function _stopPeriodicCapture(){if(this.captureInterval){clearInterval(this.captureInterval);this.captureInterval=undefined;}}},{key:"_captureScreen",value:function(){var _captureScreen2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(){var base64Image,hasChanged,success,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(!this.isRecording||this.captureCount>=this.maxCaptures)){_context.next=1;break;}return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return this._captureScreenBase64();case 2:base64Image=_context.sent;if(base64Image){hasChanged=this.enableChangeDetection?this._hasScreenChanged(base64Image):true;if(hasChanged){if(this.currentImageNodeId!==null&&this.lastScreenCapture){success=this.updateScreenWithIncrementalSnapshot(base64Image);if(!success){this._createAndEmitFullSnapshotEvent(base64Image);}}else{this._createAndEmitFullSnapshotEvent(base64Image);}this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);this._recordScreenCaptureError(_t);case 4:case"end":return _context.stop();}},_callee,this,[[1,3]]);}));function _captureScreen(){return _captureScreen2.apply(this,arguments);}return _captureScreen;}()},{key:"_captureScreenBase64",value:function(){var _captureScreenBase=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var result,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;if(this.viewShotRef){_context2.next=1;break;}_utils.logger.warn('ScreenRecorder','ViewShot ref not available for screen capture');return _context2.abrupt("return",null);case 1:_context2.next=2;return(0,_reactNativeViewShot.captureRef)(this.viewShotRef,{format:this.captureFormat,quality:this.captureQuality,result:'base64'});case 2:result=_context2.sent;return _context2.abrupt("return",result);case 3:_context2.prev=3;_t2=_context2["catch"](0);_utils.logger.error('ScreenRecorder','Failed to capture screen. Make sure react-native-view-shot is properly installed and linked:',_t2);return _context2.abrupt("return",null);case 4:case"end":return _context2.stop();}},_callee2,this,[[0,3]]);}));function _captureScreenBase64(){return _captureScreenBase.apply(this,arguments);}return _captureScreenBase64;}()},{key:"_createAndEmitFullSnapshotEvent",value:function _createAndEmitFullSnapshotEvent(base64Image){if(!this.screenDimensions)return;var fullSnapshotEvent=this.createFullSnapshot(base64Image);this.recordEvent(fullSnapshotEvent);}},{key:"createFullSnapshot",value:function createFullSnapshot(base64Image){if(!this.screenDimensions){throw new Error('Screen dimensions not available');}var _this$screenDimension=this.screenDimensions,width=_this$screenDimension.width,height=_this$screenDimension.height;this.nodeIdCounter=1;var fullSnapshotEvent=(0,_utils.createFullSnapshotEvent)(base64Image,width,height,this.captureFormat,{current:this.nodeIdCounter});this.currentImageNodeId=0;return fullSnapshotEvent;}},{key:"createIncrementalSnapshotWithImageUpdate",value:function createIncrementalSnapshotWithImageUpdate(base64Image){return(0,_utils.createIncrementalSnapshotWithImageUpdate)(base64Image,this.captureFormat);}},{key:"updateScreenWithIncrementalSnapshot",value:function updateScreenWithIncrementalSnapshot(base64Image){if(this.currentImageNodeId===null){_utils.logger.warn('ScreenRecorder','No image node ID available for incremental update');return false;}var incrementalEvent=this.createIncrementalSnapshotWithImageUpdate(base64Image);this.recordEvent(incrementalEvent);return true;}},{key:"forceFullSnapshot",value:function forceFullSnapshot(base64Image){this._createAndEmitFullSnapshotEvent(base64Image);this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}},{key:"_hasScreenChanged",value:function _hasScreenChanged(currentBase64){if(!this.lastScreenCapture){return true;}var currentHash=this._generateScreenHash(currentBase64);return currentHash!==this.lastScreenHash;}},{key:"_generateScreenHash",value:function _generateScreenHash(base64Image){return(0,_utils.generateScreenHash)(base64Image,this.hashSampleSize);}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('screen').startSpan("Screen.".concat(event.type),{attributes:{'screen.type':event.type,'screen.timestamp':event.timestamp,'screen.platform':'react-native'}});if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("screen.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"_recordScreenCaptureError",value:function _recordScreenCaptureError(error){try{var span=_api.trace.getTracer('screen').startSpan('Screen.capture.error',{attributes:{'screen.error':true,'screen.error.type':error.name,'screen.error.message':error.message,'screen.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"captureSpecificElement",value:function(){var _captureSpecificElement=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(elementRef,options){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=1;return(0,_reactNativeViewShot.captureRef)(elementRef);case 1:return _context3.abrupt("return",_context3.sent);case 2:_context3.prev=2;_t3=_context3["catch"](0);return _context3.abrupt("return",null);case 3:case"end":return _context3.stop();}},_callee3,null,[[0,2]]);}));function captureSpecificElement(_x,_x2){return _captureSpecificElement.apply(this,arguments);}return captureSpecificElement;}()},{key:"setCaptureInterval",value:function setCaptureInterval(intervalMs){var _this2=this;if(this.captureInterval){clearInterval(this.captureInterval);}if(this.isRecording){this.captureInterval=setInterval(function(){_this2._captureScreen();},intervalMs);}}},{key:"setCaptureQuality",value:function setCaptureQuality(quality){this.captureQuality=Math.max(0.1,Math.min(1.0,quality));}},{key:"setCaptureFormat",value:function setCaptureFormat(format){this.captureFormat=format;}},{key:"setMaxCaptures",value:function setMaxCaptures(max){this.maxCaptures=Math.max(1,max);}},{key:"setChangeDetection",value:function setChangeDetection(enabled){this.enableChangeDetection=enabled;}},{key:"setHashSampleSize",value:function setHashSampleSize(size){this.hashSampleSize=Math.max(10,Math.min(1000,size));}},{key:"recordScreenPerformance",value:function recordScreenPerformance(screenName,loadTime){var event={screenName:screenName,type:'screenCapture',timestamp:Date.now(),metadata:{screenName:screenName,loadTime:loadTime,performance:'monitoring',captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"recordScreenError",value:function recordScreenError(error,screenName){var event={screenName:screenName||'unknown',type:'screenCapture',timestamp:Date.now(),metadata:{error:true,errorType:error.name,errorMessage:error.message,screenName:screenName,captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordScreenCaptureError(error);}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];this.captureCount=0;}},{key:"getScreenStats",value:function getScreenStats(){var stats={totalCaptures:this.captureCount,totalEvents:this.events.length,averageCaptureTime:0,successRate:0};if(this.events.length>0){var captureTimes=this.events.map(function(event){var _a;return((_a=event.metadata)===null||_a===void 0?void 0:_a.captureTime)||0;}).filter(function(time){return time>0;});if(captureTimes.length>0){stats.averageCaptureTime=captureTimes.reduce(function(a,b){return a+b;},0)/captureTimes.length;}var successfulCaptures=this.events.filter(function(event){return event.dataUrl;}).length;stats.successRate=successfulCaptures/this.events.length*100;}return stats;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getConfiguration",value:function getConfiguration(){return{captureInterval:this.captureInterval?5000:0,captureQuality:this.captureQuality,captureFormat:this.captureFormat,maxCaptures:this.maxCaptures,screenDimensions:this.screenDimensions};}},{key:"shutdown",value:function shutdown(){this.stop();this.clearEvents();}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.viewShotRef=ref;}},{key:"forceCapture",value:function forceCapture(){if(!this.isRecording){return;}this._captureScreen();}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenRecorder=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _reactNativeViewShot=require("react-native-view-shot");var _utils=require("../utils");var _screenMaskingService=require("../services/screenMaskingService");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 ScreenRecorder=exports.ScreenRecorder=function(){function ScreenRecorder(){(0,_classCallCheck2["default"])(this,ScreenRecorder);this.isRecording=false;this.events=[];this.captureCount=0;this.maxCaptures=100;this.captureQuality=0.2;this.captureScale=0.66;this.captureFormat='jpg';this.screenDimensions=null;this.currentScreen=null;this.nodeIdCounter=1;this.viewShotRef=null;this.lastScreenCapture=null;this.lastScreenHash=null;this.enableChangeDetection=true;this.hashSampleSize=100;this.currentImageNodeId=null;}return(0,_createClass2["default"])(ScreenRecorder,[{key:"init",value:function init(config,eventRecorder){this.config=config;this.eventRecorder=eventRecorder;this._getScreenDimensions();this.maskingConfig=_objectSpread({enabled:true},this.config.masking);_screenMaskingService.screenMaskingService.updateConfig(this.maskingConfig);}},{key:"start",value:function start(){this.isRecording=true;this.events=[];this.captureCount=0;this.lastScreenCapture=null;this.lastScreenHash=null;this.currentImageNodeId=null;_utils.logger.info('ScreenRecorder','Screen recording started');this.recordEvent((0,_utils.createRecordingMetaEvent)());this._startPeriodicCapture();this._captureScreen();}},{key:"stop",value:function stop(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"pause",value:function pause(){this.isRecording=false;this._stopPeriodicCapture();}},{key:"resume",value:function resume(){this.isRecording=true;}},{key:"_getScreenDimensions",value:function _getScreenDimensions(){try{this.screenDimensions=_reactNative.Dimensions.get('window');}catch(error){this.screenDimensions={width:375,height:667};}}},{key:"_startPeriodicCapture",value:function _startPeriodicCapture(){var _this=this;if(this.captureInterval){clearInterval(this.captureInterval);}this.captureInterval=setInterval(function(){_this._captureScreen();},5000);}},{key:"_stopPeriodicCapture",value:function _stopPeriodicCapture(){if(this.captureInterval){clearInterval(this.captureInterval);this.captureInterval=undefined;}}},{key:"_captureScreen",value:function(){var _captureScreen2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(timestamp){var base64Image,hasChanged,success,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(!this.isRecording||this.captureCount>=this.maxCaptures)){_context.next=1;break;}return _context.abrupt("return");case 1:_context.prev=1;_context.next=2;return this._captureScreenBase64();case 2:base64Image=_context.sent;if(base64Image){hasChanged=this.enableChangeDetection?this._hasScreenChanged(base64Image):true;if(hasChanged){if(this.currentImageNodeId!==null&&this.lastScreenCapture){success=this.updateScreenWithIncrementalSnapshot(base64Image,timestamp);if(!success){this._createAndEmitFullSnapshotEvent(base64Image,timestamp);}}else{this._createAndEmitFullSnapshotEvent(base64Image,timestamp);}this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}}_context.next=4;break;case 3:_context.prev=3;_t=_context["catch"](1);this._recordScreenCaptureError(_t);case 4:case"end":return _context.stop();}},_callee,this,[[1,3]]);}));function _captureScreen(_x){return _captureScreen2.apply(this,arguments);}return _captureScreen;}()},{key:"_captureScreenBase64",value:function(){var _captureScreenBase=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(){var maskedImage,result,_t2;return _regenerator["default"].wrap(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;if(!_screenMaskingService.screenMaskingService.isScreenMaskingAvailable()){_context2.next=3;break;}_utils.logger.info('ScreenRecorder','Using native masking for screen capture');_context2.next=1;return _screenMaskingService.screenMaskingService.captureMaskedScreen({quality:this.captureQuality,scale:this.captureScale});case 1:maskedImage=_context2.sent;if(!maskedImage){_context2.next=2;break;}return _context2.abrupt("return",maskedImage);case 2:_utils.logger.warn('ScreenRecorder','Native masking failed, falling back to view-shot');case 3:if(this.viewShotRef){_context2.next=4;break;}_utils.logger.warn('ScreenRecorder','ViewShot ref not available for screen capture');return _context2.abrupt("return",null);case 4:_context2.next=5;return(0,_reactNativeViewShot.captureRef)(this.viewShotRef,{format:this.captureFormat,quality:this.captureQuality,result:'base64'});case 5:result=_context2.sent;return _context2.abrupt("return",result);case 6:_context2.prev=6;_t2=_context2["catch"](0);_utils.logger.error('ScreenRecorder','Failed to capture screen. Make sure react-native-view-shot is properly installed and linked:',_t2);return _context2.abrupt("return",null);case 7:case"end":return _context2.stop();}},_callee2,this,[[0,6]]);}));function _captureScreenBase64(){return _captureScreenBase.apply(this,arguments);}return _captureScreenBase64;}()},{key:"_createAndEmitFullSnapshotEvent",value:function _createAndEmitFullSnapshotEvent(base64Image,timestamp){if(!this.screenDimensions)return;var fullSnapshotEvent=this.createFullSnapshot(base64Image,timestamp);this.recordEvent(fullSnapshotEvent);}},{key:"createFullSnapshot",value:function createFullSnapshot(base64Image,timestamp){if(!this.screenDimensions){throw new Error('Screen dimensions not available');}var _this$screenDimension=this.screenDimensions,width=_this$screenDimension.width,height=_this$screenDimension.height;this.nodeIdCounter=1;var fullSnapshotEvent=(0,_utils.createFullSnapshotEvent)(base64Image,width,height,this.captureFormat,{current:this.nodeIdCounter},timestamp);this.currentImageNodeId=0;return fullSnapshotEvent;}},{key:"createIncrementalSnapshotWithImageUpdate",value:function createIncrementalSnapshotWithImageUpdate(base64Image,captureFormat,timestamp){return(0,_utils.createIncrementalSnapshotWithImageUpdate)(base64Image,captureFormat||this.captureFormat,timestamp);}},{key:"updateScreenWithIncrementalSnapshot",value:function updateScreenWithIncrementalSnapshot(base64Image,timestamp){if(this.currentImageNodeId===null){_utils.logger.warn('ScreenRecorder','No image node ID available for incremental update');return false;}var incrementalEvent=this.createIncrementalSnapshotWithImageUpdate(base64Image,'jpg',timestamp);this.recordEvent(incrementalEvent);return true;}},{key:"forceFullSnapshot",value:function forceFullSnapshot(base64Image){this._createAndEmitFullSnapshotEvent(base64Image);this.lastScreenCapture=base64Image;this.lastScreenHash=this._generateScreenHash(base64Image);this.captureCount++;}},{key:"_hasScreenChanged",value:function _hasScreenChanged(currentBase64){if(!this.lastScreenCapture){return true;}var currentHash=this._generateScreenHash(currentBase64);return currentHash!==this.lastScreenHash;}},{key:"_generateScreenHash",value:function _generateScreenHash(base64Image){return(0,_utils.generateScreenHash)(base64Image,this.hashSampleSize);}},{key:"_sendEvent",value:function _sendEvent(event){}},{key:"_recordOpenTelemetrySpan",value:function _recordOpenTelemetrySpan(event){try{var span=_api.trace.getTracer('screen').startSpan("Screen.".concat(event.type),{attributes:{'screen.type':event.type,'screen.timestamp':event.timestamp,'screen.platform':'react-native'}});if(event.metadata){Object.entries(event.metadata).forEach(function(_ref){var _ref2=(0,_slicedToArray2["default"])(_ref,2),key=_ref2[0],value=_ref2[1];span.setAttribute("screen.metadata.".concat(key),String(value));});}span.setStatus({code:_api.SpanStatusCode.OK});span.end();}catch(error){}}},{key:"_recordScreenCaptureError",value:function _recordScreenCaptureError(error){try{var span=_api.trace.getTracer('screen').startSpan('Screen.capture.error',{attributes:{'screen.error':true,'screen.error.type':error.name,'screen.error.message':error.message,'screen.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"captureSpecificElement",value:function(){var _captureSpecificElement=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(elementRef,options){var _t3;return _regenerator["default"].wrap(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=1;return(0,_reactNativeViewShot.captureRef)(elementRef);case 1:return _context3.abrupt("return",_context3.sent);case 2:_context3.prev=2;_t3=_context3["catch"](0);return _context3.abrupt("return",null);case 3:case"end":return _context3.stop();}},_callee3,null,[[0,2]]);}));function captureSpecificElement(_x2,_x3){return _captureSpecificElement.apply(this,arguments);}return captureSpecificElement;}()},{key:"setCaptureInterval",value:function setCaptureInterval(intervalMs){var _this2=this;if(this.captureInterval){clearInterval(this.captureInterval);}if(this.isRecording){this.captureInterval=setInterval(function(){_this2._captureScreen();},intervalMs);}}},{key:"setCaptureQuality",value:function setCaptureQuality(quality){this.captureQuality=Math.max(0.1,Math.min(1.0,quality));}},{key:"setCaptureFormat",value:function setCaptureFormat(format){this.captureFormat=format;}},{key:"setMaxCaptures",value:function setMaxCaptures(max){this.maxCaptures=Math.max(1,max);}},{key:"setChangeDetection",value:function setChangeDetection(enabled){this.enableChangeDetection=enabled;}},{key:"setHashSampleSize",value:function setHashSampleSize(size){this.hashSampleSize=Math.max(10,Math.min(1000,size));}},{key:"recordScreenPerformance",value:function recordScreenPerformance(screenName,loadTime){var event={screenName:screenName,type:'screenCapture',timestamp:Date.now(),metadata:{screenName:screenName,loadTime:loadTime,performance:'monitoring',captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);}},{key:"recordScreenError",value:function recordScreenError(error,screenName){var event={screenName:screenName||'unknown',type:'screenCapture',timestamp:Date.now(),metadata:{error:true,errorType:error.name,errorMessage:error.message,screenName:screenName,captureCount:this.captureCount}};this.events.push(event);this._sendEvent(event);this._recordOpenTelemetrySpan(event);this.events.push(event);this._sendEvent(event);this._recordScreenCaptureError(error);}},{key:"getEvents",value:function getEvents(){return(0,_toConsumableArray2["default"])(this.events);}},{key:"clearEvents",value:function clearEvents(){this.events=[];this.captureCount=0;}},{key:"getScreenStats",value:function getScreenStats(){var stats={totalCaptures:this.captureCount,totalEvents:this.events.length,averageCaptureTime:0,successRate:0};if(this.events.length>0){var captureTimes=this.events.map(function(event){var _a;return((_a=event.metadata)===null||_a===void 0?void 0:_a.captureTime)||0;}).filter(function(time){return time>0;});if(captureTimes.length>0){stats.averageCaptureTime=captureTimes.reduce(function(a,b){return a+b;},0)/captureTimes.length;}var successfulCaptures=this.events.filter(function(event){return event.dataUrl;}).length;stats.successRate=successfulCaptures/this.events.length*100;}return stats;}},{key:"isRecordingEnabled",value:function isRecordingEnabled(){return this.isRecording;}},{key:"getConfiguration",value:function getConfiguration(){return{captureInterval:this.captureInterval?2000:0,captureQuality:this.captureQuality,captureFormat:this.captureFormat,maxCaptures:this.maxCaptures,screenDimensions:this.screenDimensions};}},{key:"shutdown",value:function shutdown(){this.stop();this.clearEvents();}},{key:"setViewShotRef",value:function setViewShotRef(ref){this.viewShotRef=ref;}},{key:"forceCapture",value:function forceCapture(timestamp){if(!this.isRecording){return;}this._captureScreen(timestamp);}},{key:"recordEvent",value:function recordEvent(event){if(this.eventRecorder){this.eventRecorder.recordEvent(event);}}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"screenRecorder.js","sourceRoot":"","sources":["../../src/recorder/screenRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenRecorder.js","sourceRoot":"","sources":["../../src/recorder/screenRecorder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Observable } from "lib0/observable";
2
+ export declare class ScreenshotManager extends Observable<'maskingChanged'> {
3
+ private static instance;
4
+ private static masking;
5
+ constructor();
6
+ static getInstance(): ScreenshotManager;
7
+ static enableMasking(): void;
8
+ static disableMasking(): void;
9
+ static isMasking(): boolean;
10
+ }
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ScreenshotManager=void 0;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 _observable=require("lib0/observable");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 ScreenshotManager=exports.ScreenshotManager=function(_Observable){function ScreenshotManager(){(0,_classCallCheck2["default"])(this,ScreenshotManager);return _callSuper(this,ScreenshotManager);}(0,_inherits2["default"])(ScreenshotManager,_Observable);return(0,_createClass2["default"])(ScreenshotManager,null,[{key:"getInstance",value:function getInstance(){if(!ScreenshotManager.instance){ScreenshotManager.instance=new ScreenshotManager();}return ScreenshotManager.instance;}},{key:"enableMasking",value:function enableMasking(){ScreenshotManager.masking=true;ScreenshotManager.getInstance().emit('maskingChanged',[true]);}},{key:"disableMasking",value:function disableMasking(){ScreenshotManager.masking=false;ScreenshotManager.getInstance().emit('maskingChanged',[false]);}},{key:"isMasking",value:function isMasking(){return ScreenshotManager.masking;}}]);}(_observable.Observable);ScreenshotManager.masking=false;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshotManager.js","sourceRoot":"","sources":["../../src/recorder/screenshotManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,OAAO,iBAAkB,SAAQ,UAA4B;IAIjE;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAA;QACtD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAA;QAChC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,cAAc;QACnB,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAA;QACjC,iBAAiB,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,iBAAiB,CAAC,OAAO,CAAA;IAClC,CAAC;;AAzBc,yBAAO,GAAG,KAAK,CAAA"}
@@ -1,10 +1,14 @@
1
- import { SessionRecorderOptions, IResourceAttributes, ISessionAttributes } from '../types';
1
+ import { IResourceAttributes, ISessionAttributes, ApiServiceConfig } from '../types';
2
2
  export interface StartSessionRequest {
3
3
  name?: string;
4
4
  stoppedAt?: string | number;
5
5
  sessionAttributes?: ISessionAttributes;
6
6
  resourceAttributes?: IResourceAttributes;
7
7
  debugSessionData?: Record<string, any>;
8
+ tags?: {
9
+ key?: string;
10
+ value: string;
11
+ }[];
8
12
  }
9
13
  export interface StopSessionRequest {
10
14
  sessionAttributes?: ISessionAttributes;
@@ -14,12 +18,17 @@ export declare class ApiService {
14
18
  private config?;
15
19
  private baseUrl;
16
20
  constructor();
17
- init(config: SessionRecorderOptions): void;
21
+ init(config: ApiServiceConfig): void;
18
22
  /**
19
23
  * Update the API service configuration
20
24
  * @param config - Partial configuration to update
21
25
  */
22
- updateConfigs(config: Partial<SessionRecorderOptions>): void;
26
+ updateConfigs(config: Partial<ApiServiceConfig>): void;
27
+ /**
28
+ * Set the API key
29
+ * @param apiKey - The API key to set
30
+ */
31
+ setApiKey(apiKey: string): void;
23
32
  /**
24
33
  * Make a request to the session debugger API
25
34
  * @param path - API endpoint path (relative to the base URL)