getsentry / sentry-dart

Sentry SDK for Dart and Flutter
https://sentry.io/for/flutter/
MIT License
766 stars 239 forks source link

fix(app-start): accessing null json fields from `fetchNativeAppStart` #2340

Closed buenaflor closed 1 month ago

buenaflor commented 1 month ago

:scroll: Description

Fixes issue from crash detection where one of the json fields can be null

:green_heart: How did you test it?

Unit test

:pencil: Checklist

:crystal_ball: Next steps

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.02%. Comparing base (824c070) to head (ab6e938). Report is 1 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2340 +/- ## ========================================== + Coverage 78.16% 84.02% +5.85% ========================================== Files 22 75 +53 Lines 907 2616 +1709 ========================================== + Hits 709 2198 +1489 - Misses 198 418 +220 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

github-actions[bot] commented 1 month ago

Android Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 501.04 ms 586.69 ms 85.65 ms
Size 6.49 MiB 7.56 MiB 1.07 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
8ced2dc3a0ab7c8f70f4a0f0449ce528b924b96f 295.58 ms 336.49 ms 40.91 ms
559d28f4fd4a5379a6776683dbadfec93ffb5635 302.35 ms 339.53 ms 37.18 ms
62ae1b341c4d15163191a18cb331e3ceebad9628 419.60 ms 494.14 ms 74.54 ms
6d7a391cf23411c9ac5147ce5b236f117a8345cc 331.94 ms 367.04 ms 35.10 ms
3ad66e4789a5212fa687083e41baaaecb74bac9c 406.90 ms 481.48 ms 74.58 ms
3334ac176f15a6d39b435960620ea9a4919aae79 303.98 ms 366.65 ms 62.67 ms
011829598b3e6eaa26f901a3fedccfd0de06cb87 365.71 ms 438.56 ms 72.85 ms
7e7f0b1ba00d87ca0c564c0aee2b80b9e66a8253 387.44 ms 459.14 ms 71.70 ms
fe4aa568d4e0feae9d53a7f83659aa2a5ab50b22 356.06 ms 428.67 ms 72.61 ms
25161f47b02abb67b61b15fa4b63028dc5298069 353.98 ms 431.94 ms 77.96 ms

App size

Revision Plain With Sentry Diff
8ced2dc3a0ab7c8f70f4a0f0449ce528b924b96f 6.06 MiB 7.03 MiB 990.29 KiB
559d28f4fd4a5379a6776683dbadfec93ffb5635 5.94 MiB 6.92 MiB 1001.70 KiB
62ae1b341c4d15163191a18cb331e3ceebad9628 6.35 MiB 7.40 MiB 1.05 MiB
6d7a391cf23411c9ac5147ce5b236f117a8345cc 5.94 MiB 6.95 MiB 1.01 MiB
3ad66e4789a5212fa687083e41baaaecb74bac9c 6.33 MiB 7.26 MiB 947.04 KiB
3334ac176f15a6d39b435960620ea9a4919aae79 6.06 MiB 7.03 MiB 993.54 KiB
011829598b3e6eaa26f901a3fedccfd0de06cb87 6.33 MiB 7.26 MiB 947.07 KiB
7e7f0b1ba00d87ca0c564c0aee2b80b9e66a8253 6.35 MiB 7.34 MiB 1008.33 KiB
fe4aa568d4e0feae9d53a7f83659aa2a5ab50b22 6.06 MiB 7.10 MiB 1.04 MiB
25161f47b02abb67b61b15fa4b63028dc5298069 6.27 MiB 7.20 MiB 960.44 KiB
github-actions[bot] commented 1 month ago

iOS Performance metrics :rocket:

  Plain With Sentry Diff
Startup time 1242.08 ms 1273.98 ms 31.89 ms
Size 8.38 MiB 9.74 MiB 1.36 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
24b6e601e2c8a3bc70ac06d1d0293067d3df5351 1250.69 ms 1268.63 ms 17.94 ms
2e1e4aebae075ca46960534a099de7081db831b6 1254.41 ms 1278.55 ms 24.14 ms
6a5a65d1390ef72425d385815fbfb4c1b03ced8d 1237.22 ms 1250.29 ms 13.07 ms
73d70bf9f339b62b1177a64faa8267846bb14aaa 1249.08 ms 1268.41 ms 19.33 ms
7faee576f69687eaf846228638db70b8d2b006a5 1232.65 ms 1246.10 ms 13.45 ms
43760f991fd70985663607059a73897fe3123966 1216.07 ms 1238.51 ms 22.44 ms
6daa837b45789cb21c8bb0075c58ad6f5e5e83b6 1250.42 ms 1265.60 ms 15.18 ms
d4120ac3aa1b3297e224a93b2f9d790adb0e683b 1260.61 ms 1274.09 ms 13.47 ms
d883d62345e5c21066faf14885eea7afd75b89e1 1221.39 ms 1230.18 ms 8.80 ms
43abc4fd929361a54f3e4ba1570914ec882272fa 1248.33 ms 1272.86 ms 24.52 ms

App size

Revision Plain With Sentry Diff
24b6e601e2c8a3bc70ac06d1d0293067d3df5351 8.32 MiB 9.38 MiB 1.06 MiB
2e1e4aebae075ca46960534a099de7081db831b6 8.34 MiB 9.65 MiB 1.31 MiB
6a5a65d1390ef72425d385815fbfb4c1b03ced8d 8.34 MiB 9.65 MiB 1.31 MiB
73d70bf9f339b62b1177a64faa8267846bb14aaa 8.38 MiB 9.70 MiB 1.33 MiB
7faee576f69687eaf846228638db70b8d2b006a5 8.33 MiB 9.64 MiB 1.31 MiB
43760f991fd70985663607059a73897fe3123966 8.29 MiB 9.36 MiB 1.07 MiB
6daa837b45789cb21c8bb0075c58ad6f5e5e83b6 8.33 MiB 9.40 MiB 1.07 MiB
d4120ac3aa1b3297e224a93b2f9d790adb0e683b 8.28 MiB 9.34 MiB 1.06 MiB
d883d62345e5c21066faf14885eea7afd75b89e1 8.29 MiB 9.36 MiB 1.07 MiB
43abc4fd929361a54f3e4ba1570914ec882272fa 8.33 MiB 9.54 MiB 1.21 MiB
github-actions[bot] commented 1 month ago
Fails
:no_entry_sign: Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

- accessing null json fields from `fetchNativeAppStart` ([#2340](https://github.com/getsentry/sentry-dart/pull/2340))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by :no_entry_sign: dangerJS against ab6e938d323c16e4daa20d034f763e1be1ed8145