[NO QA] Drop browser extension errors from Sentry with denyUrls - #98417
Conversation
Errors thrown inside chrome-extension://, moz-extension://, safari-extension:// and safari-web-extension:// code are not ours to act on. Sentry's server-side browser-extension inbound filter cannot catch them because the React Native SDK rewrites every frame filename to app:///... before sending. denyUrls is evaluated client-side by inboundFilters, which the SDK registers ahead of rewriteFrames, so it still sees the original scheme.
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 Valforte has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/Valforte in version: 9.4.53-0 🚀
|
|
🤖 No help site changes required. This PR is an internal telemetry configuration change — it adds There is no user-facing behavior, UI, feature, setting, or workflow change here — nothing a customer would see or do differently. The help site articles under If you believe this change does have a customer-facing angle I've missed, let me know and I'll take another look. |
Explanation of Change
Browser extensions inject code into every page NewDot runs on, and when that code throws, the SDK captures it as if it were ours. These events are unactionable — we cannot fix an extension — but they consume quota and pollute issue search.
Fixed Issues
$ https://expensify.slack.com/archives/C0A3FPPTGJY/p1786053533901599
PROPOSAL:
Tests
Offline tests
QA Steps
NO QA, but this errors should disappear https://expensify.sentry.io/explore/errors/homepage/?dataset=errors&field=title&field=project&field=message&field=count%28%29&name=All%20Errors&query=&queryDataset=error-events&sort=-count&statsPeriod=7d&yAxis=count%28%29
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
N/A — telemetry configuration change with no UI.
Android: mWeb Chrome
N/A — telemetry configuration change with no UI.
iOS: Native
N/A — telemetry configuration change with no UI.
iOS: mWeb Safari
N/A — telemetry configuration change with no UI.
MacOS: Chrome / Safari
N/A — telemetry configuration change with no UI.