From 287b3ad5db6d20c19a134e417e1bb8099e762d74 Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto <5731772+marandaneto@users.noreply.github.com> Date: Wed, 20 Jul 2022 11:27:42 +0200 Subject: [PATCH] Revert "Breadcrumbs should not be duplicated if there is no mechaism on Android" (#940) --- CHANGELOG.md | 1 - dart/lib/src/sentry_client.dart | 9 +++++---- dart/test/sentry_client_test.dart | 22 ---------------------- 3 files changed, 5 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69215c5fc..ddb6bb3d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,6 @@ ### Fixes -* Breadcrumbs should not be duplicated if there is no mechanism on Android ([#936](https://github.com/getsentry/sentry-dart/pull/936)) * Maps with Key Object, Object would fail during serialization if not String, Object ([#935](https://github.com/getsentry/sentry-dart/pull/935)) ### Features diff --git a/dart/lib/src/sentry_client.dart b/dart/lib/src/sentry_client.dart index 5720fbb24..4d116f9e0 100644 --- a/dart/lib/src/sentry_client.dart +++ b/dart/lib/src/sentry_client.dart @@ -378,11 +378,12 @@ class SentryClient { } SentryEvent _eventWithRemovedBreadcrumbsIfHandled(SentryEvent event) { - final foundNotHandled = event.exceptions - ?.any((element) => element.mechanism?.handled == false) ?? - false; + final exceptions = event.exceptions ?? []; + final handled = exceptions.isNotEmpty + ? exceptions.first.mechanism?.handled == true + : false; - if (!foundNotHandled) { + if (handled) { return event.copyWith(breadcrumbs: []); } else { return event; diff --git a/dart/test/sentry_client_test.dart b/dart/test/sentry_client_test.dart index e676d9122..8bd7c06b4 100644 --- a/dart/test/sentry_client_test.dart +++ b/dart/test/sentry_client_test.dart @@ -898,28 +898,6 @@ void main() { expect((capturedEvent.breadcrumbs ?? []).isEmpty, true); }); - test('Clears breadcrumbs on Android if theres no mechanism', () async { - fixture.options.enableScopeSync = true; - fixture.options.platformChecker = - MockPlatformChecker(platform: MockPlatform.android()); - - final client = fixture.getSut(); - final event = SentryEvent(exceptions: [ - SentryException( - type: "type", - value: "value", - ) - ], breadcrumbs: [ - Breadcrumb() - ]); - await client.captureEvent(event); - - final capturedEnvelope = (fixture.transport).envelopes.first; - final capturedEvent = await eventFromEnvelope(capturedEnvelope); - - expect((capturedEvent.breadcrumbs ?? []).isEmpty, true); - }); - test('Does not clear breadcrumbs on Android if mechanism.handled is false', () async { fixture.options.enableScopeSync = true;