Skip to content

replay: add sensitive content widget to default masking #2989

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

buenaflor
Copy link
Contributor

@buenaflor buenaflor commented Jun 13, 2025

📜 Description

Masks the SensitiveContent widget ootb for replay

TBD: check how we can add backwards compat

💡 Motivation and Context

Closes #2987

💚 How did you test it?

📝 Checklist

  • I reviewed submitted code
  • I added tests to verify changes
  • No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
  • I updated the docs if needed
  • All tests passing
  • No breaking changes

🔮 Next steps

Copy link
Contributor

github-actions bot commented Jun 13, 2025

Fails
🚫 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

- add sensitive content widget to default masking ([#2989](https://github.com/getsentry/sentry-dart/pull/2989))

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

Generated by 🚫 dangerJS against 5ce2839

Copy link

codecov bot commented Jun 13, 2025

Codecov Report

Attention: Patch coverage is 66.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 88.80%. Comparing base (793f4dc) to head (5ce2839).

Files with missing lines Patch % Lines
flutter/lib/src/sentry_privacy_options.dart 66.66% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2989      +/-   ##
==========================================
+ Coverage   87.72%   88.80%   +1.08%     
==========================================
  Files         286       96     -190     
  Lines        9718     3520    -6198     
==========================================
- Hits         8525     3126    -5399     
+ Misses       1193      394     -799     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@@ -41,6 +41,20 @@ class SentryPrivacyOptions {
mask: false,
name: 'SentryUnmask',
));
// TODO: check for Flutter version and make this testable
Copy link
Collaborator

@ueman ueman Jun 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static const String? version = bool.hasEnvironment('FLUTTER_VERSION')
should be at least 3.33.0-0.2.pre or higher.

Ideally, you also make a check for bool.hasEnvironment('FLUTTER_VERSION') so that it tree shakes better. Calling a property on dynamic basically disables tree shaking for that property on any class. And the FLUTTER_VERSION dart define was introduced just one major Flutter version before this, which should already improve tree shaking quite a lot for most Flutter versions.

Copy link
Contributor

iOS Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1271.55 ms 1281.62 ms 10.07 ms
Size 7.86 MiB 9.44 MiB 1.58 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e2d675d 1238.48 ms 1242.76 ms 4.28 ms
aeb02f2 1244.29 ms 1256.55 ms 12.26 ms
6ba4675 1223.12 ms 1238.17 ms 15.04 ms
9b99523 1256.06 ms 1270.33 ms 14.27 ms
2d34233 1258.19 ms 1268.92 ms 10.73 ms
b6c8720 1252.65 ms 1266.61 ms 13.96 ms
73a3c38 1263.37 ms 1277.90 ms 14.53 ms
93b7728 1247.23 ms 1264.87 ms 17.64 ms
0fb3800 1256.60 ms 1266.28 ms 9.68 ms
ec78888 1251.37 ms 1269.40 ms 18.04 ms

App size

Revision Plain With Sentry Diff
e2d675d 7.86 MiB 9.44 MiB 1.58 MiB
aeb02f2 7.86 MiB 9.44 MiB 1.58 MiB
6ba4675 7.86 MiB 9.44 MiB 1.58 MiB
9b99523 7.86 MiB 9.44 MiB 1.58 MiB
2d34233 7.86 MiB 9.44 MiB 1.58 MiB
b6c8720 7.86 MiB 9.44 MiB 1.58 MiB
73a3c38 7.86 MiB 9.44 MiB 1.58 MiB
93b7728 7.86 MiB 9.44 MiB 1.58 MiB
0fb3800 7.86 MiB 9.44 MiB 1.58 MiB
ec78888 7.86 MiB 9.44 MiB 1.58 MiB

Copy link
Contributor

Android Performance metrics 🚀

  Plain With Sentry Diff
Startup time 462.72 ms 519.61 ms 56.89 ms
Size 6.54 MiB 7.69 MiB 1.15 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
73dca78 476.53 ms 522.21 ms 45.68 ms
e2d675d 457.92 ms 529.17 ms 71.25 ms
2d34233 470.54 ms 558.90 ms 88.36 ms
73a3c38 478.18 ms 526.62 ms 48.44 ms
6ba4675 499.80 ms 632.43 ms 132.63 ms
93b7728 475.28 ms 489.13 ms 13.86 ms
aeb02f2 373.84 ms 437.00 ms 63.16 ms
dbd526b 504.88 ms 569.02 ms 64.15 ms
793f4dc 462.68 ms 544.21 ms 81.53 ms
640ad0c 466.00 ms 552.67 ms 86.67 ms

App size

Revision Plain With Sentry Diff
73dca78 6.54 MiB 7.69 MiB 1.15 MiB
e2d675d 6.54 MiB 7.69 MiB 1.15 MiB
2d34233 6.54 MiB 7.55 MiB 1.01 MiB
73a3c38 6.54 MiB 7.69 MiB 1.15 MiB
6ba4675 6.54 MiB 7.53 MiB 1015.26 KiB
93b7728 6.54 MiB 7.69 MiB 1.15 MiB
aeb02f2 6.54 MiB 7.69 MiB 1.15 MiB
dbd526b 6.54 MiB 7.69 MiB 1.15 MiB
793f4dc 6.54 MiB 7.69 MiB 1.15 MiB
640ad0c 6.54 MiB 7.69 MiB 1.15 MiB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support SensitiveContent
2 participants