diff --git a/CHANGELOG.md b/CHANGELOG.md index fb95b51cb8..8fb497d629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ * Bump: sentry-android to v4.3.0 (#343) * Fix: Multiple FlutterError.onError calls in FlutterErrorIntegration (#345) +* Fix: Pass hint to EventProcessors (#356) * Fix: EventProcessors were not dropping events when returning null (#353) # 4.1.0-nullsafety.0 diff --git a/dart/lib/src/sentry_client.dart b/dart/lib/src/sentry_client.dart index 472effd40a..1f37c71910 100644 --- a/dart/lib/src/sentry_client.dart +++ b/dart/lib/src/sentry_client.dart @@ -72,6 +72,7 @@ class SentryClient { preparedEvent = await _processEvent( preparedEvent, eventProcessors: _options.eventProcessors, + hint: hint, ); // dropped by event processors diff --git a/dart/test/sentry_client_test.dart b/dart/test/sentry_client_test.dart index 2be85ffc9c..5a8c0c533d 100644 --- a/dart/test/sentry_client_test.dart +++ b/dart/test/sentry_client_test.dart @@ -508,6 +508,22 @@ void main() { expect(event.fingerprint!.contains('process'), true); }); + test('should pass hint to eventProcessors', () async { + final myHint = 'hint'; + var executed = false; + + options.addEventProcessor((event, {hint}) { + expect(myHint, hint); + executed = true; + return event; + }); + final client = SentryClient(options); + + await client.captureEvent(fakeEvent, hint: myHint); + + expect(executed, true); + }); + test('event processor drops the event', () async { options.addEventProcessor(eventProcessorDropEvent); final client = SentryClient(options);