From 9a1d85321eff49f9135408f898d1f6228e2fa2b1 Mon Sep 17 00:00:00 2001 From: Enno Gelhaus Date: Thu, 18 Sep 2025 20:28:51 +0200 Subject: [PATCH 1/3] Increase profileSessionSampleRate for production --- libraries/nestjs-libraries/src/sentry/initialize.sentry.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/nestjs-libraries/src/sentry/initialize.sentry.ts b/libraries/nestjs-libraries/src/sentry/initialize.sentry.ts index c79f407c..2e07fb35 100644 --- a/libraries/nestjs-libraries/src/sentry/initialize.sentry.ts +++ b/libraries/nestjs-libraries/src/sentry/initialize.sentry.ts @@ -35,7 +35,7 @@ export const initializeSentry = (appName: string, allowLogs = false) => { enableLogs: true, // Profiling - profileSessionSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.35, + profileSessionSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.45, profileLifecycle: 'trace', }); } catch (err) { From 6b4fa0763d6a8a322ccc5c4f9ca966a90c849bde Mon Sep 17 00:00:00 2001 From: Enno Gelhaus Date: Thu, 18 Sep 2025 20:29:05 +0200 Subject: [PATCH 2/3] Adjust profilesSampleRate for production environment --- .../src/sentry/initialize.sentry.client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts b/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts index d336cc85..549c250c 100644 --- a/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts +++ b/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts @@ -19,5 +19,5 @@ export const initializeSentryClient = (environment: string, dsn: string) => replaysSessionSampleRate: environment === 'development' ? 1.0 : 0.5, replaysOnErrorSampleRate: 1.0, - profilesSampleRate: environment === 'development' ? 1.0 : 0.2, + profilesSampleRate: environment === 'development' ? 1.0 : 0.45, }); From 015be12bca1a13b5b815a6941d64019e9d864879 Mon Sep 17 00:00:00 2001 From: Enno Gelhaus Date: Fri, 19 Sep 2025 17:36:51 +0200 Subject: [PATCH 3/3] Implement event filtering and user feedback modal --- .../sentry/initialize.sentry.next.basic.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts b/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts index 8f5675d0..bf6fa66e 100644 --- a/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts +++ b/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts @@ -26,6 +26,26 @@ export const initializeSentryBasic = (environment: string, dsn: string, extensio ...extension, debug: environment === 'development', tracesSampleRate: environment === 'development' ? 1.0 : 0.3, + + // Filtert Events und zeigt das User-Feedback-Modal an + beforeSend(event, hint) { + if (event.exception && event.exception.values) { + for (const exception of event.exception.values) { + // Filtert "Failed to fetch" Fehler heraus + if (exception.value && /Failed to fetch/.test(exception.value)) { + return null; // Verwirft den Event + } + } + } + + // Wenn der Event eine Ausnahme ist und nicht gefiltert wurde, + // wird das User-Feedback-Modal angezeigt + if (event.exception && event.event_id) { + Sentry.showReportDialog({ eventId: event.event_id }); + } + + return event; // Sendet den Event an Sentry + }, }); } catch (err) {} };