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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +170 -12
  2. package/SessionRecorderNative.podspec +29 -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/ios/GestureRecorderNative.m +21 -0
  170. package/ios/GestureRecorderNative.swift +316 -0
  171. package/ios/SessionRecorderNative.m +17 -0
  172. package/ios/SessionRecorderNative.podspec +26 -0
  173. package/ios/SessionRecorderNative.swift +599 -0
  174. package/package.json +13 -12
  175. package/react-native.config.js +12 -0
  176. package/RRWEB_INTEGRATION.md +0 -336
  177. package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
  178. package/babel.config.js +0 -13
  179. package/dist/components/GestureCaptureWrapper.d.ts +0 -6
  180. package/dist/components/GestureCaptureWrapper.js +0 -1
  181. package/dist/components/GestureCaptureWrapper.js.map +0 -1
  182. package/dist/expo.d.ts +0 -7
  183. package/dist/expo.js +0 -1
  184. package/dist/expo.js.map +0 -1
  185. package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
  186. package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
  187. package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
  188. package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
  189. package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
  190. package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
  191. package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
  192. package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
  193. package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
  194. package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
  195. package/dist/recorder/gestureHandlerRecorder.js +0 -1
  196. package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
  197. package/dist/types/rrweb.d.ts +0 -118
  198. package/dist/types/rrweb.js +0 -1
  199. package/dist/types/rrweb.js.map +0 -1
  200. package/scripts/generate-app-metadata.js +0 -173
  201. package/src/components/GestureCaptureWrapper/GestureCaptureWrapper.tsx +0 -86
  202. package/src/components/GestureCaptureWrapper/index.ts +0 -1
  203. package/src/components/ScreenRecorderView/ScreenRecorderView.tsx +0 -72
  204. package/src/components/ScreenRecorderView/index.ts +0 -1
  205. package/src/components/index.ts +0 -1
  206. package/src/config/constants.ts +0 -60
  207. package/src/config/defaults.ts +0 -82
  208. package/src/config/index.ts +0 -6
  209. package/src/config/masking.ts +0 -27
  210. package/src/config/session-recorder.ts +0 -55
  211. package/src/config/validators.ts +0 -31
  212. package/src/context/SessionRecorderContext.tsx +0 -75
  213. package/src/expo.ts +0 -11
  214. package/src/index.ts +0 -17
  215. package/src/otel/helpers.ts +0 -275
  216. package/src/otel/index.ts +0 -138
  217. package/src/otel/instrumentations/index.ts +0 -115
  218. package/src/patch/index.ts +0 -1
  219. package/src/patch/xhr.ts +0 -142
  220. package/src/recorder/eventExporter.ts +0 -141
  221. package/src/recorder/gestureRecorder.ts +0 -498
  222. package/src/recorder/index.ts +0 -179
  223. package/src/recorder/navigationTracker.ts +0 -449
  224. package/src/recorder/screenRecorder.ts +0 -498
  225. package/src/services/api.service.ts +0 -203
  226. package/src/services/storage.service.ts +0 -158
  227. package/src/session-recorder.ts +0 -600
  228. package/src/types/expo.d.ts +0 -23
  229. package/src/types/index.ts +0 -28
  230. package/src/types/session-recorder.ts +0 -423
  231. package/src/types/session.ts +0 -65
  232. package/src/utils/app-metadata.ts +0 -31
  233. package/src/utils/index.ts +0 -8
  234. package/src/utils/logger.ts +0 -225
  235. package/src/utils/platform.ts +0 -384
  236. package/src/utils/request-utils.ts +0 -61
  237. package/src/utils/rrweb-events.ts +0 -309
  238. package/src/utils/session.ts +0 -18
  239. package/src/utils/time.ts +0 -17
  240. package/src/utils/type-utils.ts +0 -75
  241. package/src/version.ts +0 -1
  242. package/tsconfig.json +0 -24
@@ -1 +1 @@
1
- {"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Store } from '../utils/createStore';
2
+ import { SessionType } from '@multiplayer-app/session-recorder-common';
3
+ import { SessionState } from '../types';
4
+ export type SessionRecorderState = {
5
+ isInitialized: boolean;
6
+ sessionType: SessionType | null;
7
+ sessionState: SessionState | null;
8
+ isWidgetModalVisible: boolean;
9
+ };
10
+ export declare const sessionRecorderStore: Store<SessionRecorderState>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.sessionRecorderStore=void 0;var _createStore=require("../utils/createStore");var sessionRecorderStore=exports.sessionRecorderStore=(0,_createStore.createStore)({isInitialized:false,sessionType:null,sessionState:null,isWidgetModalVisible:false});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderStore.js","sourceRoot":"","sources":["../../src/context/SessionRecorderStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,sBAAsB,CAAA;AAWzD,MAAM,CAAC,MAAM,oBAAoB,GAAgC,WAAW,CAAuB;IACjG,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { SessionType } from "@multiplayer-app/session-recorder-common";
2
+ import { SessionState } from "../types";
3
+ import { SessionRecorderState } from "./SessionRecorderStore";
4
+ export declare function useSessionRecorderStore<TSlice>(selector: (s: SessionRecorderState) => TSlice, equalityFn?: (a: TSlice, b: TSlice) => boolean): TSlice;
5
+ export declare function useSessionRecordingState(): SessionState | null;
6
+ export declare function useSessionType(): SessionType | null;
7
+ export declare function useIsInitialized(): boolean;
8
+ export declare function useWidgetModalVisible(): boolean;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useIsInitialized=useIsInitialized;exports.useSessionRecorderStore=useSessionRecorderStore;exports.useSessionRecordingState=useSessionRecordingState;exports.useSessionType=useSessionType;exports.useWidgetModalVisible=useWidgetModalVisible;var _useStoreSelector=require("./useStoreSelector");var _SessionRecorderStore=require("./SessionRecorderStore");function useSessionRecorderStore(selector,equalityFn){return(0,_useStoreSelector.useStoreSelector)(_SessionRecorderStore.sessionRecorderStore,selector,equalityFn);}function useSessionRecordingState(){return useSessionRecorderStore(function(s){return s.sessionState;});}function useSessionType(){return useSessionRecorderStore(function(s){return s.sessionType;});}function useIsInitialized(){return useSessionRecorderStore(function(s){return s.isInitialized;});}function useWidgetModalVisible(){return useSessionRecorderStore(function(s){return s.isWidgetModalVisible;});}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSessionRecorderStore.js","sourceRoot":"","sources":["../../src/context/useSessionRecorderStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAwB,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEnF,MAAM,UAAU,uBAAuB,CACrC,QAA6C,EAC7C,UAA8C;IAE9C,OAAO,gBAAgB,CAA+B,oBAAoB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,uBAAuB,CAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,uBAAuB,CAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,uBAAuB,CAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,uBAAuB,CAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Store } from '../utils/createStore';
2
+ import { shallowEqual } from '../utils/shallowEqual';
3
+ export declare function useStoreSelector<TState extends object, TSlice>(store: Store<TState>, selector: (state: TState) => TSlice, equalityFn?: (a: TSlice, b: TSlice) => boolean): TSlice;
4
+ export declare const shallow: typeof shallowEqual;
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.shallow=void 0;exports.useStoreSelector=useStoreSelector;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=require("react");var _shallowEqual=require("../utils/shallowEqual");function useStoreSelector(store,selector){var equalityFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:Object.is;var latestSelectorRef=(0,_react.useRef)(selector);var latestEqualityRef=(0,_react.useRef)(equalityFn);latestSelectorRef.current=selector;latestEqualityRef.current=equalityFn;var _useState=(0,_react.useState)(function(){return latestSelectorRef.current(store.getState());}),_useState2=(0,_slicedToArray2["default"])(_useState,2),slice=_useState2[0],setSlice=_useState2[1];(0,_react.useEffect)(function(){function handleChange(nextState,prevState){var nextSlice=latestSelectorRef.current(nextState);var prevSlice=latestSelectorRef.current(prevState);if(!latestEqualityRef.current(nextSlice,prevSlice)){setSlice(nextSlice);}}var unsubscribe=store.subscribe(handleChange);handleChange(store.getState(),store.getState());return unsubscribe;},[store]);return slice;}var shallow=exports.shallow=_shallowEqual.shallowEqual;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStoreSelector.js","sourceRoot":"","sources":["../../src/context/useStoreSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,QAAmC,EACnC,aAAgD,MAAM,CAAC,EAAE;IAEzD,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5C,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAA;IACpC,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAA;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAE7F,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,YAAY,CAAC,SAAiB,EAAE,SAAiB;YACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACtD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrD,QAAQ,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACjD,sDAAsD;QACtD,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChD,OAAO,WAAW,CAAA;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAA"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,6 @@ import './patch';
2
2
  import SessionRecorder from './session-recorder';
3
3
  export * from '@multiplayer-app/session-recorder-common';
4
4
  export * from './context/SessionRecorderContext';
5
- export { detectPlatform, isExpoEnvironment, configureAppMetadata, getPlatformAttributes, getConfiguredAppMetadata, } from './utils/platform';
5
+ export * from './context/useSessionRecorderStore';
6
6
  export { SessionRecorder };
7
7
  export default SessionRecorder;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={SessionRecorder:true,detectPlatform:true,isExpoEnvironment:true,configureAppMetadata:true,getPlatformAttributes:true,getConfiguredAppMetadata:true};Object.defineProperty(exports,"SessionRecorder",{enumerable:true,get:function get(){return _sessionRecorder["default"];}});Object.defineProperty(exports,"configureAppMetadata",{enumerable:true,get:function get(){return _platform.configureAppMetadata;}});exports["default"]=void 0;Object.defineProperty(exports,"detectPlatform",{enumerable:true,get:function get(){return _platform.detectPlatform;}});Object.defineProperty(exports,"getConfiguredAppMetadata",{enumerable:true,get:function get(){return _platform.getConfiguredAppMetadata;}});Object.defineProperty(exports,"getPlatformAttributes",{enumerable:true,get:function get(){return _platform.getPlatformAttributes;}});Object.defineProperty(exports,"isExpoEnvironment",{enumerable:true,get:function get(){return _platform.isExpoEnvironment;}});require("./patch");var _sessionRecorder=_interopRequireDefault(require("./session-recorder"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");Object.keys(_sessionRecorderCommon).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_sessionRecorderCommon[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorderCommon[key];}});});var _SessionRecorderContext=require("./context/SessionRecorderContext");Object.keys(_SessionRecorderContext).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_SessionRecorderContext[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderContext[key];}});});var _platform=require("./utils/platform");var _default=exports["default"]=_sessionRecorder["default"];
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});var _exportNames={SessionRecorder:true};Object.defineProperty(exports,"SessionRecorder",{enumerable:true,get:function get(){return _sessionRecorder["default"];}});exports["default"]=void 0;require("./patch");var _sessionRecorder=_interopRequireDefault(require("./session-recorder"));var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");Object.keys(_sessionRecorderCommon).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_sessionRecorderCommon[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _sessionRecorderCommon[key];}});});var _SessionRecorderContext=require("./context/SessionRecorderContext");Object.keys(_SessionRecorderContext).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_SessionRecorderContext[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderContext[key];}});});var _useSessionRecorderStore=require("./context/useSessionRecorderStore");Object.keys(_useSessionRecorderStore).forEach(function(key){if(key==="default"||key==="__esModule")return;if(Object.prototype.hasOwnProperty.call(_exportNames,key))return;if(key in exports&&exports[key]===_useSessionRecorderStore[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _useSessionRecorderStore[key];}});});var _default=exports["default"]=_sessionRecorder["default"];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAEhD,iEAAiE;AACjE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,iCAAiC;AACjC,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,eAAe,MAAM,oBAAoB,CAAA;AAChD,cAAc,0CAA0C,CAAA;AACxD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AAEjD,qCAAqC;AACrC,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,iCAAiC;AACjC,eAAe,eAAe,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { NativeEventEmitter } from 'react-native';
2
+ export interface GestureEvent {
3
+ type: 'tap' | 'pan_start' | 'pan_move' | 'pan_end' | 'long_press' | 'pinch' | 'swipe';
4
+ timestamp: number;
5
+ x: number;
6
+ y: number;
7
+ target?: string;
8
+ targetInfo?: {
9
+ identifier: string;
10
+ label?: string;
11
+ role?: string;
12
+ testId?: string;
13
+ text?: string;
14
+ };
15
+ metadata?: {
16
+ pressure?: number;
17
+ velocity?: number;
18
+ scale?: number;
19
+ direction?: string;
20
+ distance?: number;
21
+ };
22
+ }
23
+ export interface GestureRecorderNativeModule {
24
+ /**
25
+ * Start gesture recording
26
+ * @returns Promise that resolves when recording starts
27
+ */
28
+ startGestureRecording(): Promise<void>;
29
+ /**
30
+ * Stop gesture recording
31
+ * @returns Promise that resolves when recording stops
32
+ */
33
+ stopGestureRecording(): Promise<void>;
34
+ /**
35
+ * Check if gesture recording is currently active
36
+ * @returns Promise that resolves to boolean indicating recording status
37
+ */
38
+ isGestureRecordingActive(): Promise<boolean>;
39
+ /**
40
+ * Set gesture callback to receive gesture events
41
+ * @param callback Function to call when gestures are detected
42
+ */
43
+ setGestureCallback(callback: (gesture: GestureEvent) => void): void;
44
+ /**
45
+ * Manually record a gesture event (for testing or manual recording)
46
+ * @param gestureType Type of gesture
47
+ * @param x X coordinate
48
+ * @param y Y coordinate
49
+ * @param target Target element identifier
50
+ * @param metadata Additional gesture metadata
51
+ */
52
+ recordGesture(gestureType: string, x: number, y: number, target?: string, metadata?: Record<string, any>): void;
53
+ }
54
+ declare const gestureEventEmitter: NativeEventEmitter | null;
55
+ declare const _default: GestureRecorderNativeModule;
56
+ export default _default;
57
+ export { gestureEventEmitter };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.gestureEventEmitter=exports["default"]=void 0;var _reactNative=require("react-native");var GestureRecorderNative=_reactNative.NativeModules.GestureRecorderNative;if(!GestureRecorderNative){console.warn('GestureRecorderNative module is not available. Auto-linking may not have completed yet.');}var gestureEventEmitter=exports.gestureEventEmitter=GestureRecorderNative?new _reactNative.NativeEventEmitter(GestureRecorderNative):null;var _default=exports["default"]=GestureRecorderNative;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureRecorderNative.js","sourceRoot":"","sources":["../../src/native/GestureRecorderNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAkEhE,wBAAwB;AACxB,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAA;AAE/C,+CAA+C;AAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAA;AACzG,CAAC;AAED,0CAA0C;AAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAExG,eAAe,qBAAoD,CAAA;AAEnE,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,21 @@
1
+ export interface MaskingOptions {
2
+ /** Quality of the captured image (0.1 to 1.0) */
3
+ quality?: number;
4
+ /** Whether to mask all input fields automatically */
5
+ inputMasking?: boolean;
6
+ }
7
+ export interface SessionRecorderNativeModule {
8
+ /**
9
+ * Capture the current screen and apply masking to sensitive elements
10
+ * @returns Promise that resolves to base64 encoded image
11
+ */
12
+ captureAndMask(): Promise<string>;
13
+ /**
14
+ * Capture the current screen and apply masking with custom options
15
+ * @param options Custom masking options
16
+ * @returns Promise that resolves to base64 encoded image
17
+ */
18
+ captureAndMaskWithOptions(options: MaskingOptions): Promise<string>;
19
+ }
20
+ declare const _default: SessionRecorderNativeModule;
21
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _reactNative=require("react-native");var SessionRecorder=_reactNative.NativeModules.SessionRecorder;if(!SessionRecorder){console.warn('SessionRecorder native module is not available. Auto-linking may not have completed yet.');}var _default=exports["default"]=SessionRecorder;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenMasking.js","sourceRoot":"","sources":["../../src/native/ScreenMasking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAyB5C,wBAAwB;AACxB,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,CAAA;AAEzC,+CAA+C;AAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAA;AAC1G,CAAC;AAED,eAAe,eAA8C,CAAA"}
@@ -0,0 +1,33 @@
1
+ export interface MaskingOptions {
2
+ /** Quality of the captured image (0.1 to 1.0, default: 0.3 for smaller file size) */
3
+ quality?: number;
4
+ /** Scale of the captured image (0.1 to 1.0, default: 1.0) */
5
+ scale?: number;
6
+ /** Whether to mask text inputs (UITextField, UITextView, React Native text components) */
7
+ maskTextInputs?: boolean;
8
+ /** Whether to mask images (UIImageView, React Native Image components) */
9
+ maskImages?: boolean;
10
+ /** Whether to mask buttons (UIButton) */
11
+ maskButtons?: boolean;
12
+ /** Whether to mask labels (UILabel) */
13
+ maskLabels?: boolean;
14
+ /** Whether to mask web views (WKWebView) */
15
+ maskWebViews?: boolean;
16
+ /** Whether to mask sandboxed views (system views that don't belong to current process) */
17
+ maskSandboxedViews?: boolean;
18
+ }
19
+ export interface SessionRecorderNativeModule {
20
+ /**
21
+ * Capture the current screen and apply masking to sensitive elements
22
+ * @returns Promise that resolves to base64 encoded image
23
+ */
24
+ captureAndMask(): Promise<string>;
25
+ /**
26
+ * Capture the current screen and apply masking with custom options
27
+ * @param options Custom masking options
28
+ * @returns Promise that resolves to base64 encoded image
29
+ */
30
+ captureAndMaskWithOptions(options: MaskingOptions): Promise<string>;
31
+ }
32
+ declare const _default: SessionRecorderNativeModule;
33
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _reactNative=require("react-native");var SessionRecorderNative=_reactNative.NativeModules.SessionRecorderNative;if(!SessionRecorderNative){console.warn('SessionRecorderNative module is not available. Auto-linking may not have completed yet.');}var _default=exports["default"]=SessionRecorderNative;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecorderNative.js","sourceRoot":"","sources":["../../src/native/SessionRecorderNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAqC5C,wBAAwB;AACxB,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAA;AAE/C,+CAA+C;AAC/C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAA;AACzG,CAAC;AAED,eAAe,qBAAoD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default as SessionRecorderNative } from './SessionRecorderNative';
2
+ export { default as GestureRecorderNative, gestureEventEmitter } from './GestureRecorderNative';
@@ -0,0 +1 @@
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"GestureRecorderNative",{enumerable:true,get:function get(){return _GestureRecorderNative["default"];}});Object.defineProperty(exports,"SessionRecorderNative",{enumerable:true,get:function get(){return _SessionRecorderNative["default"];}});Object.defineProperty(exports,"gestureEventEmitter",{enumerable:true,get:function get(){return _GestureRecorderNative.gestureEventEmitter;}});var _SessionRecorderNative=_interopRequireDefault(require("./SessionRecorderNative"));var _GestureRecorderNative=_interopRequireWildcard(require("./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);}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.TracerReactNativeSDK=void 0;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 _resources=require("@opentelemetry/resources");var _core=require("@opentelemetry/core");var _sdkTraceBase=require("@opentelemetry/sdk-trace-base");var SemanticAttributes=_interopRequireWildcard(require("@opentelemetry/semantic-conventions"));var _instrumentation=require("@opentelemetry/instrumentation");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _instrumentations=require("./instrumentations");var _helpers=require("./helpers");var _platform=require("../utils/platform");var _sdkTraceWeb=require("@opentelemetry/sdk-trace-web");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 TracerReactNativeSDK=exports.TracerReactNativeSDK=function(){function TracerReactNativeSDK(){(0,_classCallCheck2["default"])(this,TracerReactNativeSDK);this.sessionId='';this.isInitialized=false;}return(0,_createClass2["default"])(TracerReactNativeSDK,[{key:"_setSessionId",value:function _setSessionId(sessionId){var sessionType=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_sessionRecorderCommon.SessionType.PLAIN;var _a;this.sessionId=sessionId;(_a=this.idGenerator)===null||_a===void 0?void 0:_a.setSessionId(sessionId,sessionType);}},{key:"init",value:function init(options){this.config=options;var _this$config=this.config,application=_this$config.application,version=_this$config.version,environment=_this$config.environment;this.idGenerator=new _sessionRecorderCommon.SessionRecorderIdGenerator();this.exporter=new _sessionRecorderCommon.SessionRecorderBrowserTraceExporter({apiKey:options.apiKey,url:(0,_helpers.getExporterEndpoint)(options.exporterEndpoint),usePostMessageFallback:options.usePostMessageFallback});this.tracerProvider=new _sdkTraceWeb.WebTracerProvider({resource:(0,_resources.resourceFromAttributes)(_objectSpread((0,_defineProperty2["default"])((0,_defineProperty2["default"])((0,_defineProperty2["default"])({},SemanticAttributes.SEMRESATTRS_SERVICE_NAME,application),SemanticAttributes.SEMRESATTRS_SERVICE_VERSION,version),SemanticAttributes.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT,environment),(0,_platform.getPlatformAttributes)())),idGenerator:this.idGenerator,sampler:new _sessionRecorderCommon.SessionRecorderTraceIdRatioBasedSampler(this.config.sampleTraceRatio||0.15),spanProcessors:[this._getSpanSessionIdProcessor(),new _sdkTraceBase.BatchSpanProcessor(this.exporter)]});this.tracerProvider.register({propagator:new _core.W3CTraceContextPropagator()});(0,_instrumentation.registerInstrumentations)({tracerProvider:this.tracerProvider,instrumentations:(0,_instrumentations.getInstrumentations)(this.config)});this.isInitialized=true;}},{key:"_getSpanSessionIdProcessor",value:function _getSpanSessionIdProcessor(){var _this=this;return{onStart:function onStart(span){if(_this.sessionId){span.setAttribute(_sessionRecorderCommon.ATTR_MULTIPLAYER_SESSION_ID,_this.sessionId);}span.setAttribute('platform','react-native');span.setAttribute('timestamp',Date.now());},onEnd:function onEnd(){},shutdown:function shutdown(){return Promise.resolve();},forceFlush:function forceFlush(){return Promise.resolve();}};}},{key:"start",value:function start(sessionId,sessionType){if(!this.tracerProvider){throw new Error('Configuration not initialized. Call init() before start().');}this._setSessionId(sessionId,sessionType);}},{key:"stop",value:function stop(){if(!this.tracerProvider){throw new Error('Configuration not initialized. Call init() before start().');}this._setSessionId('');}},{key:"setApiKey",value:function setApiKey(apiKey){var _a,_b;if(!this.exporter){throw new Error('Configuration not initialized. Call init() before setApiKey().');}(_b=(_a=this.exporter).setApiKey)===null||_b===void 0?void 0:_b.call(_a,apiKey);}},{key:"setSessionId",value:function setSessionId(sessionId,sessionType){this._setSessionId(sessionId,sessionType);}},{key:"shutdown",value:function shutdown(){this.isInitialized=false;return Promise.resolve();}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.TracerReactNativeSDK=void 0;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 _resources=require("@opentelemetry/resources");var _core=require("@opentelemetry/core");var _sdkTraceBase=require("@opentelemetry/sdk-trace-base");var SemanticAttributes=_interopRequireWildcard(require("@opentelemetry/semantic-conventions"));var _instrumentation=require("@opentelemetry/instrumentation");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _instrumentations=require("./instrumentations");var _helpers=require("./helpers");var _platform=require("../utils/platform");var _sdkTraceWeb=require("@opentelemetry/sdk-trace-web");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 TracerReactNativeSDK=exports.TracerReactNativeSDK=function(){function TracerReactNativeSDK(){(0,_classCallCheck2["default"])(this,TracerReactNativeSDK);this.sessionId='';this.isInitialized=false;}return(0,_createClass2["default"])(TracerReactNativeSDK,[{key:"_setSessionId",value:function _setSessionId(sessionId){var sessionType=arguments.length>1&&arguments[1]!==undefined?arguments[1]:_sessionRecorderCommon.SessionType.PLAIN;var _a;this.sessionId=sessionId;(_a=this.idGenerator)===null||_a===void 0?void 0:_a.setSessionId(sessionId,sessionType);}},{key:"init",value:function init(options){this.config=options;var _this$config=this.config,application=_this$config.application,version=_this$config.version,environment=_this$config.environment;this.idGenerator=new _sessionRecorderCommon.SessionRecorderIdGenerator();this.exporter=new _sessionRecorderCommon.SessionRecorderBrowserTraceExporter({apiKey:options.apiKey,url:(0,_helpers.getExporterEndpoint)(options.exporterEndpoint)});this.tracerProvider=new _sdkTraceWeb.WebTracerProvider({resource:(0,_resources.resourceFromAttributes)(_objectSpread((0,_defineProperty2["default"])((0,_defineProperty2["default"])((0,_defineProperty2["default"])({},SemanticAttributes.SEMRESATTRS_SERVICE_NAME,application),SemanticAttributes.SEMRESATTRS_SERVICE_VERSION,version),SemanticAttributes.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT,environment),(0,_platform.getPlatformAttributes)())),idGenerator:this.idGenerator,sampler:new _sessionRecorderCommon.SessionRecorderTraceIdRatioBasedSampler(this.config.sampleTraceRatio||0.15),spanProcessors:[this._getSpanSessionIdProcessor(),new _sdkTraceBase.BatchSpanProcessor(this.exporter)]});this.tracerProvider.register({propagator:new _core.W3CTraceContextPropagator()});(0,_instrumentation.registerInstrumentations)({tracerProvider:this.tracerProvider,instrumentations:(0,_instrumentations.getInstrumentations)(this.config)});this.isInitialized=true;}},{key:"_getSpanSessionIdProcessor",value:function _getSpanSessionIdProcessor(){var _this=this;return{onStart:function onStart(span){if(_this.sessionId){span.setAttribute(_sessionRecorderCommon.ATTR_MULTIPLAYER_SESSION_ID,_this.sessionId);}span.setAttribute('platform','react-native');span.setAttribute('timestamp',Date.now());},onEnd:function onEnd(){},shutdown:function shutdown(){return Promise.resolve();},forceFlush:function forceFlush(){return Promise.resolve();}};}},{key:"start",value:function start(sessionId,sessionType){if(!this.tracerProvider){throw new Error('Configuration not initialized. Call init() before start().');}this._setSessionId(sessionId,sessionType);}},{key:"stop",value:function stop(){if(!this.tracerProvider){throw new Error('Configuration not initialized. Call init() before start().');}this._setSessionId('');}},{key:"setApiKey",value:function setApiKey(apiKey){var _a,_b;if(!this.exporter){throw new Error('Configuration not initialized. Call init() before setApiKey().');}(_b=(_a=this.exporter).setApiKey)===null||_b===void 0?void 0:_b.call(_a,apiKey);}},{key:"setSessionId",value:function setSessionId(sessionId,sessionType){this._setSessionId(sessionId,sessionType);}},{key:"shutdown",value:function shutdown(){this.isInitialized=false;return Promise.resolve();}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"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"}
package/dist/patch/xhr.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.setShouldRecordHttpData=exports.setMaxCapturingHttpPayloadSize=void 0;var _typeUtils=require("../utils/type-utils");var _requestUtils=require("../utils/request-utils");var _config=require("../config");var recordRequestHeaders=true;var recordResponseHeaders=true;var shouldRecordBody=true;var maxCapturingHttpPayloadSize=_config.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE;var setMaxCapturingHttpPayloadSize=exports.setMaxCapturingHttpPayloadSize=function setMaxCapturingHttpPayloadSize(_maxCapturingHttpPayloadSize){maxCapturingHttpPayloadSize=_maxCapturingHttpPayloadSize;};var setShouldRecordHttpData=exports.setShouldRecordHttpData=function setShouldRecordHttpData(shouldRecordBody,shouldRecordHeaders){recordRequestHeaders=shouldRecordHeaders;recordResponseHeaders=shouldRecordHeaders;shouldRecordBody=shouldRecordBody;};function _tryReadXHRBody(_ref){var body=_ref.body,url=_ref.url;if((0,_typeUtils.isNullish)(body)){return null;}if((0,_typeUtils.isString)(body)){return body;}if((0,_typeUtils.isFormData)(body)){return(0,_requestUtils.formDataToQuery)(body);}if((0,_typeUtils.isObject)(body)){try{return JSON.stringify(body);}catch(_a){return'[XHR] Failed to stringify response object';}}return"[XHR] Cannot read body of type ".concat(Object.prototype.toString.call(body));}(function(xhr){var originalOpen=XMLHttpRequest.prototype.open;xhr.open=function(method,url){var async=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var username=arguments.length>3?arguments[3]:undefined;var password=arguments.length>4?arguments[4]:undefined;var xhr=this;var networkRequest={};var requestHeaders={};var originalSetRequestHeader=xhr.setRequestHeader.bind(xhr);xhr.setRequestHeader=function(header,value){requestHeaders[header]=value;return originalSetRequestHeader(header,value);};if(recordRequestHeaders){networkRequest.requestHeaders=requestHeaders;}var originalSend=xhr.send.bind(xhr);xhr.send=function(body){if(shouldRecordBody){var requestBody=_tryReadXHRBody({body:body,url:url});if((requestBody===null||requestBody===void 0?void 0:requestBody.length)&&requestBody.length<=maxCapturingHttpPayloadSize){networkRequest.requestBody=requestBody;}}return originalSend(body);};xhr.addEventListener('readystatechange',function(){if(xhr.readyState!==xhr.DONE){return;}var responseHeaders={};var rawHeaders=xhr.getAllResponseHeaders();var headers=rawHeaders.trim().split(/[\r\n]+/);headers.forEach(function(line){var parts=line.split(': ');var header=parts.shift();var value=parts.join(': ');if(header){responseHeaders[header]=value;}});if(recordResponseHeaders){networkRequest.responseHeaders=responseHeaders;}if(shouldRecordBody){var responseBody=_tryReadXHRBody({body:xhr.response,url:url});if((responseBody===null||responseBody===void 0?void 0:responseBody.length)&&responseBody.length<=maxCapturingHttpPayloadSize){networkRequest.responseBody=responseBody;}}});xhr.networkRequest=networkRequest;originalOpen.call(xhr,method,url,async,username,password);};})(XMLHttpRequest.prototype);
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.setShouldRecordHttpData=exports.setMaxCapturingHttpPayloadSize=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _typeUtils=require("../utils/type-utils");var _requestUtils=require("../utils/request-utils");var _config=require("../config");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 recordRequestHeaders=true;var recordResponseHeaders=true;var shouldRecordBody=true;var maxCapturingHttpPayloadSize=_config.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE;var setMaxCapturingHttpPayloadSize=exports.setMaxCapturingHttpPayloadSize=function setMaxCapturingHttpPayloadSize(_maxCapturingHttpPayloadSize){maxCapturingHttpPayloadSize=_maxCapturingHttpPayloadSize;};var setShouldRecordHttpData=exports.setShouldRecordHttpData=function setShouldRecordHttpData(shouldRecordBody,shouldRecordHeaders){recordRequestHeaders=shouldRecordHeaders;recordResponseHeaders=shouldRecordHeaders;shouldRecordBody=shouldRecordBody;};function _tryReadXHRBody(_ref){var body=_ref.body,url=_ref.url;if((0,_typeUtils.isNullish)(body)){return null;}if((0,_typeUtils.isString)(body)){return body;}if((0,_typeUtils.isFormData)(body)){return(0,_requestUtils.formDataToQuery)(body);}if((0,_typeUtils.isObject)(body)){try{return JSON.stringify(_objectSpread({},body));}catch(_a){return'[XHR] Failed to stringify response object';}}return"[XHR] Cannot read body of type ".concat(Object.prototype.toString.call(body));}(function(xhr){var originalOpen=XMLHttpRequest.prototype.open;xhr.open=function(method,url){var async=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var username=arguments.length>3?arguments[3]:undefined;var password=arguments.length>4?arguments[4]:undefined;var xhr=this;var networkRequest={};var requestHeaders={};var originalSetRequestHeader=xhr.setRequestHeader.bind(xhr);xhr.setRequestHeader=function(header,value){requestHeaders[header]=value;return originalSetRequestHeader(header,value);};if(recordRequestHeaders){networkRequest.requestHeaders=requestHeaders;}var originalSend=xhr.send.bind(xhr);xhr.send=function(body){if(shouldRecordBody){var requestBody=_tryReadXHRBody({body:body,url:url});if((requestBody===null||requestBody===void 0?void 0:requestBody.length)&&requestBody.length<=maxCapturingHttpPayloadSize){networkRequest.requestBody=requestBody;}}return originalSend(body);};xhr.addEventListener('readystatechange',function(){if(xhr.readyState!==xhr.DONE){return;}var responseHeaders={};var rawHeaders=xhr.getAllResponseHeaders()||'';var headers=rawHeaders.trim().split(/[\r\n]+/).filter(Boolean);headers.forEach(function(line){var parts=line.split(': ');var header=parts.shift();var value=parts.join(': ');if(header){responseHeaders[header]=value;}});if(recordResponseHeaders){networkRequest.responseHeaders=responseHeaders;}if(shouldRecordBody){var responseBody=_tryReadXHRBody({body:xhr.response,url:url});if((responseBody===null||responseBody===void 0?void 0:responseBody.length)&&responseBody.length<=maxCapturingHttpPayloadSize){networkRequest.responseBody=responseBody;}}});xhr.networkRequest=networkRequest;originalOpen.call(xhr,method,url,async,username,password);};})(XMLHttpRequest.prototype);
@@ -1 +1 @@
1
- {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/patch/xhr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/patch/xhr.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  import { ISession } from '../types';
2
2
  export declare class EventExporter {
3
- private options;
4
3
  private socket;
5
4
  private queue;
6
5
  private isConnecting;
7
6
  private isConnected;
8
7
  private attempts;
9
8
  private sessionId;
9
+ private socketUrl;
10
+ private apiKey;
10
11
  constructor(options: {
11
12
  socketUrl: string;
12
13
  apiKey: string;
13
14
  });
14
15
  private init;
16
+ setApiKey(apiKey: string): void;
17
+ setSocketUrl(socketUrl: string): void;
15
18
  private checkReconnectionAttempts;
16
19
  private flushQueue;
17
20
  private unsubscribeFromSession;
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EventExporter=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _socket=_interopRequireDefault(require("socket.io-client"));var _utils=require("../utils");var _config=require("../config");var MAX_RECONNECTION_ATTEMPTS=2;var EventExporter=exports.EventExporter=function(){function EventExporter(options){(0,_classCallCheck2["default"])(this,EventExporter);this.options=options;this.socket=null;this.queue=[];this.isConnecting=false;this.isConnected=false;this.attempts=0;this.sessionId=null;}return(0,_createClass2["default"])(EventExporter,[{key:"init",value:function init(){var _this=this;if(this.isConnecting||this.isConnected)return;this.attempts++;this.isConnecting=true;this.socket=(0,_socket["default"])(this.options.socketUrl,{path:'/v0/radar/ws',auth:{'x-api-key':this.options.apiKey},reconnectionAttempts:2,transports:['websocket']});this.socket.on('ready',function(){_this.isConnecting=false;_this.isConnected=true;_utils.logger.info('EventExporter','Connected to server');_this.flushQueue();});this.socket.on('disconnect',function(err){_this.isConnecting=false;_this.isConnected=false;_utils.logger.info('EventExporter','Disconnected from server');});this.socket.on('connect_error',function(err){_this.isConnecting=false;_this.isConnected=false;_this.checkReconnectionAttempts();_utils.logger.error('EventExporter','Error connecting to server',err);});this.socket.on(_config.SESSION_STOPPED_EVENT,function(data){_this.unsubscribeFromSession();});this.socket.on(_config.SESSION_AUTO_CREATED,function(data){});}},{key:"checkReconnectionAttempts",value:function checkReconnectionAttempts(){if(this.attempts>=MAX_RECONNECTION_ATTEMPTS){this.flushQueue();}}},{key:"flushQueue",value:function flushQueue(){var _a,_b;while(this.queue.length>0&&((_a=this.socket)===null||_a===void 0?void 0:_a.connected)){var event=this.queue.shift();if(!event)continue;if((_b=this.socket)===null||_b===void 0?void 0:_b.connected){this.socket.emit(event.name,event.data);}}}},{key:"unsubscribeFromSession",value:function unsubscribeFromSession(){var _a;var payload={debugSessionId:this.sessionId};if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_UNSUBSCRIBE_EVENT,payload);}}},{key:"send",value:function send(event){var _a;if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_ADD_EVENT,event);}else{this.queue.push({data:event,name:_config.SESSION_ADD_EVENT});this.init();}}},{key:"subscribeToSession",value:function subscribeToSession(session){var _a;this.sessionId=session.shortId||session._id;var payload={projectId:session.project,workspaceId:session.workspace,debugSessionId:this.sessionId,sessionType:session.creationType};if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_SUBSCRIBE_EVENT,payload);}else{this.queue.push({data:payload,name:_config.SESSION_SUBSCRIBE_EVENT});this.init();}}},{key:"close",value:function close(){var _this2=this;var _a;if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){setTimeout(function(){var _a;_this2.unsubscribeFromSession();_this2.attempts=0;_this2.isConnected=false;_this2.isConnecting=false;(_a=_this2.socket)===null||_a===void 0?void 0:_a.disconnect();_this2.socket=null;},500);}}}]);}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EventExporter=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _socket=_interopRequireDefault(require("socket.io-client"));var _utils=require("../utils");var _config=require("../config");var MAX_RECONNECTION_ATTEMPTS=2;var EventExporter=exports.EventExporter=function(){function EventExporter(options){(0,_classCallCheck2["default"])(this,EventExporter);this.socket=null;this.queue=[];this.isConnecting=false;this.isConnected=false;this.attempts=0;this.sessionId=null;this.socketUrl=options.socketUrl;this.apiKey=options.apiKey;}return(0,_createClass2["default"])(EventExporter,[{key:"init",value:function init(){var _this=this;if(this.isConnecting||this.isConnected)return;this.attempts++;this.isConnecting=true;this.socket=(0,_socket["default"])(this.socketUrl,{path:'/v0/radar/ws',auth:{'x-api-key':this.apiKey},reconnectionAttempts:2,transports:['websocket']});this.socket.on('ready',function(){_this.isConnecting=false;_this.isConnected=true;_utils.logger.info('EventExporter','Connected to server');_this.flushQueue();});this.socket.on('disconnect',function(err){_this.isConnecting=false;_this.isConnected=false;_utils.logger.info('EventExporter','Disconnected from server');});this.socket.on('connect_error',function(err){_this.isConnecting=false;_this.isConnected=false;_this.checkReconnectionAttempts();_utils.logger.error('EventExporter','Error connecting to server',err);});this.socket.on(_config.SESSION_STOPPED_EVENT,function(data){_this.unsubscribeFromSession();});this.socket.on(_config.SESSION_AUTO_CREATED,function(data){});}},{key:"setApiKey",value:function setApiKey(apiKey){this.apiKey=apiKey;}},{key:"setSocketUrl",value:function setSocketUrl(socketUrl){this.socketUrl=socketUrl;}},{key:"checkReconnectionAttempts",value:function checkReconnectionAttempts(){if(this.attempts>=MAX_RECONNECTION_ATTEMPTS){this.flushQueue();}}},{key:"flushQueue",value:function flushQueue(){var _a,_b;while(this.queue.length>0&&((_a=this.socket)===null||_a===void 0?void 0:_a.connected)){var event=this.queue.shift();if(!event)continue;if((_b=this.socket)===null||_b===void 0?void 0:_b.connected){this.socket.emit(event.name,event.data);}}}},{key:"unsubscribeFromSession",value:function unsubscribeFromSession(){var _a;var payload={debugSessionId:this.sessionId};if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_UNSUBSCRIBE_EVENT,payload);}}},{key:"send",value:function send(event){var _a;if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_ADD_EVENT,event);}else{this.queue.push({data:event,name:_config.SESSION_ADD_EVENT});this.init();}}},{key:"subscribeToSession",value:function subscribeToSession(session){var _a;this.sessionId=session.shortId||session._id;var payload={projectId:session.project,workspaceId:session.workspace,debugSessionId:this.sessionId,sessionType:session.creationType};if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){this.socket.emit(_config.SESSION_SUBSCRIBE_EVENT,payload);}else{this.queue.push({data:payload,name:_config.SESSION_SUBSCRIBE_EVENT});this.init();}}},{key:"close",value:function close(){var _this2=this;var _a;if((_a=this.socket)===null||_a===void 0?void 0:_a.connected){setTimeout(function(){var _a;_this2.unsubscribeFromSession();_this2.attempts=0;_this2.isConnected=false;_this2.isConnecting=false;(_a=_this2.socket)===null||_a===void 0?void 0:_a.disconnect();_this2.socket=null;},500);}}}]);}();
@@ -1 +1 @@
1
- {"version":3,"file":"eventExporter.js","sourceRoot":"","sources":["../../src/recorder/eventExporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,kBAAkB,CAAA;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,WAAW,CAAA;AAElB,MAAM,yBAAyB,GAAG,CAAC,CAAA;AAEnC,MAAM,OAAO,aAAa;IAQxB,YAAoB,OAA8C;QAA9C,YAAO,GAAP,OAAO,CAAuC;QAP1D,WAAM,GAAkB,IAAI,CAAA;QAC5B,UAAK,GAAU,EAAE,CAAA;QACjB,iBAAY,GAAY,KAAK,CAAA;QAC7B,gBAAW,GAAY,KAAK,CAAA;QAC5B,aAAQ,GAAW,CAAC,CAAA;QACpB,cAAS,GAAkB,IAAI,CAAA;IAE+B,CAAC;IAE/D,IAAI;QACV,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACvC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aACjC;YACD,oBAAoB,EAAE,CAAC;YACvB,UAAU,EAAE,CAAC,WAAW,CAAC;SAC1B,CAAC,CAAA;QAEF,oCAAoC;QACpC,8BAA8B;QAC9B,4BAA4B;QAC5B,gCAAgC;QAChC,sBAAsB;QACtB,KAAK;QAEL,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;YACnD,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,GAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;YACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACxB,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAQ,EAAE,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;YACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,yBAAyB,EAAE,CAAA;YAChC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAS,EAAE,EAAE;YAElD,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAS,EAAE,EAAE;QAEnD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,yBAAyB,EAAE,CAAC;YAE/C,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;IAGO,UAAU;;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YAChC,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAEpB,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,sBAAsB;;QAC5B,MAAM,OAAO,GAAG;YACd,cAAc,EAAE,IAAI,CAAC,SAAS;SAC/B,CAAA;QACD,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,KAAU;;QACpB,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;YACzD,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAEM,kBAAkB,CAAC,OAAiB;;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAA;QAC/C,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,WAAW,EAAE,OAAO,CAAC,SAAS;YAC9B,cAAc,EAAE,IAAI,CAAC,SAAS;YAC9B,WAAW,EAAE,OAAO,CAAC,YAAY;SAClC,CAAA;QACD,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAA;YACjE,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAEM,KAAK;;QACV,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,EAAE,CAAC;YAC3B,UAAU,CAAC,GAAG,EAAE;;gBACd,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBAC7B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACjB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;gBACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,MAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,EAAE,CAAA;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YACpB,CAAC,EAAE,GAAG,CAAC,CAAA;QACT,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"eventExporter.js","sourceRoot":"","sources":["../../src/recorder/eventExporter.ts"],"names":[],"mappings":"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"}
@@ -3,27 +3,34 @@ export declare class GestureRecorder implements EventRecorder {
3
3
  private config?;
4
4
  private isRecording;
5
5
  private events;
6
- private gestureHandlers;
7
6
  private screenDimensions;
8
7
  private lastGestureTime;
9
8
  private gestureThrottleMs;
10
9
  private lastTouchTime;
11
10
  private touchThrottleMs;
12
- private isRecordingGesture;
13
- private gestureCallStack;
14
- private maxGestureCallDepth;
15
11
  private eventRecorder?;
16
12
  private imageNodeId;
17
13
  private screenRecorder?;
14
+ private gestureEventListener?;
15
+ private currentPanSpan?;
16
+ private panMoveCount;
18
17
  init(config: RecorderConfig, eventRecorder?: EventRecorder, screenRecorder?: any): void;
19
18
  start(): void;
20
19
  stop(): void;
21
20
  private _getScreenDimensions;
22
- private _removeGestureHandlers;
23
- private _recordEvent;
21
+ private _setupGestureEventListener;
22
+ private _removeGestureEventListener;
23
+ private _handleNativeGesture;
24
+ private _handleTapGesture;
25
+ private _handlePanStartGesture;
26
+ private _handlePanMoveGesture;
27
+ private _handlePanEndGesture;
28
+ private _handleLongPressGesture;
29
+ private _handlePinchGesture;
30
+ private _handleSwipeGesture;
24
31
  private _sendEvent;
25
32
  private _recordOpenTelemetrySpan;
26
- recordTap(x: number, y: number, target?: string, pressure?: number): void;
33
+ recordTap(x: number, y: number, target?: string, pressure?: number, timestamp?: number): void;
27
34
  recordSwipe(direction: string, target?: string, velocity?: number, distance?: number): void;
28
35
  recordPinch(scale: number, target?: string, velocity?: number): void;
29
36
  recordPan(deltaX: number, deltaY: number, target?: string, velocity?: number): void;
@@ -34,66 +41,25 @@ export declare class GestureRecorder implements EventRecorder {
34
41
  recordMultiTouch(touchCount: number, target?: string): void;
35
42
  recordScroll(direction: string, distance: number, velocity: number, target?: string): void;
36
43
  recordZoom(scale: number, target?: string, velocity?: number): void;
44
+ recordTouchStart(x: number, y: number, target?: string, pressure?: number): void;
45
+ recordTouchMove(x: number, y: number, target?: string, pressure?: number): void;
46
+ recordTouchEnd(x: number, y: number, target?: string, pressure?: number): void;
47
+ recordTouchCancel(x: number, y: number, target?: string): void;
48
+ setImageNodeId(nodeId: number): void;
49
+ private _recordEvent;
50
+ private _createMouseInteractionEvent;
51
+ private _createMouseMoveEvent;
52
+ recordEvent(event: any): void;
37
53
  getEvents(): GestureEvent[];
38
54
  clearEvents(): void;
39
55
  getEventStats(): Record<string, number>;
40
56
  setGestureThrottle(throttleMs: number): void;
41
57
  isRecordingEnabled(): boolean;
42
58
  /**
43
- * Record an rrweb event
44
- * @param event - The rrweb event to record
45
- */
46
- recordEvent(event: any): void;
47
- /**
48
- * Create and emit a rrweb MouseInteraction event for touch interactions
49
- * @param x - X coordinate
50
- * @param y - Y coordinate
51
- * @param interactionType - Type of interaction (TouchStart, TouchMove, TouchEnd, etc.)
52
- * @param target - Target element identifier
53
- */
54
- private _createMouseInteractionEvent;
55
- /**
56
- * Create mouse move event with positions array (like web rrweb)
57
- * @param x - X coordinate
58
- * @param y - Y coordinate
59
- * @param target - Target element identifier
59
+ * Truncate text to prevent large span attributes
60
+ * @param text - Text to truncate
61
+ * @param maxLength - Maximum length (default: 100)
62
+ * @returns Truncated text with ellipsis if needed
60
63
  */
61
- private _createMouseMoveEvent;
62
- /**
63
- * Record touch start event as rrweb MouseInteraction
64
- * @param x - X coordinate
65
- * @param y - Y coordinate
66
- * @param target - Target element identifier
67
- * @param pressure - Touch pressure (optional)
68
- */
69
- recordTouchStart(x: number, y: number, target?: string, pressure?: number): void;
70
- /**
71
- * Record touch move event as rrweb MouseMove with positions array
72
- * @param x - X coordinate
73
- * @param y - Y coordinate
74
- * @param target - Target element identifier
75
- * @param pressure - Touch pressure (optional)
76
- */
77
- recordTouchMove(x: number, y: number, target?: string, pressure?: number): void;
78
- /**
79
- * Record touch end event as rrweb MouseInteraction
80
- * @param x - X coordinate
81
- * @param y - Y coordinate
82
- * @param target - Target element identifier
83
- * @param pressure - Touch pressure (optional)
84
- */
85
- recordTouchEnd(x: number, y: number, target?: string, pressure?: number): void;
86
- /**
87
- * Record touch cancel event as rrweb MouseInteraction
88
- * @param x - X coordinate
89
- * @param y - Y coordinate
90
- * @param target - Target element identifier
91
- */
92
- recordTouchCancel(x: number, y: number, target?: string): void;
93
- /**
94
- * Set the image node ID for touch interactions
95
- * This should be called when a new screen snapshot is created
96
- * @param nodeId - The ID of the image node in the current snapshot
97
- */
98
- setImageNodeId(nodeId: number): void;
64
+ private _truncateText;
99
65
  }