getsentry / sentry

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

[Replay - Angular] Enabling Replay is breaking user's on-screen keyboard. #65018

Open Fwang36 opened 9 months ago

Fwang36 commented 9 months ago

Environment

SaaS (https://sentry.io/)

Steps to Reproduce

Creating this issue on behalf of a user @stnor. Attaching a link to the user's production site (currently with replays disabled), along with a clip showing the problem when replay is enabled in linked Jira ticket.

User has an on screen keyboard. When the replay integration is enabled, clicks on the on screen keyboard will sometimes skip inputs, or input the wrong value.

Removing the replay integration fixes the issue.

Expected Result

Replay does not affect user's app

Actual Result

Enabling the replay integration causes issues with user's app.

Product Area

Replays

Link

No response

DSN

No response

Version

No response

┆Issue is synchronized with this Jira Improvement by Unito

getsantry[bot] commented 9 months ago

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] commented 9 months ago

Routing to @getsentry/product-owners-replays for triage ⏲️

bruno-garcia commented 9 months ago

Thanks for raising, we'll need to dig into it

bruno-garcia commented 9 months ago

SDK version: SDK 7.98.0

c298lee commented 9 months ago

I wasn't able to repro this. I added replay to the site, let it run, set the dimensions to mobile, and clicked on the keyboard, but everything worked fine (eg. no skipped inputs or wrong values).

stnor commented 9 months ago

@c298lee The issue only occurs when you press very quickly and then only perhaps one in five times. Did you watch the video I sent in the JIRA?

bruno-garcia commented 9 months ago

I could see the repro on the video @stnor thanks for sharing that. We're still digging

bruno-garcia commented 9 months ago

Couldn't repro but I realize that Replay is not on the site (which makes sense if ti was causing problems)

image

We can try to inject Replay with tampermonkey to see if we can repro this

c298lee commented 9 months ago

I tried to repro again using an auto clicker, but I wasn't able to. I tried to replicate the video on my laptop, here is what I did:

  1. Inject replay on the site
  2. Set the dimensions to mobile
  3. Set up an autoclicker to click the numbers very quickly: I tried the numbers in the video, 258, repeatedly I tried to do the same number several times and then cleared then repeated this several times I tried two numbers close together, 5 and 6, clearing and then repeated this several times

Since replay was on, you could find a replay of me trying to repro this issue, however nothing I tried resulted in wrong or missed inputs.

I tried testing the site on mobile with replays disabled and was able to get some skipped values, so I think this may be a mobile issue. https://github.com/getsentry/sentry/assets/55311782/504ee813-189d-438c-9d95-8cc33150e643

stnor commented 9 months ago

Hi Cathrine, Thanks so much for looking into it again. I will investigate further and see if I can reproduce it in production, now without Replay, and locally with or without Replay.

/Stefan

stnor commented 9 months ago

I did some more testing.

With Replay (on ios 17): 1) Made a single button that sent a burst of ten values to the rxjs observable programaticallty. No issue. 2) Made a single button that sent a burst of ten values us using document.getElementById('key-x').click(); No issue. 3) Manual testing on the keyboard. Can reproduce with Replay, and not without. It's too hard to click the elements fast enough with the mouse, so hard to tell if related to touch or not.

I raised this issue mostly as a courtesy, if you had a bug that needed ironing our due to fast interactions in the UI. If so you should probably be able to reproduce it using a mouse automation software and click elements quickly.

This issue is not a blocker for us, so feel free to close it if you feel you've given it your best shot. :)

Thanks

Stefan

bruno-garcia commented 8 months ago

I raised this issue mostly as a courtesy, if you had a bug that needed ironing our due to fast interactions in the UI. If so you should probably be able to reproduce it using a mouse automation software and click elements quickly.

@stnor we appreciate you raising this! we want to make sure we can squash any bugs in the product and if this could be one, we also want to fix it.

With the video @c298lee attached where 3 keys are clearly pressed but only 2 numbers show (on mobile), even without Replay, this possibly isn't a Replay specific situation but rather something that's very hard to reproduce and debug, specially because we can't reproduce on desktop.

We can leave this ticket open see if anyone else experiences something similar. Hopefully with a repro on desktop and a better way to get to the culprit of how this happens.

stnor commented 8 months ago

Sounds good to me.