diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d788677e..e3017627d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +### Fixes + +* Scope.clone incorrectly accesses tags ([#978](https://github.com/getsentry/sentry-dart/pull/978)) +* beforeBreadcrumb was not adding the mutated breadcrumb ([#982](https://github.com/getsentry/sentry-dart/pull/982)) + ### Features - Bump Cocoa SDK to v7.23.0 ([#968](https://github.com/getsentry/sentry-dart/pull/968)) diff --git a/dart/lib/src/scope.dart b/dart/lib/src/scope.dart index e4a9c96e6..9c6eedda4 100644 --- a/dart/lib/src/scope.dart +++ b/dart/lib/src/scope.dart @@ -194,7 +194,7 @@ class Scope { _breadcrumbs.removeFirst(); } - _breadcrumbs.add(breadcrumb); + _breadcrumbs.add(processedBreadcrumb); return true; } diff --git a/dart/test/http_client/tracing_client_test.dart b/dart/test/http_client/tracing_client_test.dart index 8e724d3e9..163629dbd 100644 --- a/dart/test/http_client/tracing_client_test.dart +++ b/dart/test/http_client/tracing_client_test.dart @@ -154,7 +154,7 @@ class Fixture { MockClient getClient({int statusCode = 200, String? reason}) { return MockClient((request) async { expect(request.url, requestUri); - return Response('', statusCode, reasonPhrase: reason); + return Response('', statusCode, reasonPhrase: reason, request: request); }); } } diff --git a/dart/test/scope_test.dart b/dart/test/scope_test.dart index af23745f0..646abec4e 100644 --- a/dart/test/scope_test.dart +++ b/dart/test/scope_test.dart @@ -97,6 +97,20 @@ void main() { expect(sut.breadcrumbs.length, 0); }); + test('Executes and mutates $Breadcrumb', () { + final sut = fixture.getSut( + beforeBreadcrumbCallback: fixture.beforeBreadcrumbMutateCallback, + ); + + final breadcrumb = Breadcrumb( + message: 'message', + timestamp: DateTime.utc(2019), + ); + sut.addBreadcrumb(breadcrumb); + + expect(sut.breadcrumbs.first.message, 'new message'); + }); + test('adds $EventProcessor', () { final sut = fixture.getSut(); @@ -642,6 +656,10 @@ class Fixture { Breadcrumb? beforeBreadcrumbCallback(Breadcrumb? breadcrumb, {dynamic hint}) => null; + + Breadcrumb? beforeBreadcrumbMutateCallback(Breadcrumb? breadcrumb, + {dynamic hint}) => + breadcrumb?.copyWith(message: 'new message'); } class AddTagsEventProcessor extends EventProcessor { diff --git a/flutter/example/ios/Runner.xcodeproj/project.pbxproj b/flutter/example/ios/Runner.xcodeproj/project.pbxproj index 2b3fd59d3..de04697c4 100644 --- a/flutter/example/ios/Runner.xcodeproj/project.pbxproj +++ b/flutter/example/ios/Runner.xcodeproj/project.pbxproj @@ -160,7 +160,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1330; + LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { diff --git a/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 2852ce3ab..c87d15a33 100644 --- a/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flutter/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@