diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c079c5ee6..ece4de09d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Features + +- feat: Adds `attachScreenshot` option ([#2373](https://github.com/getsentry/sentry-react-native/pull/2373)) + ## 4.1.3 fix: Solve reference to private cocoa SDK class #2369 diff --git a/android/src/main/java/io/sentry/react/RNSentryModule.java b/android/src/main/java/io/sentry/react/RNSentryModule.java index 8820ea33fb..88a1299a4c 100644 --- a/android/src/main/java/io/sentry/react/RNSentryModule.java +++ b/android/src/main/java/io/sentry/react/RNSentryModule.java @@ -133,6 +133,9 @@ public void initNativeSdk(final ReadableMap rnOptions, Promise promise) { // by default we hide. options.setAttachThreads(rnOptions.getBoolean("attachThreads")); } + if (rnOptions.hasKey("attachScreenshot")) { + options.setAttachScreenshot(rnOptions.getBoolean("attachScreenshot")); + } if (rnOptions.hasKey("sendDefaultPii")) { options.setSendDefaultPii(rnOptions.getBoolean("sendDefaultPii")); } diff --git a/sample/src/App.tsx b/sample/src/App.tsx index 39526d01a4..d9d1cd5762 100644 --- a/sample/src/App.tsx +++ b/sample/src/App.tsx @@ -62,6 +62,8 @@ Sentry.init({ // release: 'myapp@1.2.3+1', // dist: `1`, attachStacktrace: true, + // Attach screenshots to events. + attachScreenshot: true, }); const Stack = createStackNavigator(); diff --git a/src/js/options.ts b/src/js/options.ts index bb9f5b934c..2d2eea6d60 100644 --- a/src/js/options.ts +++ b/src/js/options.ts @@ -93,11 +93,18 @@ export interface BaseReactNativeOptions { patchGlobalPromise?: boolean; /** - * The max cache items for capping the number of envelopes. - * - * @default 30 - */ + * The max cache items for capping the number of envelopes. + * + * @default 30 + */ maxCacheItems?: number; + + /** + * When enabled and a user experiences an error, Sentry provides the ability to take a screenshot and include it as an attachment. + * + * @default false + */ + attachScreenshot?: boolean; } /**