@multiplayer-app/session-recorder-react-native 0.0.1-alpha.9 → 0.0.1-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SessionRecorderNative.podspec +29 -0
- package/android/build.gradle +32 -0
- package/app.plugin.js +42 -0
- package/copy-react-native-dist.sh +4 -10
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js +1 -0
- package/dist/components/GestureCaptureWrapper/GestureCaptureWrapper.js.map +1 -0
- package/dist/components/GestureCaptureWrapper/index.d.ts +1 -0
- package/dist/components/GestureCaptureWrapper/index.js +1 -0
- package/dist/components/GestureCaptureWrapper/index.js.map +1 -0
- package/dist/components/MaskableComponent.d.ts +22 -0
- package/dist/components/MaskableComponent.js +1 -0
- package/dist/components/MaskableComponent.js.map +1 -0
- package/dist/components/MaskableTextInput.d.ts +14 -0
- package/dist/components/MaskableTextInput.js +1 -0
- package/dist/components/MaskableTextInput.js.map +1 -0
- package/dist/components/ScreenRecorderView/ScreenRecorderView.d.ts +5 -0
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js +1 -0
- package/dist/components/ScreenRecorderView/ScreenRecorderView.js.map +1 -0
- package/dist/components/ScreenRecorderView/index.d.ts +1 -0
- package/dist/components/ScreenRecorderView/index.js +1 -0
- package/dist/components/ScreenRecorderView/index.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.d.ts +11 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/FinalPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js +1 -0
- package/dist/components/SessionRecorderWidget/FloatingButton.js.map +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.d.ts +13 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js +1 -0
- package/dist/components/SessionRecorderWidget/InitialPopover.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.d.ts +8 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalContainer.js.map +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.d.ts +6 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js +1 -0
- package/dist/components/SessionRecorderWidget/ModalHeader.js.map +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +5 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js +1 -0
- package/dist/components/SessionRecorderWidget/SessionRecorderWidget.js.map +1 -0
- package/dist/components/SessionRecorderWidget/icons.d.ts +11 -0
- package/dist/components/SessionRecorderWidget/icons.js +1 -0
- package/dist/components/SessionRecorderWidget/icons.js.map +1 -0
- package/dist/components/SessionRecorderWidget/index.d.ts +2 -0
- package/dist/components/SessionRecorderWidget/index.js +1 -0
- package/dist/components/SessionRecorderWidget/index.js.map +1 -0
- package/dist/components/SessionRecorderWidget/styles.d.ts +145 -0
- package/dist/components/SessionRecorderWidget/styles.js +1 -0
- package/dist/components/SessionRecorderWidget/styles.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -0
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/masking.js +1 -1
- package/dist/config/masking.js.map +1 -1
- package/dist/context/SessionRecorderContext.d.ts +5 -3
- package/dist/context/SessionRecorderContext.js +1 -1
- package/dist/context/SessionRecorderContext.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native/ScreenMasking.d.ts +21 -0
- package/dist/native/ScreenMasking.js +1 -0
- package/dist/native/ScreenMasking.js.map +1 -0
- package/dist/native/SessionRecorderNative.d.ts +21 -0
- package/dist/native/SessionRecorderNative.js +1 -0
- package/dist/native/SessionRecorderNative.js.map +1 -0
- package/dist/otel/index.d.ts +0 -2
- package/dist/otel/index.js.map +1 -1
- package/dist/otel/instrumentations/index.d.ts +0 -3
- package/dist/otel/instrumentations/index.js +1 -1
- package/dist/otel/instrumentations/index.js.map +1 -1
- package/dist/patch/xhr.js +1 -1
- package/dist/patch/xhr.js.map +1 -1
- package/dist/recorder/gestureRecorder.d.ts +0 -9
- package/dist/recorder/gestureRecorder.js +1 -1
- package/dist/recorder/gestureRecorder.js.map +1 -1
- package/dist/recorder/index.d.ts +4 -3
- package/dist/recorder/index.js.map +1 -1
- package/dist/recorder/screenRecorder.d.ts +2 -6
- package/dist/recorder/screenRecorder.js +1 -1
- package/dist/recorder/screenRecorder.js.map +1 -1
- package/dist/recorder/screenshotManager.d.ts +10 -0
- package/dist/recorder/screenshotManager.js +1 -0
- package/dist/recorder/screenshotManager.js.map +1 -0
- package/dist/services/screenMaskingService.d.ts +39 -0
- package/dist/services/screenMaskingService.js +1 -0
- package/dist/services/screenMaskingService.js.map +1 -0
- package/dist/services/storage.service.d.ts +18 -2
- package/dist/services/storage.service.js +1 -1
- package/dist/services/storage.service.js.map +1 -1
- package/dist/session-recorder.d.ts +4 -2
- package/dist/session-recorder.js +1 -1
- package/dist/session-recorder.js.map +1 -1
- package/dist/types/index.d.ts +2 -16
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/session-recorder.d.ts +6 -0
- package/dist/types/session-recorder.js.map +1 -1
- package/dist/utils/app-metadata.d.ts +16 -0
- package/dist/utils/app-metadata.js +1 -0
- package/dist/utils/app-metadata.js.map +1 -0
- package/dist/utils/componentRegistry.d.ts +64 -0
- package/dist/utils/componentRegistry.js +1 -0
- package/dist/utils/componentRegistry.js.map +1 -0
- package/dist/utils/nativeModuleTest.d.ts +8 -0
- package/dist/utils/nativeModuleTest.js +1 -0
- package/dist/utils/nativeModuleTest.js.map +1 -0
- package/dist/utils/platform.d.ts +35 -0
- package/dist/utils/platform.js +1 -1
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/reactNativeHierarchyExtractor.d.ts +38 -0
- package/dist/utils/reactNativeHierarchyExtractor.js +1 -0
- package/dist/utils/reactNativeHierarchyExtractor.js.map +1 -0
- package/dist/utils/rrweb-events.d.ts +1 -1
- package/dist/utils/rrweb-events.js +1 -1
- package/dist/utils/rrweb-events.js.map +1 -1
- package/dist/utils/screenshotMasker.d.ts +96 -0
- package/dist/utils/screenshotMasker.js +1 -0
- package/dist/utils/screenshotMasker.js.map +1 -0
- package/dist/utils/viewHierarchyTracker.d.ts +89 -0
- package/dist/utils/viewHierarchyTracker.js +1 -0
- package/dist/utils/viewHierarchyTracker.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/NATIVE_MODULE_SETUP.md +177 -0
- package/ios/SessionRecorderNative.m +17 -0
- package/ios/SessionRecorderNative.podspec +26 -0
- package/ios/SessionRecorderNative.swift +205 -0
- package/package.json +25 -14
- package/plugin/package.json +20 -0
- package/plugin/src/index.js +42 -0
- package/react-native.config.js +15 -0
- package/RRWEB_INTEGRATION.md +0 -336
- package/VIEWSHOT_INTEGRATION_TEST.md +0 -123
- package/babel.config.js +0 -13
- package/dist/components/GestureCaptureWrapper.js +0 -1
- package/dist/components/GestureCaptureWrapper.js.map +0 -1
- package/dist/expo.d.ts +0 -7
- package/dist/expo.js +0 -1
- package/dist/expo.js.map +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.d.ts +0 -15
- package/dist/otel/instrumentations/gestureInstrumentation.js +0 -1
- package/dist/otel/instrumentations/gestureInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.d.ts +0 -8
- package/dist/otel/instrumentations/reactNativeInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNativeInstrumentation.js.map +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.d.ts +0 -13
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js +0 -1
- package/dist/otel/instrumentations/reactNavigationInstrumentation.js.map +0 -1
- package/dist/recorder/gestureHandlerRecorder.d.ts +0 -19
- package/dist/recorder/gestureHandlerRecorder.js +0 -1
- package/dist/recorder/gestureHandlerRecorder.js.map +0 -1
- package/dist/types/rrweb.d.ts +0 -118
- package/dist/types/rrweb.js +0 -1
- package/dist/types/rrweb.js.map +0 -1
- package/src/components/GestureCaptureWrapper.tsx +0 -110
- package/src/config/constants.ts +0 -60
- package/src/config/defaults.ts +0 -82
- package/src/config/index.ts +0 -6
- package/src/config/masking.ts +0 -27
- package/src/config/session-recorder.ts +0 -55
- package/src/config/validators.ts +0 -31
- package/src/context/SessionRecorderContext.tsx +0 -143
- package/src/expo.ts +0 -11
- package/src/index.ts +0 -9
- package/src/otel/helpers.ts +0 -275
- package/src/otel/index.ts +0 -149
- package/src/otel/instrumentations/gestureInstrumentation.ts +0 -141
- package/src/otel/instrumentations/index.ts +0 -120
- package/src/otel/instrumentations/reactNativeInstrumentation.ts +0 -77
- package/src/otel/instrumentations/reactNavigationInstrumentation.ts +0 -119
- package/src/patch/index.ts +0 -1
- package/src/patch/xhr.ts +0 -142
- package/src/recorder/eventExporter.ts +0 -141
- package/src/recorder/gestureHandlerRecorder.ts +0 -157
- package/src/recorder/gestureRecorder.ts +0 -622
- package/src/recorder/index.ts +0 -178
- package/src/recorder/navigationTracker.ts +0 -449
- package/src/recorder/screenRecorder.ts +0 -506
- package/src/services/api.service.ts +0 -203
- package/src/services/storage.service.ts +0 -158
- package/src/session-recorder.ts +0 -601
- package/src/types/expo.d.ts +0 -23
- package/src/types/index.ts +0 -46
- package/src/types/session-recorder.ts +0 -423
- package/src/types/session.ts +0 -65
- package/src/utils/index.ts +0 -8
- package/src/utils/logger.ts +0 -225
- package/src/utils/platform.ts +0 -87
- package/src/utils/request-utils.ts +0 -61
- package/src/utils/rrweb-events.ts +0 -311
- package/src/utils/session.ts +0 -18
- package/src/utils/time.ts +0 -17
- package/src/utils/type-utils.ts +0 -75
- package/src/version.ts +0 -1
- package/tsconfig.json +0 -24
- /package/dist/components/{GestureCaptureWrapper.d.ts → GestureCaptureWrapper/GestureCaptureWrapper.d.ts} +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
export declare const sharedStyles: {
|
|
2
|
+
popoverContent: {
|
|
3
|
+
flex: number;
|
|
4
|
+
paddingHorizontal: number;
|
|
5
|
+
};
|
|
6
|
+
popoverHeader: {
|
|
7
|
+
flexDirection: "column";
|
|
8
|
+
paddingBottom: number;
|
|
9
|
+
paddingHorizontal: number;
|
|
10
|
+
borderTopLeftRadius: number;
|
|
11
|
+
borderTopRightRadius: number;
|
|
12
|
+
backgroundColor: string;
|
|
13
|
+
shadowColor: string;
|
|
14
|
+
shadowOffset: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
shadowOpacity: number;
|
|
19
|
+
shadowRadius: number;
|
|
20
|
+
elevation: number;
|
|
21
|
+
};
|
|
22
|
+
modalHandle: {
|
|
23
|
+
marginTop: number;
|
|
24
|
+
marginBottom: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
backgroundColor: string;
|
|
28
|
+
borderRadius: number;
|
|
29
|
+
alignSelf: "center";
|
|
30
|
+
};
|
|
31
|
+
popoverHeaderContent: {
|
|
32
|
+
flexDirection: "row";
|
|
33
|
+
justifyContent: "space-between";
|
|
34
|
+
alignItems: "flex-start";
|
|
35
|
+
};
|
|
36
|
+
cancelButton: {
|
|
37
|
+
paddingHorizontal: number;
|
|
38
|
+
paddingVertical: number;
|
|
39
|
+
borderRadius: number;
|
|
40
|
+
backgroundColor: string;
|
|
41
|
+
};
|
|
42
|
+
cancelButtonText: {
|
|
43
|
+
color: string;
|
|
44
|
+
fontSize: number;
|
|
45
|
+
fontWeight: "500";
|
|
46
|
+
};
|
|
47
|
+
popoverBody: {
|
|
48
|
+
flex: number;
|
|
49
|
+
padding: number;
|
|
50
|
+
paddingTop: number;
|
|
51
|
+
};
|
|
52
|
+
title: {
|
|
53
|
+
fontSize: number;
|
|
54
|
+
fontWeight: "600";
|
|
55
|
+
color: string;
|
|
56
|
+
marginBottom: number;
|
|
57
|
+
};
|
|
58
|
+
description: {
|
|
59
|
+
fontSize: number;
|
|
60
|
+
color: string;
|
|
61
|
+
marginBottom: number;
|
|
62
|
+
};
|
|
63
|
+
popoverFooter: {
|
|
64
|
+
marginTop: "auto";
|
|
65
|
+
paddingTop: number;
|
|
66
|
+
};
|
|
67
|
+
actionButton: {
|
|
68
|
+
paddingVertical: number;
|
|
69
|
+
paddingHorizontal: number;
|
|
70
|
+
borderRadius: number;
|
|
71
|
+
alignItems: "center";
|
|
72
|
+
};
|
|
73
|
+
actionButtonText: {
|
|
74
|
+
color: string;
|
|
75
|
+
fontSize: number;
|
|
76
|
+
fontWeight: "500";
|
|
77
|
+
};
|
|
78
|
+
continuousRecordingSection: {
|
|
79
|
+
flexDirection: "row";
|
|
80
|
+
justifyContent: "space-between";
|
|
81
|
+
alignItems: "center";
|
|
82
|
+
marginBottom: number;
|
|
83
|
+
paddingVertical: number;
|
|
84
|
+
paddingHorizontal: number;
|
|
85
|
+
borderWidth: number;
|
|
86
|
+
borderColor: string;
|
|
87
|
+
backgroundColor: string;
|
|
88
|
+
borderRadius: number;
|
|
89
|
+
shadowColor: string;
|
|
90
|
+
shadowOffset: {
|
|
91
|
+
width: number;
|
|
92
|
+
height: number;
|
|
93
|
+
};
|
|
94
|
+
shadowOpacity: number;
|
|
95
|
+
shadowRadius: number;
|
|
96
|
+
elevation: number;
|
|
97
|
+
};
|
|
98
|
+
continuousRecordingLabel: {
|
|
99
|
+
fontSize: number;
|
|
100
|
+
fontWeight: "500";
|
|
101
|
+
color: string;
|
|
102
|
+
};
|
|
103
|
+
continuousOverlay: {
|
|
104
|
+
marginTop: number;
|
|
105
|
+
padding: number;
|
|
106
|
+
backgroundColor: string;
|
|
107
|
+
borderRadius: number;
|
|
108
|
+
borderWidth: number;
|
|
109
|
+
borderColor: string;
|
|
110
|
+
};
|
|
111
|
+
continuousOverlayContent: {
|
|
112
|
+
marginBottom: number;
|
|
113
|
+
};
|
|
114
|
+
continuousOverlayTitle: {
|
|
115
|
+
fontSize: number;
|
|
116
|
+
fontWeight: "bold";
|
|
117
|
+
color: string;
|
|
118
|
+
marginBottom: number;
|
|
119
|
+
};
|
|
120
|
+
continuousOverlayDescription: {
|
|
121
|
+
fontSize: number;
|
|
122
|
+
color: string;
|
|
123
|
+
lineHeight: number;
|
|
124
|
+
};
|
|
125
|
+
commentInput: {
|
|
126
|
+
borderWidth: number;
|
|
127
|
+
borderColor: string;
|
|
128
|
+
borderRadius: number;
|
|
129
|
+
padding: number;
|
|
130
|
+
fontSize: number;
|
|
131
|
+
color: string;
|
|
132
|
+
backgroundColor: string;
|
|
133
|
+
marginBottom: number;
|
|
134
|
+
minHeight: number;
|
|
135
|
+
};
|
|
136
|
+
startButton: {
|
|
137
|
+
backgroundColor: string;
|
|
138
|
+
};
|
|
139
|
+
stopButton: {
|
|
140
|
+
backgroundColor: string;
|
|
141
|
+
};
|
|
142
|
+
saveButton: {
|
|
143
|
+
backgroundColor: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.sharedStyles=void 0;var _reactNative=require("react-native");var sharedStyles=exports.sharedStyles=_reactNative.StyleSheet.create({popoverContent:{flex:1,paddingHorizontal:0},popoverHeader:{flexDirection:'column',paddingBottom:8,paddingHorizontal:16,borderTopLeftRadius:20,borderTopRightRadius:20,backgroundColor:'#e3ecfd',shadowColor:'#e3ecfd',shadowOffset:{width:0,height:10},shadowOpacity:1,shadowRadius:5,elevation:3},modalHandle:{marginTop:8,marginBottom:16,width:40,height:4,backgroundColor:'#D1D5DB',borderRadius:2,alignSelf:'center'},popoverHeaderContent:{flexDirection:'row',justifyContent:'space-between',alignItems:'flex-start'},cancelButton:{paddingHorizontal:12,paddingVertical:6,borderRadius:6,backgroundColor:'#F3F4F6'},cancelButtonText:{color:'#374151',fontSize:14,fontWeight:'500'},popoverBody:{flex:1,padding:16,paddingTop:32},title:{fontSize:18,fontWeight:'600',color:'#2d3748',marginBottom:12},description:{fontSize:14,color:'#718096',marginBottom:24},popoverFooter:{marginTop:'auto',paddingTop:48},actionButton:{paddingVertical:16,paddingHorizontal:24,borderRadius:12,alignItems:'center'},actionButtonText:{color:'white',fontSize:16,fontWeight:'500'},continuousRecordingSection:{flexDirection:'row',justifyContent:'space-between',alignItems:'center',marginBottom:20,paddingVertical:12,paddingHorizontal:16,borderWidth:1,borderColor:'#e1e8f1',backgroundColor:'#fff',borderRadius:12,shadowColor:'#000',shadowOffset:{width:0,height:2},shadowOpacity:0.06,shadowRadius:3,elevation:3},continuousRecordingLabel:{fontSize:16,fontWeight:'500',color:'#374151'},continuousOverlay:{marginTop:20,padding:16,backgroundColor:'#FEF3C7',borderRadius:8,borderWidth:1,borderColor:'#F59E0B'},continuousOverlayContent:{marginBottom:16},continuousOverlayTitle:{fontSize:18,fontWeight:'bold',color:'#92400E',marginBottom:8},continuousOverlayDescription:{fontSize:14,color:'#92400E',lineHeight:20},commentInput:{borderWidth:1,borderColor:'#D1D5DB',borderRadius:8,padding:12,fontSize:16,color:'#374151',backgroundColor:'#F9FAFB',marginBottom:24,minHeight:80},startButton:{backgroundColor:'#473cfb'},stopButton:{backgroundColor:'#473cfb'},saveButton:{backgroundColor:'#473cfb'}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/SessionRecorderWidget/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5C,iBAAiB;IACjB,cAAc,EAAE;QACd,IAAI,EAAE,CAAC;QACP,iBAAiB,EAAE,CAAC;KACrB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,EAAE;QACrB,mBAAmB,EAAE,EAAE;QACvB,oBAAoB,EAAE,EAAE;QACxB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG;QACvC,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,WAAW,EAAE;QACX,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,QAAQ;KACpB;IACD,oBAAoB,EAAE;QACpB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,YAAY;KACzB;IAGD,YAAY,EAAE;QACZ,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,SAAS;KAC3B;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,aAAa,EAAE;QACb,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,EAAE;KACf;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IAED,8BAA8B;IAC9B,0BAA0B,EAAE;QAC1B,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,CAAC;KACb;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;KACjB;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;KACvB;IACD,wBAAwB,EAAE;QACxB,YAAY,EAAE,EAAE;KACjB;IACD,sBAAsB,EAAE;QACtB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,CAAC;KAChB;IACD,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,EAAE;KACf;IAED,uBAAuB;IACvB,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;KACd;IAED,wBAAwB;IACxB,WAAW,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;KAC3B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,SAAS;KAC3B;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});var _GestureCaptureWrapper=require("./GestureCaptureWrapper");Object.keys(_GestureCaptureWrapper).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_GestureCaptureWrapper[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _GestureCaptureWrapper[key];}});});var _ScreenRecorderView=require("./ScreenRecorderView");Object.keys(_ScreenRecorderView).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_ScreenRecorderView[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _ScreenRecorderView[key];}});});var _SessionRecorderWidget=require("./SessionRecorderWidget");Object.keys(_SessionRecorderWidget).forEach(function(key){if(key==="default"||key==="__esModule")return;if(key in exports&&exports[key]===_SessionRecorderWidget[key])return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _SessionRecorderWidget[key];}});});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_MASKING_CONFIG=exports.BASE_CONFIG=void 0;var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _types=require("../types");var _constants=require("./constants");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var DEFAULT_MASKING_CONFIG=exports.DEFAULT_MASKING_CONFIG={isContentMaskingEnabled:true,maskBody:mask(sensitiveFields),maskHeaders:mask(sensitiveHeaders),maskBodyFieldsList:sensitiveFields,maskHeadersList:sensitiveHeaders,headersToInclude:[],headersToExclude:[]};var DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_WIDGET_TEXT_CONFIG={initialTitleWithContinuous:'Encountered an issue?',initialTitleWithoutContinuous:'Encountered an issue?',initialDescriptionWithContinuous:'Record your session so we can see the problem and fix it faster.',initialDescriptionWithoutContinuous:'Record your session so we can see the problem and fix it faster.',continuousRecordingLabel:'Continuous recording',startRecordingButtonText:'Start recording',finalTitle:'Done recording?',finalDescription:'You can also add a quick note with extra context, expectations, or questions. Thank you!',commentPlaceholder:'Add a message...',saveButtonText:'Submit recording',cancelButtonText:'Cancel recording',continuousOverlayTitle:'Save time, skip the reproductions',continuousOverlayDescription:'We keep a rolling record of your recent activity. If something doesn’t work as expected, just save the recording and continue working. No need to worry about exceptions and errors - we automatically save recordings for those!',saveLastSnapshotButtonText:'Save recording',submitDialogTitle:'Save recording',submitDialogSubtitle:'This full-stack session recording will be saved directly to your selected Multiplayer project. All data is automatically correlated end-to-end.',submitDialogCommentLabel:'You can also add context, comments, or notes.',submitDialogCommentPlaceholder:'Add a message...',submitDialogSubmitText:'Save',submitDialogCancelText:'Cancel'};var BASE_CONFIG=exports.BASE_CONFIG={apiKey:'',version:'',application:'',environment:'',showWidget:true,showContinuousRecording:true,widgetButtonPlacement:_types.WidgetButtonPlacement.bottomRight,usePostMessageFallback:false,apiBaseUrl:_sessionRecorderCommon.MULTIPLAYER_BASE_API_URL,exporterEndpoint:_sessionRecorderCommon.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,schemifyDocSpanPayload:true,ignoreUrls:[],propagateTraceHeaderCorsUrls:[],sampleTraceRatio:_constants.OTEL_MP_SAMPLE_TRACE_RATIO,maxCapturingHttpPayloadSize:_constants.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,captureBody:true,captureHeaders:true,masking:DEFAULT_MASKING_CONFIG,widgetTextOverrides:DEFAULT_WIDGET_TEXT_CONFIG,recordScreen:true,recordGestures:true,recordNavigation:true};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_MASKING_CONFIG=exports.BASE_CONFIG=void 0;var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var _types=require("../types");var _constants=require("./constants");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var DEFAULT_MASKING_CONFIG=exports.DEFAULT_MASKING_CONFIG={isContentMaskingEnabled:true,maskBody:mask(sensitiveFields),maskHeaders:mask(sensitiveHeaders),maskBodyFieldsList:sensitiveFields,maskHeadersList:sensitiveHeaders,headersToInclude:[],headersToExclude:[],inputMasking:true};var DEFAULT_WIDGET_TEXT_CONFIG=exports.DEFAULT_WIDGET_TEXT_CONFIG={initialTitleWithContinuous:'Encountered an issue?',initialTitleWithoutContinuous:'Encountered an issue?',initialDescriptionWithContinuous:'Record your session so we can see the problem and fix it faster.',initialDescriptionWithoutContinuous:'Record your session so we can see the problem and fix it faster.',continuousRecordingLabel:'Continuous recording',startRecordingButtonText:'Start recording',finalTitle:'Done recording?',finalDescription:'You can also add a quick note with extra context, expectations, or questions. Thank you!',commentPlaceholder:'Add a message...',saveButtonText:'Submit recording',cancelButtonText:'Cancel recording',continuousOverlayTitle:'Save time, skip the reproductions',continuousOverlayDescription:'We keep a rolling record of your recent activity. If something doesn’t work as expected, just save the recording and continue working. No need to worry about exceptions and errors - we automatically save recordings for those!',saveLastSnapshotButtonText:'Save recording',submitDialogTitle:'Save recording',submitDialogSubtitle:'This full-stack session recording will be saved directly to your selected Multiplayer project. All data is automatically correlated end-to-end.',submitDialogCommentLabel:'You can also add context, comments, or notes.',submitDialogCommentPlaceholder:'Add a message...',submitDialogSubmitText:'Save',submitDialogCancelText:'Cancel'};var BASE_CONFIG=exports.BASE_CONFIG={apiKey:'',version:'',application:'',environment:'',showWidget:true,showContinuousRecording:true,widgetButtonPlacement:_types.WidgetButtonPlacement.bottomRight,usePostMessageFallback:false,apiBaseUrl:_sessionRecorderCommon.MULTIPLAYER_BASE_API_URL,exporterEndpoint:_sessionRecorderCommon.MULTIPLAYER_OTEL_DEFAULT_TRACES_EXPORTER_HTTP_URL,schemifyDocSpanPayload:true,ignoreUrls:[],propagateTraceHeaderCorsUrls:[],sampleTraceRatio:_constants.OTEL_MP_SAMPLE_TRACE_RATIO,maxCapturingHttpPayloadSize:_constants.DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE,captureBody:true,captureHeaders:true,masking:DEFAULT_MASKING_CONFIG,widgetTextOverrides:DEFAULT_WIDGET_TEXT_CONFIG,recordScreen:true,recordGestures:true,recordNavigation:true};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iDAAiD,GAClD,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,qBAAqB,GAEtB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,0BAA0B,EAC1B,uCAAuC,GACxC,MAAM,aAAa,CAAA;AACpB,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,eAAe;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,IAAI;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAA8B;IACnE,0BAA0B,EAAE,uBAAuB;IACnD,6BAA6B,EAAE,uBAAuB;IACtD,gCAAgC,EAAE,kEAAkE;IACpG,mCAAmC,EAAE,kEAAkE;IACvG,wBAAwB,EAAE,sBAAsB;IAChD,wBAAwB,EAAE,iBAAiB;IAC3C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0FAA0F;IAC5G,kBAAkB,EAAE,kBAAkB;IACtC,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,mCAAmC;IAC3D,4BAA4B,EAAE,mOAAmO;IACjQ,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,iJAAiJ;IACvK,wBAAwB,EAAE,+CAA+C;IACzE,8BAA8B,EAAE,kBAAkB;IAClD,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,QAAQ;CACjC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,MAAM,EAAE,EAAE;IAEV,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IAEf,UAAU,EAAE,IAAI;IAChB,uBAAuB,EAAE,IAAI;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC,WAAW;IAExD,sBAAsB,EAAE,KAAK;IAC7B,UAAU,EAAE,wBAAwB;IACpC,gBAAgB,EAAE,iDAAiD;IAEnE,sBAAsB,EAAE,IAAI;IAE5B,UAAU,EAAE,EAAE;IACd,4BAA4B,EAAE,EAAE;IAEhC,gBAAgB,EAAE,0BAA0B;IAC5C,2BAA2B,EAAE,uCAAuC;IAEpE,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,sBAAsB;IAC/B,mBAAmB,EAAE,0BAA0B;IAE/C,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI;CACvB,CAAA"}
|
package/dist/config/masking.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getMaskingConfig=void 0;var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _defaults=require("./defaults");var _validators=require("./validators");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var getMaskingConfig=exports.getMaskingConfig=function getMaskingConfig(masking){var _a,_b,_c;var baseMasking=_defaults.DEFAULT_MASKING_CONFIG;if((0,_typeof2["default"])(masking)!=='object'){return baseMasking;}var maskHeadersList=(0,_validators.isValidArray)(masking.maskHeadersList,sensitiveHeaders);var maskBodyFieldsList=(0,_validators.isValidArray)(masking.maskBodyFieldsList,sensitiveFields);return{maskHeadersList:maskHeadersList,maskBodyFieldsList:maskBodyFieldsList,headersToInclude:(0,_validators.isValidArray)(masking.headersToInclude,(_a=baseMasking.headersToInclude)!==null&&_a!==void 0?_a:[]),headersToExclude:(0,_validators.isValidArray)(masking.headersToExclude,(_b=baseMasking.headersToExclude)!==null&&_b!==void 0?_b:[]),isContentMaskingEnabled:(0,_validators.isValidBoolean)(masking.isContentMaskingEnabled,(_c=baseMasking.isContentMaskingEnabled)!==null&&_c!==void 0?_c:true),maskBody:(0,_validators.isValidFunction)(masking.maskBody,mask(maskBodyFieldsList)),maskHeaders:(0,_validators.isValidFunction)(masking.maskHeaders,mask(maskHeadersList))};};
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getMaskingConfig=void 0;var _typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));var _defaults=require("./defaults");var _validators=require("./validators");var _sessionRecorderCommon=require("@multiplayer-app/session-recorder-common");var mask=_sessionRecorderCommon.SessionRecorderSdk.mask,sensitiveFields=_sessionRecorderCommon.SessionRecorderSdk.sensitiveFields,sensitiveHeaders=_sessionRecorderCommon.SessionRecorderSdk.sensitiveHeaders;var getMaskingConfig=exports.getMaskingConfig=function getMaskingConfig(masking){var _a,_b,_c,_d;var baseMasking=_defaults.DEFAULT_MASKING_CONFIG;if((0,_typeof2["default"])(masking)!=='object'){return baseMasking;}var maskHeadersList=(0,_validators.isValidArray)(masking.maskHeadersList,sensitiveHeaders);var maskBodyFieldsList=(0,_validators.isValidArray)(masking.maskBodyFieldsList,sensitiveFields);return{maskHeadersList:maskHeadersList,maskBodyFieldsList:maskBodyFieldsList,headersToInclude:(0,_validators.isValidArray)(masking.headersToInclude,(_a=baseMasking.headersToInclude)!==null&&_a!==void 0?_a:[]),headersToExclude:(0,_validators.isValidArray)(masking.headersToExclude,(_b=baseMasking.headersToExclude)!==null&&_b!==void 0?_b:[]),isContentMaskingEnabled:(0,_validators.isValidBoolean)(masking.isContentMaskingEnabled,(_c=baseMasking.isContentMaskingEnabled)!==null&&_c!==void 0?_c:true),maskBody:(0,_validators.isValidFunction)(masking.maskBody,mask(maskBodyFieldsList)),maskHeaders:(0,_validators.isValidFunction)(masking.maskHeaders,mask(maskHeadersList)),inputMasking:(0,_validators.isValidBoolean)(masking.inputMasking,(_d=baseMasking.inputMasking)!==null&&_d!==void 0?_d:true)};};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"masking.js","sourceRoot":"","sources":["../../src/config/masking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAE7E,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAiB,EAAE;;IACzE,MAAM,WAAW,GAAG,sBAAsB,CAAA;IAE1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;IAC/E,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;IAEpF,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,uBAAuB,EAAE,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAA,WAAW,CAAC,uBAAuB,mCAAI,IAAI,CAAC;QACrH,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"masking.js","sourceRoot":"","sources":["../../src/config/masking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AAE7E,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAA;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAiB,EAAE;;IACzE,MAAM,WAAW,GAAG,sBAAsB,CAAA;IAE1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;IAC/E,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAA;IAEpF,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAA,WAAW,CAAC,gBAAgB,mCAAI,EAAE,CAAC;QAC5F,uBAAuB,EAAE,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAA,WAAW,CAAC,uBAAuB,mCAAI,IAAI,CAAC;QACrH,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,MAAA,WAAW,CAAC,YAAY,mCAAI,IAAI,CAAC;KACrF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { SessionRecorderOptions } from '../types';
|
|
3
|
-
import
|
|
2
|
+
import { SessionRecorderOptions, SessionState } from '../types';
|
|
3
|
+
import sessionRecorder from '../session-recorder';
|
|
4
4
|
interface SessionRecorderContextType {
|
|
5
|
-
instance: typeof
|
|
5
|
+
instance: typeof sessionRecorder;
|
|
6
|
+
isInitialized: boolean;
|
|
7
|
+
sessionState: SessionState | null;
|
|
6
8
|
}
|
|
7
9
|
export interface SessionRecorderProviderProps extends PropsWithChildren {
|
|
8
10
|
options: SessionRecorderOptions;
|
|
@@ -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.useSessionRecorder=exports.SessionRecorderProvider=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.useSessionRecorder=exports.SessionRecorderProvider=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _types=require("../types");var _sessionRecorder=_interopRequireDefault(require("../session-recorder"));var _ScreenRecorderView=require("../components/ScreenRecorderView");var _SessionRecorderWidget=_interopRequireDefault(require("../components/SessionRecorderWidget"));var _jsxRuntime=require("react/jsx-runtime");var _this=void 0,_jsxFileName="/Users/gegham/www/multiplayer-debugger-javascript/packages/session-recorder-react-native/dist/context/SessionRecorderContext.js";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);}var SessionRecorderContext=(0,_react.createContext)(null);var SessionRecorderProvider=exports.SessionRecorderProvider=function SessionRecorderProvider(_ref){var children=_ref.children,options=_ref.options;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2["default"])(_useState,2),isInitialized=_useState2[0],setIsInitialized=_useState2[1];var _useState3=(0,_react.useState)(_types.SessionState.stopped),_useState4=(0,_slicedToArray2["default"])(_useState3,2),sessionState=_useState4[0],setSessionState=_useState4[1];var optionsRef=(0,_react.useRef)();(0,_react.useEffect)(function(){var newOptions=JSON.stringify(options);if(optionsRef.current===JSON.stringify(options))return;optionsRef.current=newOptions;_sessionRecorder["default"].init(options);setIsInitialized(true);},[options]);(0,_react.useEffect)(function(){setSessionState(_sessionRecorder["default"].sessionState);_sessionRecorder["default"].on('state-change',function(state){setSessionState(state);});},[]);return(0,_jsxRuntime.jsxs)(SessionRecorderContext.Provider,{value:{instance:_sessionRecorder["default"],sessionState:sessionState,isInitialized:isInitialized},children:[(0,_jsxRuntime.jsx)(_ScreenRecorderView.ScreenRecorderView,{children:children}),isInitialized&&!!_sessionRecorder["default"].config.showWidget&&(0,_jsxRuntime.jsx)(_SessionRecorderWidget["default"],{})]});};var useSessionRecorder=exports.useSessionRecorder=function useSessionRecorder(){var context=(0,_react.useContext)(SessionRecorderContext);if(!context){throw new Error('useSessionRecorder must be used within a SessionRecorderProvider');}return context;};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"SessionRecorderContext.js","sourceRoot":"","sources":["../../src/context/SessionRecorderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAqB,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACxG,OAAO,EAA0B,YAAY,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,eAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,qBAAqB,MAAM,qCAAqC,CAAA;AAQvE,MAAM,sBAAsB,GAAG,aAAa,CAAoC,IAAI,CAAC,CAAA;AAMrF,MAAM,CAAC,MAAM,uBAAuB,GAA2C,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACvG,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsB,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3F,MAAM,UAAU,GAAG,MAAM,EAAU,CAAA;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAM;QAC1D,UAAU,CAAC,OAAO,GAAG,UAAU,CAAA;QAC/B,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7B,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAC7C,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAmB,EAAE,EAAE;YACzD,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CACjG;MAAA,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAClD;MAAA,CAAC,aAAa,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,qBAAqB,CAAC,AAAD,EAAG,CACpF;IAAA,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CACnC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA+B,EAAE;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
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;
|
|
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,qCAAqC;AACrC,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,iCAAiC;AACjC,eAAe,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,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 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;AAyB5C,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"}
|
package/dist/otel/index.d.ts
CHANGED
package/dist/otel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,0BAA0B,EAC1B,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,0BAA0B,EAC1B,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAKhE,MAAM,OAAO,oBAAoB;IAS/B;QALQ,cAAS,GAAG,EAAE,CAAA;QAGd,kBAAa,GAAG,KAAK,CAAA;IAEb,CAAC;IAET,aAAa,CACnB,SAAiB,EACjB,cAA2B,WAAW,CAAC,KAAK;;QAE5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,MAAA,IAAI,CAAC,WAAW,0CAAE,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,OAAgC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;QAErB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzD,IAAI,CAAC,WAAW,GAAG,IAAI,0BAA0B,EAAE,CAAA;QAEnD,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAmC,CAAC;YACtD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAClD,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACvD,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,CAAC;YAC1C,QAAQ,EAAE,sBAAsB,CAAC;gBAC/B,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,WAAW;gBAC1D,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,OAAO;gBACzD,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,EAAE,WAAW;gBACpE,GAAG,qBAAqB,EAAE;aAC3B,CAAC;YACF,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC;YAC1F,cAAc,EAAE;gBACd,IAAI,CAAC,0BAA0B,EAAE;gBACjC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;aACtC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3B,UAAU,EAAE,IAAI,yBAAyB,EAAE;SAC5C,CAAC,CAAA;QAEF,4BAA4B;QAC5B,wBAAwB,CAAC;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;SACnD,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;IAC3B,CAAC;IAEO,0BAA0B;QAChC,OAAO;YACL,OAAO,EAAE,CAAC,IAAS,EAAE,EAAE;gBACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,YAAY,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;gBAChE,CAAC;gBACD,uCAAuC;gBACvC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBAC7C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC5C,CAAC;YACD,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;YAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YACjC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;SACpC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,SAAiB,EAAE,WAAwB;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAA;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,SAAS,CAAC,MAAc;;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;QACH,CAAC;QAED,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,SAAS,mDAAG,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,WAAwB;QACtD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,mCAAmC;IACnC,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
|
|
@@ -2,6 +2,3 @@ import { FetchInstrumentation } from '@opentelemetry/instrumentation-fetch';
|
|
|
2
2
|
import { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';
|
|
3
3
|
import { TracerReactNativeConfig } from '../../types';
|
|
4
4
|
export declare function getInstrumentations(config: TracerReactNativeConfig): (FetchInstrumentation | XMLHttpRequestInstrumentation)[];
|
|
5
|
-
export { ReactNativeInstrumentation } from './reactNativeInstrumentation';
|
|
6
|
-
export { ReactNavigationInstrumentation } from './reactNavigationInstrumentation';
|
|
7
|
-
export { GestureInstrumentation } from './gestureInstrumentation';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.getInstrumentations=getInstrumentations;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _instrumentationFetch=require("@opentelemetry/instrumentation-fetch");var _instrumentationXmlHttpRequest=require("@opentelemetry/instrumentation-xml-http-request");var _utils=require("../../utils");var _config=require("../../config");var _helpers=require("../helpers");function getInstrumentations(config){var instrumentations=[];try{instrumentations.push(new _instrumentationFetch.FetchInstrumentation({clearTimingResources:false,ignoreUrls:[].concat((0,_toConsumableArray2["default"])(_config.OTEL_IGNORE_URLS),(0,_toConsumableArray2["default"])(config.ignoreUrls||[])),propagateTraceHeaderCorsUrls:config.propagateTraceHeaderCorsUrls,applyCustomAttributesOnSpan:function(){var _applyCustomAttributesOnSpan=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(span,request,response){var captureBody,captureHeaders,requestBody,requestHeaders,responseHeaders,responseBody,payload,_t;return _regenerator["default"].wrap(function(_context){while(1)switch(_context.prev=_context.next){case 0:if(config){_context.next=1;break;}return _context.abrupt("return");case 1:captureBody=config.captureBody,captureHeaders=config.captureHeaders;_context.prev=2;if(!(!captureBody&&!captureHeaders)){_context.next=3;break;}return _context.abrupt("return");case 3:requestBody=request.body;requestHeaders=(0,_helpers.headersToObject)(request.headers);responseHeaders=(0,_helpers.headersToObject)(response instanceof Response?response.headers:undefined);responseBody=null;if(!(response instanceof Response&&response.body)){_context.next=5;break;}_context.next=4;return(0,_helpers.extractResponseBody)(response);case 4:responseBody=_context.sent;case 5:payload={requestBody:requestBody,responseBody:responseBody,requestHeaders:requestHeaders,responseHeaders:responseHeaders};(0,_helpers.processHttpPayload)(payload,config,span);_context.next=7;break;case 6:_context.prev=6;_t=_context["catch"](2);_utils.logger.error('DEBUGGER_LIB','Failed to capture fetch payload',_t);case 7:case"end":return _context.stop();}},_callee,null,[[2,6]]);}));function applyCustomAttributesOnSpan(_x,_x2,_x3){return _applyCustomAttributesOnSpan.apply(this,arguments);}return applyCustomAttributesOnSpan;}()}));}catch(error){_utils.logger.warn('DEBUGGER_LIB','Fetch instrumentation not available',error);}try{instrumentations.push(new _instrumentationXmlHttpRequest.XMLHttpRequestInstrumentation({clearTimingResources:false,ignoreUrls:[].concat((0,_toConsumableArray2["default"])(_config.OTEL_IGNORE_URLS),(0,_toConsumableArray2["default"])(config.ignoreUrls||[])),propagateTraceHeaderCorsUrls:config.propagateTraceHeaderCorsUrls,applyCustomAttributesOnSpan:function applyCustomAttributesOnSpan(span,xhr){if(!config)return;var captureBody=config.captureBody,captureHeaders=config.captureHeaders;try{if(!captureBody&&!captureHeaders){return;}var requestBody=xhr.networkRequest.requestBody;var responseBody=xhr.networkRequest.responseBody;var requestHeaders=xhr.networkRequest.requestHeaders||{};var responseHeaders=xhr.networkRequest.responseHeaders||{};var payload={requestBody:requestBody,responseBody:responseBody,requestHeaders:requestHeaders,responseHeaders:responseHeaders};(0,_helpers.processHttpPayload)(payload,config,span);}catch(error){_utils.logger.error('DEBUGGER_LIB','Failed to capture xml-http payload',error);}}}));}catch(error){_utils.logger.warn('DEBUGGER_LIB','XMLHttpRequest instrumentation not available',error);}return instrumentations;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/otel/instrumentations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAA;AAE/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/otel/instrumentations/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);
|
package/dist/patch/xhr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/patch/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,uCAAuC,EAAE,MAAM,WAAW,CAAA;AAEnE,IAAI,oBAAoB,GAAG,IAAI,CAAA;AAC/B,IAAI,qBAAqB,GAAG,IAAI,CAAA;AAChC,
|
|
1
|
+
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../src/patch/xhr.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,13 +18,7 @@ export declare class GestureRecorder implements EventRecorder {
|
|
|
18
18
|
init(config: RecorderConfig, eventRecorder?: EventRecorder, screenRecorder?: any): void;
|
|
19
19
|
start(): void;
|
|
20
20
|
stop(): void;
|
|
21
|
-
pause(): void;
|
|
22
|
-
resume(): void;
|
|
23
21
|
private _getScreenDimensions;
|
|
24
|
-
private _setupInputTracking;
|
|
25
|
-
private _setupGestureHandlers;
|
|
26
|
-
private _setupGlobalGestureListener;
|
|
27
|
-
private _setupAutomaticTouchCapture;
|
|
28
22
|
private _removeGestureHandlers;
|
|
29
23
|
private _recordEvent;
|
|
30
24
|
private _sendEvent;
|
|
@@ -40,9 +34,6 @@ export declare class GestureRecorder implements EventRecorder {
|
|
|
40
34
|
recordMultiTouch(touchCount: number, target?: string): void;
|
|
41
35
|
recordScroll(direction: string, distance: number, velocity: number, target?: string): void;
|
|
42
36
|
recordZoom(scale: number, target?: string, velocity?: number): void;
|
|
43
|
-
recordGestureSequence(gestures: string[], duration: number, target?: string): void;
|
|
44
|
-
recordGestureError(error: Error, gestureType: string, target?: string): void;
|
|
45
|
-
recordGesturePerformance(gestureType: string, duration: number, target?: string): void;
|
|
46
37
|
getEvents(): GestureEvent[];
|
|
47
38
|
clearEvents(): void;
|
|
48
39
|
getEventStats(): Record<string, number>;
|
|
@@ -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 _types=require("../types");var _api=require("@opentelemetry/api");var _reactNative=require("react-native");var _utils=require("../utils");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=[];this._setupGestureHandlers();this._setupAutomaticTouchCapture();}},{key:"stop",value:function stop(){this.isRecording=false;this._removeGestureHandlers();}},{key:"pause",value:function pause(){this.isRecording=false;}},{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:"_setupInputTracking",value:function _setupInputTracking(){try{}catch(error){}}},{key:"_setupGestureHandlers",value:function _setupGestureHandlers(){this._setupGlobalGestureListener();}},{key:"_setupGlobalGestureListener",value:function _setupGlobalGestureListener(){try{}catch(error){}}},{key:"_setupAutomaticTouchCapture",value:function _setupAutomaticTouchCapture(){try{}catch(error){}}},{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('gesture').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:"recordGestureSequence",value:function recordGestureSequence(gestures,duration,target){var _a,_b;var event={type:'gestureSequence',timestamp:Date.now(),target:target,metadata:{gestures:gestures.join(','),duration:duration,gestureCount:gestures.length,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:"recordGestureError",value:function recordGestureError(error,gestureType,target){var _a,_b;var event={type:'gestureError',timestamp:Date.now(),target:target,metadata:{errorType:error.name,errorMessage:error.message,gestureType:gestureType,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);try{var span=_api.trace.getTracer('gesture').startSpan("Gesture.".concat(gestureType,".error"),{attributes:{'gesture.type':gestureType,'gesture.error':true,'gesture.error.type':error.name,'gesture.error.message':error.message,'gesture.timestamp':Date.now()}});span.setStatus({code:_api.SpanStatusCode.ERROR,message:error.message});span.recordException(error);span.end();}catch(spanError){}}},{key:"recordGesturePerformance",value:function recordGesturePerformance(gestureType,duration,target){var _a,_b;var event={type:'gesturePerformance',timestamp:Date.now(),target:target,metadata:{gestureType:gestureType,duration:duration,performance:'monitoring',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.MouseMove,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.MouseInteractionType.MouseDown,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.MouseInteractionType.MouseUp,target);this._createMouseInteractionEvent(x,y,_types.MouseInteractionType.Click,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.MouseInteractionType.MouseUp,target);}},{key:"setImageNodeId",value:function setImageNodeId(nodeId){this.imageNodeId=nodeId;}}]);}();
|
|
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;}}]);}();
|