@sentry/react-native 7.4.0 → 7.6.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.
Files changed (73) hide show
  1. package/README.md +2 -1
  2. package/RNSentry.podspec +2 -2
  3. package/android/build.gradle +1 -1
  4. package/android/libs/replay-stubs.jar +0 -0
  5. package/android/replay-stubs/build.gradle +1 -1
  6. package/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java +70 -13
  7. package/android/src/main/java/io/sentry/react/RNSentryVersion.java +1 -1
  8. package/android/src/main/java/io/sentry/react/replay/RNSentryReplayFragmentLifecycleTracer.java +137 -0
  9. package/dist/js/NativeRNSentry.d.ts +0 -1
  10. package/dist/js/NativeRNSentry.d.ts.map +1 -1
  11. package/dist/js/NativeRNSentry.js.map +1 -1
  12. package/dist/js/RNSentryReplayMaskNativeComponent.js +1 -1
  13. package/dist/js/RNSentryReplayMaskNativeComponent.js.map +1 -1
  14. package/dist/js/RNSentryReplayUnmaskNativeComponent.js +1 -1
  15. package/dist/js/RNSentryReplayUnmaskNativeComponent.js.map +1 -1
  16. package/dist/js/integrations/exports.d.ts +2 -0
  17. package/dist/js/integrations/exports.d.ts.map +1 -1
  18. package/dist/js/integrations/exports.js +2 -0
  19. package/dist/js/integrations/exports.js.map +1 -1
  20. package/dist/js/integrations/graphql.d.ts +11 -0
  21. package/dist/js/integrations/graphql.d.ts.map +1 -0
  22. package/dist/js/integrations/graphql.js +9 -0
  23. package/dist/js/integrations/graphql.js.map +1 -0
  24. package/dist/js/integrations/supabase.d.ts +12 -0
  25. package/dist/js/integrations/supabase.d.ts.map +1 -0
  26. package/dist/js/integrations/supabase.js +10 -0
  27. package/dist/js/integrations/supabase.js.map +1 -0
  28. package/dist/js/options.d.ts +12 -1
  29. package/dist/js/options.d.ts.map +1 -1
  30. package/dist/js/options.js.map +1 -1
  31. package/dist/js/replay/mobilereplay.d.ts +22 -0
  32. package/dist/js/replay/mobilereplay.d.ts.map +1 -1
  33. package/dist/js/replay/mobilereplay.js +1 -0
  34. package/dist/js/replay/mobilereplay.js.map +1 -1
  35. package/dist/js/replay/networkUtils.d.ts +0 -1
  36. package/dist/js/replay/networkUtils.d.ts.map +1 -1
  37. package/dist/js/tools/sentryMetroSerializer.d.ts.map +1 -1
  38. package/dist/js/tools/sentryMetroSerializer.js +12 -2
  39. package/dist/js/tools/sentryMetroSerializer.js.map +1 -1
  40. package/dist/js/tracing/timetodisplaynative.types.d.ts +0 -1
  41. package/dist/js/tracing/timetodisplaynative.types.d.ts.map +1 -1
  42. package/dist/js/vendor/react-native/index.d.ts +0 -1
  43. package/dist/js/vendor/react-native/index.d.ts.map +1 -1
  44. package/dist/js/version.d.ts +1 -1
  45. package/dist/js/version.js +1 -1
  46. package/dist/js/version.js.map +1 -1
  47. package/dist/js/wrapper.d.ts.map +1 -1
  48. package/dist/js/wrapper.js +2 -3
  49. package/dist/js/wrapper.js.map +1 -1
  50. package/ios/RNSentry+fetchNativeStack.m +0 -10
  51. package/ios/RNSentry.h +1 -3
  52. package/ios/RNSentry.mm +81 -161
  53. package/ios/RNSentryDependencyContainer.m +1 -1
  54. package/ios/RNSentryOnDrawReporter.m +1 -2
  55. package/ios/RNSentryVersion.m +1 -1
  56. package/ios/SentrySDKWrapper.h +16 -0
  57. package/ios/SentrySDKWrapper.m +135 -0
  58. package/package.json +19 -17
  59. package/plugin/build/withSentryAndroidGradlePlugin.d.ts +1 -1
  60. package/plugin/build/withSentryAndroidGradlePlugin.js +1 -1
  61. package/src/js/NativeRNSentry.ts +0 -1
  62. package/src/js/RNSentryReplayMaskNativeComponent.ts +1 -1
  63. package/src/js/RNSentryReplayUnmaskNativeComponent.ts +1 -1
  64. package/ts3.8/dist/js/NativeRNSentry.d.ts +0 -1
  65. package/ts3.8/dist/js/integrations/exports.d.ts +2 -0
  66. package/ts3.8/dist/js/integrations/graphql.d.ts +11 -0
  67. package/ts3.8/dist/js/integrations/supabase.d.ts +12 -0
  68. package/ts3.8/dist/js/options.d.ts +12 -1
  69. package/ts3.8/dist/js/replay/mobilereplay.d.ts +22 -0
  70. package/ts3.8/dist/js/replay/networkUtils.d.ts +0 -1
  71. package/ts3.8/dist/js/tracing/timetodisplaynative.types.d.ts +0 -1
  72. package/ts3.8/dist/js/vendor/react-native/index.d.ts +0 -1
  73. package/ts3.8/dist/js/version.d.ts +1 -1
@@ -25,5 +25,7 @@ export { timeToDisplayIntegration } from '../tracing/integrations/timeToDisplayI
25
25
  export { breadcrumbsIntegration } from './breadcrumbs';
26
26
  export { primitiveTagIntegration } from './primitiveTagIntegration';
27
27
  export { logEnricherIntegration } from './logEnricherIntegration';
28
+ export { graphqlIntegration } from './graphql';
29
+ export { supabaseIntegration } from './supabase';
28
30
  export { browserApiErrorsIntegration, dedupeIntegration, functionToStringIntegration, globalHandlersIntegration as browserGlobalHandlersIntegration, httpClientIntegration, httpContextIntegration, inboundFiltersIntegration, linkedErrorsIntegration as browserLinkedErrorsIntegration, rewriteFramesIntegration, extraErrorDataIntegration, } from '@sentry/react';
29
31
  //# sourceMappingURL=exports.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { Integration } from '@sentry/core';
2
+ interface GraphQLReactNativeIntegrationOptions {
3
+ endpoints: Array<string | RegExp>;
4
+ }
5
+ /**
6
+ * This integration ensures that GraphQL requests made in the React Native apps
7
+ * have their GraphQL-specific data captured and attached to spans and breadcrumbs.
8
+ */
9
+ export declare function graphqlIntegration(options: GraphQLReactNativeIntegrationOptions): Integration;
10
+ export {};
11
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { Integration } from '@sentry/core';
2
+ type SupabaseReactNativeIntegrationOptions = {
3
+ supabaseClient: unknown;
4
+ };
5
+ /**
6
+ * Use this integration to instrument your Supabase client.
7
+ *
8
+ * Learn more about Supabase at https://supabase.com
9
+ */
10
+ export declare function supabaseIntegration(options: SupabaseReactNativeIntegrationOptions): Integration;
11
+ export {};
12
+ //# sourceMappingURL=supabase.d.ts.map
@@ -41,13 +41,20 @@ export interface BaseReactNativeOptions {
41
41
  /** Enable NDK on Android
42
42
  *
43
43
  * @default true
44
+ * @platform android
44
45
  */
45
46
  enableNdk?: boolean;
46
47
  /** Enable scope sync from Java to NDK on Android
47
48
  * Only has an effect if `enableNdk` is `true`.
49
+ *
50
+ * @platform android
48
51
  */
49
52
  enableNdkScopeSync?: boolean;
50
- /** When enabled, all the threads are automatically attached to all logged events on Android */
53
+ /**
54
+ * When enabled, all the threads are automatically attached to all logged events on Android
55
+ *
56
+ * @platform android
57
+ */
51
58
  attachThreads?: boolean;
52
59
  /**
53
60
  * When enabled, certain personally identifiable information (PII) is added by active integrations.
@@ -72,6 +79,7 @@ export interface BaseReactNativeOptions {
72
79
  * Renamed from `enableOutOfMemoryTracking` in v5.
73
80
  *
74
81
  * @default true
82
+ * @platform ios
75
83
  */
76
84
  enableWatchdogTerminationTracking?: boolean;
77
85
  /**
@@ -102,6 +110,7 @@ export interface BaseReactNativeOptions {
102
110
  * iOS only
103
111
  *
104
112
  * @default true
113
+ * @platform ios
105
114
  */
106
115
  enableAppHangTracking?: boolean;
107
116
  /**
@@ -113,6 +122,7 @@ export interface BaseReactNativeOptions {
113
122
  * iOS only
114
123
  *
115
124
  * @default 2
125
+ * @platform ios
116
126
  */
117
127
  appHangTimeoutInterval?: number;
118
128
  /**
@@ -239,6 +249,7 @@ export interface BaseReactNativeOptions {
239
249
  * - Note: The mechanism of hooking into `__cxa_throw` could cause issues with symbolication on iOS due to caching of symbol references.
240
250
  *
241
251
  * @default false
252
+ * @platform ios
242
253
  */
243
254
  enableUnhandledCPPExceptionsV2?: boolean;
244
255
  };
@@ -1,5 +1,12 @@
1
1
  import type { Integration } from '@sentry/core';
2
2
  export declare const MOBILE_REPLAY_INTEGRATION_NAME = "MobileReplay";
3
+ /**
4
+ * Screenshot strategy type for Android Session Replay.
5
+ *
6
+ * - `'canvas'`: Canvas-based screenshot strategy. This strategy does **not** support any masking options, it always masks text and images. Use this if your application has strict PII requirements.
7
+ * - `'pixelCopy'`: Pixel copy screenshot strategy (default). Supports all masking options.
8
+ */
9
+ export type ScreenshotStrategy = 'canvas' | 'pixelCopy';
3
10
  export interface MobileReplayOptions {
4
11
  /**
5
12
  * Mask all text in recordings
@@ -29,6 +36,7 @@ export interface MobileReplayOptions {
29
36
  * - Experiment: This is an experimental feature and is therefore disabled by default.
30
37
  *
31
38
  * @deprecated Use `enableViewRendererV2` instead.
39
+ * @platform ios
32
40
  */
33
41
  enableExperimentalViewRenderer?: boolean;
34
42
  /**
@@ -42,6 +50,7 @@ export interface MobileReplayOptions {
42
50
  * Eventually, we will remove this feature flag and use the new view renderer by default.
43
51
  *
44
52
  * @default true
53
+ * @platform ios
45
54
  */
46
55
  enableViewRendererV2?: boolean;
47
56
  /**
@@ -54,8 +63,21 @@ export interface MobileReplayOptions {
54
63
  * - Experiment: This is an experimental feature and is therefore disabled by default.
55
64
  *
56
65
  * @default false
66
+ * @platform ios
57
67
  */
58
68
  enableFastViewRendering?: boolean;
69
+ /**
70
+ * Sets the screenshot strategy used by the Session Replay integration on Android.
71
+ *
72
+ * If your application has strict PII requirements we recommend using `'canvas'`.
73
+ * This strategy does **not** support any masking options, it always masks text and images.
74
+ *
75
+ * - Experiment: In case you are noticing issues with the canvas screenshot strategy, please report the issue on [GitHub](https://github.com/getsentry/sentry-java).
76
+ *
77
+ * @default 'pixelCopy'
78
+ * @platform android
79
+ */
80
+ screenshotStrategy?: ScreenshotStrategy;
59
81
  }
60
82
  type MobileReplayIntegration = Integration & {
61
83
  options: Required<MobileReplayOptions>;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react-native" />
2
- /// <reference types="react" />
3
2
  /** Convert a Content-Length header to number/undefined. */
4
3
  export declare function parseContentLengthHeader(header: string | null | undefined): number | undefined;
5
4
  export type RequestBody = null | Blob | FormData | URLSearchParams | string | ArrayBuffer | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface RNSentryOnDrawNextFrameEvent {
3
2
  newFrameTimestampInSeconds: number;
4
3
  type: 'initialDisplay' | 'fullDisplay';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type StackFrame = {
3
2
  column?: number;
4
3
  file?: string;
@@ -1,4 +1,4 @@
1
1
  export declare const SDK_PACKAGE_NAME = "npm:@sentry/react-native";
2
2
  export declare const SDK_NAME = "sentry.javascript.react-native";
3
- export declare const SDK_VERSION = "7.4.0";
3
+ export declare const SDK_VERSION = "7.6.0";
4
4
  //# sourceMappingURL=version.d.ts.map