-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[No QA] Patch Sentry htmlTreeAsString to support data-sentry-label attributes #76547
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
[No QA] Patch Sentry htmlTreeAsString to support data-sentry-label attributes #76547
Conversation
|
|
# Conflicts: # src/setup/telemetry/index.ts
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
I'm currently working on preparing an upstream PR for Sentry. In the meantime, I'm submitting this PR as ready for review to see if the solution I'm presenting is okay. |
|
PR doesn’t need product input as a perf tooling PR. Unassigning and unsubscribing myself. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/rlinoz in version: 9.2.74-0 🚀
|
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.2.74-12 🚀
|
1 similar comment
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.2.74-12 🚀
|
|
🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.2.74-12 🚀
|

Explanation of Change
This PR adds
data-sentry-labelattribute support to Sentry'shtmlTreeAsStringfunction via a patch to@sentry/core. This allows us to identify UI interactions in Sentry spans using meaningful labels instead of just CSS selectors.Changes:
@sentry+core+10.20.0+001+data-sentry-label-support.patch): ModifieshtmlTreeAsStringto includedata-sentry-labelin element identification and search up to 15 levels up the DOM tree for this attributeGenericPressable: AddedsentryLabelprop that renders asdata-sentry-labelattribute on pressable elementsNavigationTabBar: AddedsentryLabelto tab bar buttons and avatar for better INP trackingUsage example:
Example output:
[data-sentry-label="NavigationTabBar-Reports"] div.css-146c3p1 > svginstead of justdiv.css-146c3p1 > svgFixed Issues
$ #76128
PROPOSAL:
Tests
src/setup/telemetry/debugTransport.tsdev.new.expensify.comtab.[SENTRY][SPAN][ui.interaction.click]. It should look like:{ "description": "[data-sentry-label=\"NavigationTabBar-Inbox\"] div.css-view-g5y9jx > div.css-view-g5y9jx > svg > path", "measurements": { "inp": { "value": 800, "unit": "millisecond" } } }Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand 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
iOS: Native
MacOS: Chrome / Safari