getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
36.96k stars 3.97k forks source link

[Replay Details - Breadcrumbs] Support mobile user interaction breadcrumbs #69253

Open romtsn opened 1 week ago

romtsn commented 1 week ago
### Tasks
- [ ] Support `ui.click` breadcrumb type (title: "User Click", description: `message`)
- [x] ~Support `ui.scroll` breadcrumbs type (title: "User Scroll", description: `message`)~
- [x] ~Support `ui.swipe` breadcrumbs type (title: "User Swipe", description: `message`)~
- [ ] Use a different icon for mobile `ui.` breadcrumbs

Alternatively, for the description, we could also implement the json view from the issue breadcrumbs component and just display the entire data field there (this way we can also add more metadata to these crumbs): image


Re. using a different icon - the mouse pointer one is not really reflecting user touch/scroll/swipe. In the breadcrumbs component for an issue we use the following icon: image

romtsn commented 1 week ago

Maybe we'll have a mobile-specific format, @billyvg will look into this

romtsn commented 1 week ago

Also, we only want to support ui.click for breadcrumbs probably, other touch events should just come as rrweb events to reflect them on the playback itself

michellewzhang commented 1 week ago

TODO: go through rrweb library to figure out what mobile events are supported @billyvg

michellewzhang commented 1 week ago

ui.click is web-specific because it has node info relating to rrweb. for native mobile, the node info isn't relevant; we would probably want to rename this breadcrumb to ui.tap or something, but still need a differentiating property so we know it's a native mobile replay-specific breadcrumb & not web mobile

billyvg commented 1 week ago

We should think about how we can connect click/tap breadcrumbs w/ view hierarchies in the future too

romtsn commented 1 week ago

ui.click is web-specific because it has node info relating to rrweb

fwiw we also use ui.click for mobile breadcrumbs, but of course can change that easily for replays.