From d3d6f8692c13f78a411b1881ddb832f9c6264460 Mon Sep 17 00:00:00 2001 From: Antonis Lilis Date: Tue, 31 Mar 2026 10:35:54 +0200 Subject: [PATCH 1/2] feat(core): Track shake to report integration usage Add a lazy-loaded ShakeToReport marker integration to track when the shake-to-report feedback feature is enabled, following the same pattern used by AutoInjectMobileFeedback and other feedback marker integrations. Closes https://github.com/getsentry/sentry-react-native/issues/5897 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../core/src/js/feedback/FeedbackWidgetManager.tsx | 2 ++ .../core/src/js/feedback/FeedbackWidgetProvider.tsx | 2 ++ packages/core/src/js/feedback/lazy.ts | 13 +++++++++++++ 3 files changed, 17 insertions(+) diff --git a/packages/core/src/js/feedback/FeedbackWidgetManager.tsx b/packages/core/src/js/feedback/FeedbackWidgetManager.tsx index 8d03801b98..6292b49c43 100644 --- a/packages/core/src/js/feedback/FeedbackWidgetManager.tsx +++ b/packages/core/src/js/feedback/FeedbackWidgetManager.tsx @@ -5,6 +5,7 @@ import { lazyLoadAutoInjectFeedbackButtonIntegration, lazyLoadAutoInjectFeedbackIntegration, lazyLoadAutoInjectScreenshotButtonIntegration, + lazyLoadShakeToReportIntegration, } from './lazy'; import { startShakeListener, stopShakeListener } from './ShakeToReportBug'; @@ -146,6 +147,7 @@ let _imperativeShakeListenerStarted = false; const enableFeedbackOnShake = (): void => { lazyLoadAutoInjectFeedbackIntegration(); + lazyLoadShakeToReportIntegration(); if (!_imperativeShakeListenerStarted) { _imperativeShakeListenerStarted = startShakeListener(showFeedbackWidget); } diff --git a/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx b/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx index 0b83d7ef9a..1f75259bf9 100644 --- a/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx +++ b/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx @@ -38,6 +38,7 @@ import { isShakeToReportEnabled, } from './integration'; import { ScreenshotButton } from './ScreenshotButton'; +import { lazyLoadShakeToReportIntegration } from './lazy'; import { startShakeListener, stopShakeListener } from './ShakeToReportBug'; import { isModalSupported, isNativeDriverSupportedForColorAnimations } from './utils'; @@ -123,6 +124,7 @@ export class FeedbackWidgetProvider extends React.Component Date: Tue, 31 Mar 2026 10:44:51 +0200 Subject: [PATCH 2/2] Fix lint issue --- packages/core/src/js/feedback/FeedbackWidgetProvider.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx b/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx index 1f75259bf9..599424aed7 100644 --- a/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx +++ b/packages/core/src/js/feedback/FeedbackWidgetProvider.tsx @@ -37,8 +37,8 @@ import { getScreenshotButtonOptions, isShakeToReportEnabled, } from './integration'; -import { ScreenshotButton } from './ScreenshotButton'; import { lazyLoadShakeToReportIntegration } from './lazy'; +import { ScreenshotButton } from './ScreenshotButton'; import { startShakeListener, stopShakeListener } from './ShakeToReportBug'; import { isModalSupported, isNativeDriverSupportedForColorAnimations } from './utils';