@datadog/mobile-react-native-session-replay 2.6.4 → 2.6.6
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/DatadogSDKReactNativeSessionReplay.podspec +1 -1
- package/android/src/main/kotlin/com/datadog/reactnative/sessionreplay/ShadowNodeWrapper.kt +1 -1
- package/android/src/main/kotlin/com/datadog/reactnative/sessionreplay/utils/text/LegacyTextViewUtils.kt +1 -2
- package/android/src/rn69/kotlin/com.datadog.reactnative.sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +12 -14
- package/android/src/rn75/kotlin/com/datadog/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +13 -14
- package/android/src/rn76/kotlin/com/datadog/reactnative/sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +13 -14
- package/android/src/rnlegacy/kotlin/com.datadog.reactnative.sessionreplay/utils/ReactViewBackgroundDrawableUtils.kt +14 -16
- package/lib/commonjs/SessionReplay.js +26 -0
- package/lib/commonjs/SessionReplay.js.map +1 -1
- package/lib/module/SessionReplay.js +26 -0
- package/lib/module/SessionReplay.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,7 +19,7 @@ Pod::Spec.new do |s|
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
20
|
|
|
21
21
|
# /!\ Remember to keep the version in sync with DatadogSDKReactNative.podspec
|
|
22
|
-
s.dependency 'DatadogSessionReplay', '~> 2.
|
|
22
|
+
s.dependency 'DatadogSessionReplay', '~> 2.25.0'
|
|
23
23
|
s.dependency 'DatadogSDKReactNative'
|
|
24
24
|
|
|
25
25
|
s.test_spec 'Tests' do |test_spec|
|
|
@@ -60,7 +60,7 @@ internal class ShadowNodeWrapper(
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
private fun resolveShadowNode(reflectionUtils: ReflectionUtils, uiManagerModule: UIManagerModule, tag: Int): ReactShadowNode<out ReactShadowNode<*>>? {
|
|
63
|
-
val uiManagerImplementation = reflectionUtils.getDeclaredField(uiManagerModule, UI_IMPLEMENTATION_FIELD_NAME) as UIImplementation
|
|
63
|
+
val uiManagerImplementation = reflectionUtils.getDeclaredField(uiManagerModule, UI_IMPLEMENTATION_FIELD_NAME) as? UIImplementation
|
|
64
64
|
return uiManagerImplementation?.resolveShadowNode(tag)
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -64,7 +64,7 @@ internal class LegacyTextViewUtils(
|
|
|
64
64
|
}
|
|
65
65
|
val resolvedColor =
|
|
66
66
|
shadowNodeWrapper
|
|
67
|
-
.getDeclaredShadowNodeField(COLOR_FIELD_NAME) as Int
|
|
67
|
+
.getDeclaredShadowNodeField(COLOR_FIELD_NAME) as? Int
|
|
68
68
|
if (resolvedColor != null) {
|
|
69
69
|
return formatAsRgba(resolvedColor)
|
|
70
70
|
}
|
|
@@ -115,4 +115,3 @@ internal class LegacyTextViewUtils(
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
|
|
@@ -40,23 +40,21 @@ internal class ReactViewBackgroundDrawableUtils() : DrawableUtils() {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
override fun getReactBackgroundFromDrawable(drawable: Drawable?): Drawable? {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return getReactBackgroundFromDrawable(drawable.drawable)
|
|
43
|
+
return when (drawable) {
|
|
44
|
+
is ReactViewBackgroundDrawable -> drawable
|
|
45
|
+
is InsetDrawable -> getReactBackgroundFromDrawable(drawable.drawable)
|
|
46
|
+
is LayerDrawable -> getDrawableFromLayerDrawable(drawable)
|
|
47
|
+
else -> null
|
|
49
48
|
}
|
|
49
|
+
}
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
51
|
+
private fun getDrawableFromLayerDrawable(layerDrawable: LayerDrawable): Drawable? {
|
|
52
|
+
for (layerNumber in 0 until layerDrawable.numberOfLayers) {
|
|
53
|
+
val layer = layerDrawable.getDrawable(layerNumber)
|
|
54
|
+
if (layer is ReactViewBackgroundDrawable) {
|
|
55
|
+
return layer
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
|
-
|
|
60
58
|
return null
|
|
61
59
|
}
|
|
62
60
|
|
|
@@ -79,7 +77,7 @@ internal class ReactViewBackgroundDrawableUtils() : DrawableUtils() {
|
|
|
79
77
|
return reflectionUtils.getDeclaredField(
|
|
80
78
|
backgroundDrawable,
|
|
81
79
|
COLOR_FIELD_NAME
|
|
82
|
-
) as Int
|
|
80
|
+
) as? Int
|
|
83
81
|
}
|
|
84
82
|
|
|
85
83
|
private companion object {
|
|
@@ -42,23 +42,22 @@ internal class ReactViewBackgroundDrawableUtils : DrawableUtils() {
|
|
|
42
42
|
|
|
43
43
|
@OptIn(UnstableReactNativeAPI::class)
|
|
44
44
|
override fun getReactBackgroundFromDrawable(drawable: Drawable?): Drawable? {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return getReactBackgroundFromDrawable(drawable.drawable)
|
|
45
|
+
return when(drawable) {
|
|
46
|
+
is CSSBackgroundDrawable -> drawable
|
|
47
|
+
is InsetDrawable -> getReactBackgroundFromDrawable(drawable.drawable)
|
|
48
|
+
is LayerDrawable -> getDrawableFromLayerDrawable(drawable)
|
|
49
|
+
else -> null
|
|
51
50
|
}
|
|
51
|
+
}
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
@OptIn(UnstableReactNativeAPI::class)
|
|
54
|
+
private fun getDrawableFromLayerDrawable(layerDrawable: LayerDrawable): Drawable? {
|
|
55
|
+
for (layerNumber in 0 until layerDrawable.numberOfLayers) {
|
|
56
|
+
val layer = layerDrawable.getDrawable(layerNumber)
|
|
57
|
+
if (layer is CSSBackgroundDrawable) {
|
|
58
|
+
return layer
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
|
|
62
61
|
return null
|
|
63
62
|
}
|
|
64
63
|
|
|
@@ -76,7 +75,7 @@ internal class ReactViewBackgroundDrawableUtils : DrawableUtils() {
|
|
|
76
75
|
return reflectionUtils.getDeclaredField(
|
|
77
76
|
backgroundDrawable,
|
|
78
77
|
COLOR_FIELD_NAME
|
|
79
|
-
) as Int
|
|
78
|
+
) as? Int
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
@OptIn(UnstableReactNativeAPI::class)
|
|
@@ -42,23 +42,22 @@ internal class ReactViewBackgroundDrawableUtils : DrawableUtils() {
|
|
|
42
42
|
|
|
43
43
|
@OptIn(UnstableReactNativeAPI::class)
|
|
44
44
|
override fun getReactBackgroundFromDrawable(drawable: Drawable?): Drawable? {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return getReactBackgroundFromDrawable(drawable.drawable)
|
|
45
|
+
return when(drawable) {
|
|
46
|
+
is CSSBackgroundDrawable -> drawable
|
|
47
|
+
is InsetDrawable -> getReactBackgroundFromDrawable(drawable.drawable)
|
|
48
|
+
is LayerDrawable -> getDrawableFromLayerDrawable(drawable)
|
|
49
|
+
else -> null
|
|
51
50
|
}
|
|
51
|
+
}
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
@OptIn(UnstableReactNativeAPI::class)
|
|
54
|
+
private fun getDrawableFromLayerDrawable(layerDrawable: LayerDrawable): Drawable? {
|
|
55
|
+
for (layerNumber in 0 until layerDrawable.numberOfLayers) {
|
|
56
|
+
val layer = layerDrawable.getDrawable(layerNumber)
|
|
57
|
+
if (layer is CSSBackgroundDrawable) {
|
|
58
|
+
return layer
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
|
|
62
61
|
return null
|
|
63
62
|
}
|
|
64
63
|
|
|
@@ -76,7 +75,7 @@ internal class ReactViewBackgroundDrawableUtils : DrawableUtils() {
|
|
|
76
75
|
return reflectionUtils.getDeclaredField(
|
|
77
76
|
backgroundDrawable,
|
|
78
77
|
COLOR_FIELD_NAME
|
|
79
|
-
) as Int
|
|
78
|
+
) as? Int
|
|
80
79
|
}
|
|
81
80
|
|
|
82
81
|
@OptIn(UnstableReactNativeAPI::class)
|
|
@@ -36,23 +36,21 @@ internal class ReactViewBackgroundDrawableUtils() : DrawableUtils() {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
override fun getReactBackgroundFromDrawable(drawable: Drawable?): Drawable? {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
return getReactBackgroundFromDrawable(drawable.drawable)
|
|
39
|
+
return when(drawable) {
|
|
40
|
+
is ReactViewBackgroundDrawable -> drawable
|
|
41
|
+
is InsetDrawable -> getReactBackgroundFromDrawable(drawable.drawable)
|
|
42
|
+
is LayerDrawable -> getDrawableFromLayerDrawable(drawable)
|
|
43
|
+
else -> null
|
|
45
44
|
}
|
|
45
|
+
}
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
47
|
+
private fun getDrawableFromLayerDrawable(layerDrawable: LayerDrawable): Drawable? {
|
|
48
|
+
for (layerNumber in 0 until layerDrawable.numberOfLayers) {
|
|
49
|
+
val layer = layerDrawable.getDrawable(layerNumber)
|
|
50
|
+
if (layer is ReactViewBackgroundDrawable) {
|
|
51
|
+
return layer
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
|
-
|
|
56
54
|
return null
|
|
57
55
|
}
|
|
58
56
|
|
|
@@ -73,12 +71,12 @@ internal class ReactViewBackgroundDrawableUtils() : DrawableUtils() {
|
|
|
73
71
|
val borderRgb = reflectionUtils.getDeclaredField(
|
|
74
72
|
backgroundDrawable,
|
|
75
73
|
BORDER_RGB_FIELD_NAME
|
|
76
|
-
) as Spacing
|
|
74
|
+
) as? Spacing
|
|
77
75
|
|
|
78
76
|
val borderAlpha = reflectionUtils.getDeclaredField(
|
|
79
77
|
backgroundDrawable,
|
|
80
78
|
BORDER_ALPHA_FIELD_NAME
|
|
81
|
-
) as Spacing
|
|
79
|
+
) as? Spacing
|
|
82
80
|
|
|
83
81
|
val rgb = borderRgb?.get(Spacing.ALL) ?: DEFAULT_BORDER_RGB
|
|
84
82
|
val alpha = borderAlpha?.get(Spacing.ALL) ?: DEFAULT_BORDER_ALPHA
|
|
@@ -95,7 +93,7 @@ internal class ReactViewBackgroundDrawableUtils() : DrawableUtils() {
|
|
|
95
93
|
return reflectionUtils.getDeclaredField(
|
|
96
94
|
backgroundDrawable,
|
|
97
95
|
COLOR_FIELD_NAME
|
|
98
|
-
) as Int
|
|
96
|
+
) as? Int
|
|
99
97
|
}
|
|
100
98
|
|
|
101
99
|
private companion object {
|
|
@@ -16,19 +16,45 @@ let SessionReplayPrivacy = exports.SessionReplayPrivacy = /*#__PURE__*/function
|
|
|
16
16
|
return SessionReplayPrivacy;
|
|
17
17
|
}({});
|
|
18
18
|
let ImagePrivacyLevel = exports.ImagePrivacyLevel = /*#__PURE__*/function (ImagePrivacyLevel) {
|
|
19
|
+
/**
|
|
20
|
+
* Only images that are bundled within the application will be recorded.
|
|
21
|
+
*
|
|
22
|
+
* On Android, all images larger than 100x100 dp will be masked, as we consider them non-bundled images.
|
|
23
|
+
*/
|
|
19
24
|
ImagePrivacyLevel["MASK_NON_BUNDLED_ONLY"] = "MASK_NON_BUNDLED_ONLY";
|
|
25
|
+
/**
|
|
26
|
+
* No images will be recorded.
|
|
27
|
+
*/
|
|
20
28
|
ImagePrivacyLevel["MASK_ALL"] = "MASK_ALL";
|
|
29
|
+
/**
|
|
30
|
+
* All images will be recorded, including the ones downloaded from the Internet or generated during the app runtime.
|
|
31
|
+
*/
|
|
21
32
|
ImagePrivacyLevel["MASK_NONE"] = "MASK_NONE";
|
|
22
33
|
return ImagePrivacyLevel;
|
|
23
34
|
}({});
|
|
24
35
|
let TouchPrivacyLevel = exports.TouchPrivacyLevel = /*#__PURE__*/function (TouchPrivacyLevel) {
|
|
36
|
+
/**
|
|
37
|
+
* Show all user touches.
|
|
38
|
+
*/
|
|
25
39
|
TouchPrivacyLevel["SHOW"] = "SHOW";
|
|
40
|
+
/**
|
|
41
|
+
* Hide all user touches.
|
|
42
|
+
*/
|
|
26
43
|
TouchPrivacyLevel["HIDE"] = "HIDE";
|
|
27
44
|
return TouchPrivacyLevel;
|
|
28
45
|
}({});
|
|
29
46
|
let TextAndInputPrivacyLevel = exports.TextAndInputPrivacyLevel = /*#__PURE__*/function (TextAndInputPrivacyLevel) {
|
|
47
|
+
/**
|
|
48
|
+
* Show all texts except sensitive inputs (e.g password fields).
|
|
49
|
+
*/
|
|
30
50
|
TextAndInputPrivacyLevel["MASK_SENSITIVE_INPUTS"] = "MASK_SENSITIVE_INPUTS";
|
|
51
|
+
/**
|
|
52
|
+
* Mask all input fields (e.g text fields, switches, checkboxes).
|
|
53
|
+
*/
|
|
31
54
|
TextAndInputPrivacyLevel["MASK_ALL_INPUTS"] = "MASK_ALL_INPUTS";
|
|
55
|
+
/**
|
|
56
|
+
* Mask all texts and inputs (e.g labels).
|
|
57
|
+
*/
|
|
32
58
|
TextAndInputPrivacyLevel["MASK_ALL"] = "MASK_ALL";
|
|
33
59
|
return TextAndInputPrivacyLevel;
|
|
34
60
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SessionReplayPrivacy","exports","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel","DEFAULTS","replaySampleRate","defaultPrivacyLevel","MASK","customEndpoint","imagePrivacyLevel","MASK_ALL","touchPrivacyLevel","HIDE","textAndInputPrivacyLevel","startRecordingImmediately","SessionReplayWrapper","nativeSessionReplay","require","default","buildConfiguration","configuration","baseConfig","undefined","privacyConfig","MASK_USER_INPUT","MASK_NONE","MASK_ALL_INPUTS","ALLOW","SHOW","MASK_SENSITIVE_INPUTS","enable","startRecording","stopRecording","SessionReplay"],"sourceRoot":"../../src","sources":["SessionReplay.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AAJA,IAQYA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAMpBE,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,0BAAjBA,iBAAiB;
|
|
1
|
+
{"version":3,"names":["SessionReplayPrivacy","exports","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel","DEFAULTS","replaySampleRate","defaultPrivacyLevel","MASK","customEndpoint","imagePrivacyLevel","MASK_ALL","touchPrivacyLevel","HIDE","textAndInputPrivacyLevel","startRecordingImmediately","SessionReplayWrapper","nativeSessionReplay","require","default","buildConfiguration","configuration","baseConfig","undefined","privacyConfig","MASK_USER_INPUT","MASK_NONE","MASK_ALL_INPUTS","ALLOW","SHOW","MASK_SENSITIVE_INPUTS","enable","startRecording","stopRecording","SessionReplay"],"sourceRoot":"../../src","sources":["SessionReplay.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,19 +11,45 @@ export let SessionReplayPrivacy = /*#__PURE__*/function (SessionReplayPrivacy) {
|
|
|
11
11
|
return SessionReplayPrivacy;
|
|
12
12
|
}({});
|
|
13
13
|
export let ImagePrivacyLevel = /*#__PURE__*/function (ImagePrivacyLevel) {
|
|
14
|
+
/**
|
|
15
|
+
* Only images that are bundled within the application will be recorded.
|
|
16
|
+
*
|
|
17
|
+
* On Android, all images larger than 100x100 dp will be masked, as we consider them non-bundled images.
|
|
18
|
+
*/
|
|
14
19
|
ImagePrivacyLevel["MASK_NON_BUNDLED_ONLY"] = "MASK_NON_BUNDLED_ONLY";
|
|
20
|
+
/**
|
|
21
|
+
* No images will be recorded.
|
|
22
|
+
*/
|
|
15
23
|
ImagePrivacyLevel["MASK_ALL"] = "MASK_ALL";
|
|
24
|
+
/**
|
|
25
|
+
* All images will be recorded, including the ones downloaded from the Internet or generated during the app runtime.
|
|
26
|
+
*/
|
|
16
27
|
ImagePrivacyLevel["MASK_NONE"] = "MASK_NONE";
|
|
17
28
|
return ImagePrivacyLevel;
|
|
18
29
|
}({});
|
|
19
30
|
export let TouchPrivacyLevel = /*#__PURE__*/function (TouchPrivacyLevel) {
|
|
31
|
+
/**
|
|
32
|
+
* Show all user touches.
|
|
33
|
+
*/
|
|
20
34
|
TouchPrivacyLevel["SHOW"] = "SHOW";
|
|
35
|
+
/**
|
|
36
|
+
* Hide all user touches.
|
|
37
|
+
*/
|
|
21
38
|
TouchPrivacyLevel["HIDE"] = "HIDE";
|
|
22
39
|
return TouchPrivacyLevel;
|
|
23
40
|
}({});
|
|
24
41
|
export let TextAndInputPrivacyLevel = /*#__PURE__*/function (TextAndInputPrivacyLevel) {
|
|
42
|
+
/**
|
|
43
|
+
* Show all texts except sensitive inputs (e.g password fields).
|
|
44
|
+
*/
|
|
25
45
|
TextAndInputPrivacyLevel["MASK_SENSITIVE_INPUTS"] = "MASK_SENSITIVE_INPUTS";
|
|
46
|
+
/**
|
|
47
|
+
* Mask all input fields (e.g text fields, switches, checkboxes).
|
|
48
|
+
*/
|
|
26
49
|
TextAndInputPrivacyLevel["MASK_ALL_INPUTS"] = "MASK_ALL_INPUTS";
|
|
50
|
+
/**
|
|
51
|
+
* Mask all texts and inputs (e.g labels).
|
|
52
|
+
*/
|
|
27
53
|
TextAndInputPrivacyLevel["MASK_ALL"] = "MASK_ALL";
|
|
28
54
|
return TextAndInputPrivacyLevel;
|
|
29
55
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SessionReplayPrivacy","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel","DEFAULTS","replaySampleRate","defaultPrivacyLevel","MASK","customEndpoint","imagePrivacyLevel","MASK_ALL","touchPrivacyLevel","HIDE","textAndInputPrivacyLevel","startRecordingImmediately","SessionReplayWrapper","nativeSessionReplay","require","default","buildConfiguration","configuration","baseConfig","undefined","privacyConfig","MASK_USER_INPUT","MASK_NONE","MASK_ALL_INPUTS","ALLOW","SHOW","MASK_SENSITIVE_INPUTS","enable","startRecording","stopRecording","SessionReplay"],"sourceRoot":"../../src","sources":["SessionReplay.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAIA,WAAYA,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAMhC,WAAYC,iBAAiB,0BAAjBA,iBAAiB;
|
|
1
|
+
{"version":3,"names":["SessionReplayPrivacy","ImagePrivacyLevel","TouchPrivacyLevel","TextAndInputPrivacyLevel","DEFAULTS","replaySampleRate","defaultPrivacyLevel","MASK","customEndpoint","imagePrivacyLevel","MASK_ALL","touchPrivacyLevel","HIDE","textAndInputPrivacyLevel","startRecordingImmediately","SessionReplayWrapper","nativeSessionReplay","require","default","buildConfiguration","configuration","baseConfig","undefined","privacyConfig","MASK_USER_INPUT","MASK_NONE","MASK_ALL_INPUTS","ALLOW","SHOW","MASK_SENSITIVE_INPUTS","enable","startRecording","stopRecording","SessionReplay"],"sourceRoot":"../../src","sources":["SessionReplay.ts"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datadog/mobile-react-native-session-replay",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "A client-side React Native module to enable session replay with Datadog",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"datadog",
|
|
@@ -90,5 +90,5 @@
|
|
|
90
90
|
"javaPackageName": "com.datadog.reactnative.sessionreplay"
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "c70476391a97ab9f62671426eb9ff1bbddeb5ea8"
|
|
94
94
|
}
|