Skip to content

Commit

Permalink
In the Event.exception constructor, modify a clone of the args ar…
Browse files Browse the repository at this point in the history
…gument instead of `args` itself (#1200)
  • Loading branch information
andrewkolos committed Nov 21, 2024
1 parent c39ce5f commit cc2bec1
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 4 deletions.
3 changes: 3 additions & 0 deletions pkgs/unified_analytics/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## 6.1.6
- Fixed `UnsupportedError` thrown when Event.exception is called without providing a value for `args`.

## 6.1.5
- Remove any `data` entries with a null value in the `Event.exception` constructor.

Expand Down
4 changes: 2 additions & 2 deletions pkgs/unified_analytics/lib/src/constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const String kConfigString = '''
# All other lines are configuration lines. They have
# the form "name=value". If multiple lines contain
# the same configuration name with different values,
# the parser will default to a conservative value.
# the parser will default to a conservative value.
# DISABLING TELEMETRY REPORTING
#
Expand Down Expand Up @@ -87,7 +87,7 @@ const int kMaxLogFileSize = 25 * (1 << 20);
const String kLogFileName = 'dart-flutter-telemetry.log';

/// The current version of the package, should be in line with pubspec version.
const String kPackageVersion = '6.1.5';
const String kPackageVersion = '6.1.6';

/// The minimum length for a session.
const int kSessionDurationMinutes = 30;
Expand Down
2 changes: 1 addition & 1 deletion pkgs/unified_analytics/lib/src/event.dart
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ final class Event {
}) : eventName = DashEvent.exception,
eventData = {
'exception': exception,
...data..removeWhere((key, value) => value == null),
...Map.from(data)..removeWhere((key, value) => value == null),
};

/// Event that is emitted from the flutter tool when a build invocation
Expand Down
2 changes: 1 addition & 1 deletion pkgs/unified_analytics/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
# LINT.IfChange
# When updating this, keep the version consistent with the changelog and the
# value in lib/src/constants.dart.
version: 6.1.5
version: 6.1.6
# LINT.ThenChange(lib/src/constants.dart)
repository: https://github.com/dart-lang/tools/tree/main/pkgs/unified_analytics

Expand Down
8 changes: 8 additions & 0 deletions pkgs/unified_analytics/test/event_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,14 @@ void main() {
expect(constructedEvent.eventData.length, 3);
});

test('Event.exception constructor works when no data is provided', () {
Event generateEvent() => Event.exception(
exception: 'exception',
);

expect(generateEvent, returnsNormally);
});

test('Event.timing constructed', () {
Event generateEvent() => Event.timing(
workflow: 'workflow',
Expand Down

0 comments on commit cc2bec1

Please sign in to comment.