sentry-dart icon indicating copy to clipboard operation
sentry-dart copied to clipboard

Replay: user taps crumbs have `null` message on iOS

Open bruno-garcia opened this issue 1 year ago • 8 comments

Description

The crumb message field seems null. And the UI/compoent requires a value.

SDK version: 8.36.0 (running on iOS)

Image

See:

  • https://github.com/getsentry/sentry/issues/78837

bruno-garcia avatar Oct 09 '24 14:10 bruno-garcia

How did you reproduce this? I've just checked here in the flutter sample app and all looks good. Image

Interestingly, the screenshot shows "User click" while it should be "User tap".

vaind avatar Oct 09 '24 17:10 vaind

Not sure, this was a user event. But it wasn't a manually created breadcrumb.

bruno-garcia avatar Oct 09 '24 21:10 bruno-garcia

If I explicitly send nil as the message, it shows up as: Image

Any chance we can get (anonymized) json payload from the replay event?

vaind avatar Oct 10 '24 11:10 vaind

I don't believe there's anything to do in the Flutter SDK with the details we have available in the issue. At the very least, someone familiar with the UI could verify why taps are shown in breadcrumbs as clicks (if they're indeed taps)

vaind avatar Oct 11 '24 22:10 vaind

In that case, @c298lee I think we should merge the PR that deals with the data being null

bruno-garcia avatar Oct 12 '24 15:10 bruno-garcia

There are User Click breadcrumbs and User Tap breadcrumbs. User Tap breadcrumbs have the category user.tap and is a mobile only breadcrumb. User Click breadcrumbs have the category user.click and in our UI, we expect it to have a message which contains which element was clicked. I believe this should be a web specific breadcrumb, so I'm not sure why it's showing up in a mobile replay.

I'll repoen the PR that deals specifically with user click data being null first to resolve this issue. However, it looks like web breadcrumbs are somehow showing up in a mobile replay, and I think we should look into how that's happening. Maybe they set up custom breadcrumbs with the category ui.click?

c298lee avatar Oct 15 '24 06:10 c298lee

Maybe they set up custom breadcrumbs with the category ui.click?

That still shouldn't get to replay because we convert all ui.click breadcrumbs, regardless of being set by the SDK or user, to ui.tap in Flutter:

https://github.com/getsentry/sentry-dart/blob/3751dbc90dc9966974f829a835778ab2de33fe54/flutter/ios/Classes/SentryFlutterReplayBreadcrumbConverter.m#L18-L42

https://github.com/getsentry/sentry-dart/blob/3751dbc90dc9966974f829a835778ab2de33fe54/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterReplayBreadcrumbConverter.kt#L24-L51

Are we 100% sure that event is coming from Flutter? Because AFAICT, in plain cocoa SDK, the ui.click breadcrumb would just get passed on directly (i.e. what you've suggested might be happening)

vaind avatar Oct 15 '24 06:10 vaind

From looking at the tags in the replays with these errors, it looks like they are happening on sentry.cocoa.flutter version 8.36.0

c298lee avatar Oct 15 '24 14:10 c298lee

As described above, this is not reproducible with the current information so I'll be closing this. Feel free to reopen if you have another idea how to reproduce this, any more details, another replay that this happened on (and we can get json data for it), etc... anything.

vaind avatar Nov 22 '24 12:11 vaind