@sentry/react-native 5.35.0 → 5.36.0
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/CHANGELOG.md +17 -0
- package/RNSentry.podspec +1 -1
- package/android/build.gradle +1 -1
- package/dist/js/integrations/default.d.ts.map +1 -1
- package/dist/js/integrations/default.js +6 -2
- package/dist/js/integrations/default.js.map +1 -1
- package/dist/js/version.d.ts +1 -1
- package/dist/js/version.js +1 -1
- package/dist/js/version.js.map +1 -1
- package/ios/RNSentryReplay.m +9 -22
- package/package.json +1 -1
- package/ts3.8/dist/js/version.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.36.0
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
|
|
7
|
+
- Replay `maskAll*` set to `false` on iOS kept all masked ([#4257](https://github.com/getsentry/sentry-react-native/pull/4257), [#4309](https://github.com/getsentry/sentry-react-native/pull/4309))
|
|
8
|
+
- `browserReplayIntegration` is no longer included by default on React Native Web ([#4270](https://github.com/getsentry/sentry-react-native/pull/4270), [#4308](https://github.com/getsentry/sentry-react-native/pull/4308))
|
|
9
|
+
- Fix Replay redacting of RN Classes on iOS ([#4243](https://github.com/getsentry/sentry-react-native/pull/4243), [#4309](https://github.com/getsentry/sentry-react-native/pull/4309))
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
- Bump Cocoa SDK from v8.37.0 to v8.41.0 ([#4309](https://github.com/getsentry/sentry-react-native/pull/4309))
|
|
14
|
+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8410)
|
|
15
|
+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.37.0...8.41.0)
|
|
16
|
+
- Bump Android SDK from v7.15.0 to v7.18.1 ([#4340](https://github.com/getsentry/sentry-react-native/pull/4340))
|
|
17
|
+
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#7181)
|
|
18
|
+
- [diff](https://github.com/getsentry/sentry-java/compare/7.15.0...7.18.1)
|
|
19
|
+
|
|
3
20
|
## 5.35.0
|
|
4
21
|
|
|
5
22
|
### Fixes
|
package/RNSentry.podspec
CHANGED
|
@@ -37,7 +37,7 @@ Pod::Spec.new do |s|
|
|
|
37
37
|
|
|
38
38
|
s.compiler_flags = other_cflags
|
|
39
39
|
|
|
40
|
-
s.dependency 'Sentry/HybridSDK', '8.
|
|
40
|
+
s.dependency 'Sentry/HybridSDK', '8.41.0'
|
|
41
41
|
|
|
42
42
|
if defined? install_modules_dependencies
|
|
43
43
|
# Default React Native dependencies for 0.71 and above (new and legacy architecture)
|
package/android/build.gradle
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/js/integrations/default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/js/integrations/default.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AA+B3D;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW,EAAE,CA0FvF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNativeTracing } from '../tracing';
|
|
2
2
|
import { isExpoGo, notWeb } from '../utils/environment';
|
|
3
|
-
import { breadcrumbsIntegration, browserApiErrorsIntegration, browserGlobalHandlersIntegration, browserLinkedErrorsIntegration,
|
|
3
|
+
import { breadcrumbsIntegration, browserApiErrorsIntegration, browserGlobalHandlersIntegration, browserLinkedErrorsIntegration, debugSymbolicatorIntegration, dedupeIntegration, deviceContextIntegration, eventOriginIntegration, expoContextIntegration, functionToStringIntegration, hermesProfilingIntegration, httpClientIntegration, httpContextIntegration, inboundFiltersIntegration, mobileReplayIntegration, modulesLoaderIntegration, nativeLinkedErrorsIntegration, nativeReleaseIntegration, reactNativeErrorHandlersIntegration, reactNativeInfoIntegration, screenshotIntegration, sdkInfoIntegration, spotlightIntegration, viewHierarchyIntegration, } from './exports';
|
|
4
4
|
import { createReactNativeRewriteFrames } from './rewriteframes';
|
|
5
5
|
/**
|
|
6
6
|
* Returns the default ReactNative integrations based on the current environment.
|
|
@@ -72,11 +72,15 @@ export function getDefaultIntegrations(options) {
|
|
|
72
72
|
}
|
|
73
73
|
if ((options._experiments && typeof options._experiments.replaysOnErrorSampleRate === 'number') ||
|
|
74
74
|
(options._experiments && typeof options._experiments.replaysSessionSampleRate === 'number')) {
|
|
75
|
-
integrations.push(notWeb() ? mobileReplayIntegration() : browserReplayIntegration());
|
|
76
75
|
if (!notWeb()) {
|
|
76
|
+
// We can't create and add browserReplayIntegration as it overrides the users supplied one
|
|
77
|
+
// The browser replay integration works differently than the rest of default integrations
|
|
77
78
|
options.replaysOnErrorSampleRate = options._experiments.replaysOnErrorSampleRate;
|
|
78
79
|
options.replaysSessionSampleRate = options._experiments.replaysSessionSampleRate;
|
|
79
80
|
}
|
|
81
|
+
else {
|
|
82
|
+
integrations.push(mobileReplayIntegration());
|
|
83
|
+
}
|
|
80
84
|
}
|
|
81
85
|
return integrations;
|
|
82
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/js/integrations/default.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/js/integrations/default.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable complexity */\nimport type { BrowserOptions } from '@sentry/react';\nimport type { Integration } from '@sentry/types';\n\nimport type { ReactNativeClientOptions } from '../options';\nimport { ReactNativeTracing } from '../tracing';\nimport { isExpoGo, notWeb } from '../utils/environment';\nimport {\n breadcrumbsIntegration,\n browserApiErrorsIntegration,\n browserGlobalHandlersIntegration,\n browserLinkedErrorsIntegration,\n debugSymbolicatorIntegration,\n dedupeIntegration,\n deviceContextIntegration,\n eventOriginIntegration,\n expoContextIntegration,\n functionToStringIntegration,\n hermesProfilingIntegration,\n httpClientIntegration,\n httpContextIntegration,\n inboundFiltersIntegration,\n mobileReplayIntegration,\n modulesLoaderIntegration,\n nativeLinkedErrorsIntegration,\n nativeReleaseIntegration,\n reactNativeErrorHandlersIntegration,\n reactNativeInfoIntegration,\n screenshotIntegration,\n sdkInfoIntegration,\n spotlightIntegration,\n viewHierarchyIntegration,\n} from './exports';\nimport { createReactNativeRewriteFrames } from './rewriteframes';\n\n/**\n * Returns the default ReactNative integrations based on the current environment.\n *\n * Native integrations are only returned when native is enabled.\n *\n * Web integrations are only returned when running on web.\n */\nexport function getDefaultIntegrations(options: ReactNativeClientOptions): Integration[] {\n const integrations: Integration[] = [];\n\n if (notWeb()) {\n integrations.push(\n reactNativeErrorHandlersIntegration({\n patchGlobalPromise: options.patchGlobalPromise,\n }),\n );\n integrations.push(nativeLinkedErrorsIntegration());\n } else {\n integrations.push(browserApiErrorsIntegration());\n integrations.push(browserGlobalHandlersIntegration());\n integrations.push(browserLinkedErrorsIntegration());\n }\n\n // @sentry/react default integrations\n integrations.push(inboundFiltersIntegration());\n integrations.push(functionToStringIntegration());\n integrations.push(breadcrumbsIntegration());\n integrations.push(dedupeIntegration());\n integrations.push(httpContextIntegration());\n // end @sentry/react-native default integrations\n\n integrations.push(nativeReleaseIntegration());\n integrations.push(eventOriginIntegration());\n integrations.push(sdkInfoIntegration());\n integrations.push(reactNativeInfoIntegration());\n\n if (__DEV__ && notWeb()) {\n integrations.push(debugSymbolicatorIntegration());\n }\n\n integrations.push(createReactNativeRewriteFrames());\n\n if (options.enableNative) {\n integrations.push(deviceContextIntegration());\n integrations.push(modulesLoaderIntegration());\n if (options.attachScreenshot) {\n integrations.push(screenshotIntegration());\n }\n if (options.attachViewHierarchy) {\n integrations.push(viewHierarchyIntegration());\n }\n if (\n options.profilesSampleRate ??\n (options._experiments && typeof options._experiments.profilesSampleRate === 'number')\n ) {\n integrations.push(hermesProfilingIntegration());\n }\n }\n\n // hasTracingEnabled from `@sentry/core` only check if tracesSampler or tracesSampleRate keys are present\n // that's different from prev imp here and might lead misconfiguration\n // `tracesSampleRate: undefined` should not enable tracing\n const hasTracingEnabled =\n options.enableTracing ||\n typeof options.tracesSampleRate === 'number' ||\n typeof options.tracesSampler === 'function';\n if (hasTracingEnabled && options.enableAutoPerformanceTracing) {\n integrations.push(new ReactNativeTracing());\n }\n if (options.enableCaptureFailedRequests) {\n integrations.push(httpClientIntegration());\n }\n\n if (isExpoGo()) {\n integrations.push(expoContextIntegration());\n }\n\n if (options.spotlight || options.enableSpotlight) {\n const sidecarUrl = (typeof options.spotlight === 'string' && options.spotlight) || options.spotlightSidecarUrl;\n integrations.push(spotlightIntegration({ sidecarUrl }));\n }\n\n if (\n (options._experiments && typeof options._experiments.replaysOnErrorSampleRate === 'number') ||\n (options._experiments && typeof options._experiments.replaysSessionSampleRate === 'number')\n ) {\n if (!notWeb()) {\n // We can't create and add browserReplayIntegration as it overrides the users supplied one\n // The browser replay integration works differently than the rest of default integrations\n (options as BrowserOptions).replaysOnErrorSampleRate = options._experiments.replaysOnErrorSampleRate;\n (options as BrowserOptions).replaysSessionSampleRate = options._experiments.replaysSessionSampleRate;\n } else {\n integrations.push(mobileReplayIntegration());\n }\n }\n\n return integrations;\n}\n"]}
|
package/dist/js/version.d.ts
CHANGED
package/dist/js/version.js
CHANGED
package/dist/js/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/js/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC","sourcesContent":["export const SDK_PACKAGE_NAME = 'npm:@sentry/react-native';\nexport const SDK_NAME = 'sentry.javascript.react-native';\nexport const SDK_VERSION = '5.
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/js/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAG,gCAAgC,CAAC;AACzD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC","sourcesContent":["export const SDK_PACKAGE_NAME = 'npm:@sentry/react-native';\nexport const SDK_NAME = 'sentry.javascript.react-native';\nexport const SDK_VERSION = '5.36.0';\n"]}
|
package/ios/RNSentryReplay.m
CHANGED
|
@@ -29,40 +29,27 @@
|
|
|
29
29
|
?: [NSNull null],
|
|
30
30
|
@"errorSampleRate" : experiments[@"replaysOnErrorSampleRate"]
|
|
31
31
|
?: [NSNull null],
|
|
32
|
-
@"
|
|
33
|
-
@"
|
|
32
|
+
@"maskAllImages" : replayOptions[@"maskAllImages"] ?: [NSNull null],
|
|
33
|
+
@"maskAllText" : replayOptions[@"maskAllText"] ?: [NSNull null],
|
|
34
|
+
@"maskedViewClasses" : [RNSentryReplay getReplayRNRedactClasses:replayOptions],
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
forKey:@"experimental"];
|
|
37
|
-
|
|
38
|
-
[RNSentryReplay addReplayRNRedactClasses:replayOptions];
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
+ (
|
|
40
|
+
+ (NSArray *_Nonnull)getReplayRNRedactClasses:(NSDictionary *_Nullable)replayOptions {
|
|
42
41
|
NSMutableArray *_Nonnull classesToRedact = [[NSMutableArray alloc] init];
|
|
43
42
|
if ([replayOptions[@"maskAllVectors"] boolValue] == YES) {
|
|
44
|
-
|
|
45
|
-
if (maybeRNSVGViewClass != nil) {
|
|
46
|
-
[classesToRedact addObject:maybeRNSVGViewClass];
|
|
47
|
-
}
|
|
43
|
+
[classesToRedact addObject:@"RNSVGSvgView"];
|
|
48
44
|
}
|
|
49
45
|
if ([replayOptions[@"maskAllImages"] boolValue] == YES) {
|
|
50
|
-
|
|
51
|
-
if (maybeRCTImageClass != nil) {
|
|
52
|
-
[classesToRedact addObject:maybeRCTImageClass];
|
|
53
|
-
}
|
|
46
|
+
[classesToRedact addObject:@"RCTImageView"];
|
|
54
47
|
}
|
|
55
48
|
if ([replayOptions[@"maskAllText"] boolValue] == YES) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
[classesToRedact addObject:maybeRCTTextClass];
|
|
59
|
-
}
|
|
60
|
-
Class _Nullable maybeRCTParagraphComponentViewClass = NSClassFromString(@"RCTParagraphComponentView");
|
|
61
|
-
if (maybeRCTParagraphComponentViewClass != nil) {
|
|
62
|
-
[classesToRedact addObject:maybeRCTParagraphComponentViewClass];
|
|
63
|
-
}
|
|
49
|
+
[classesToRedact addObject:@"RCTTextView"];
|
|
50
|
+
[classesToRedact addObject:@"RCTParagraphComponentView"];
|
|
64
51
|
}
|
|
65
|
-
|
|
52
|
+
return classesToRedact;
|
|
66
53
|
}
|
|
67
54
|
|
|
68
55
|
+ (void)postInit {
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@sentry/react-native",
|
|
3
3
|
"homepage": "https://github.com/getsentry/sentry-react-native",
|
|
4
4
|
"repository": "https://github.com/getsentry/sentry-react-native",
|
|
5
|
-
"version": "5.
|
|
5
|
+
"version": "5.36.0",
|
|
6
6
|
"description": "Official Sentry SDK for react-native",
|
|
7
7
|
"typings": "dist/js/index.d.ts",
|
|
8
8
|
"types": "dist/js/index.d.ts",
|