Skip to content
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

Loading spinner overlay not removed in Replay #13422

Open
lforst opened this issue Aug 19, 2024 · 15 comments
Open

Loading spinner overlay not removed in Replay #13422

lforst opened this issue Aug 19, 2024 · 15 comments
Assignees
Labels
Package: replay Issues related to the Sentry Replay SDK

Comments

@lforst
Copy link
Member

lforst commented Aug 19, 2024

Description

The replay in this ticket was reported to be inaccurate: https://sentry.zendesk.com/agent/tickets/129896

@lforst lforst added the Package: replay Issues related to the Sentry Replay SDK label Aug 19, 2024
@van-duong-d3salonsolution
Copy link

van-duong-d3salonsolution commented Aug 24, 2024

Hi,

I was told by Jordan Luse from Sentry technical support to communicate with Sentry engineers through this channel.

The issue appears to be that my app content is not being rendered in Replay videos. Here's how the app loads up: on initial page load, a loading icon is displayed while app data is fetched from backend; once app content is ready, it is placed on top of the loading screen (and icon).

Below is the screenshot of a Replay video where only loading screen is displayed even though mouse movement, user activities, logs, network calls, etc.. are being updated correctly in the side window as user interacts with the app.
Image

Below is the index.html file served on initial load (please remove .txt extension, I appended it to be able to upload the file)

index.html.txt

Additionally, there's no blocking or masking added to the app. I also tried using incognito browser but the issue remains.

The app is built in Angular and uses Angular Material UI.

@chargome
Copy link
Member

@van-duong-d3salonsolution can you inspect the content of your replay (you can just access it with your browser dev tools) and check if that seems to be correct?

@van-duong-d3salonsolution

@van-duong-d3salonsolution can you inspect the content of your replay (you can just access it with your browser dev tools) and check if that seems to be correct?

The DOM appears to be correct (see screenshot) when I inspect the replay content but the video is visually mostly blank (there's mouse movement and loading icon)

Image

@andreiborza
Copy link
Member

@van-duong-d3salonsolution could you please share a link to the replay?

@andreiborza
Copy link
Member

Yea so for some reason #fuse-splash-screen is not cleared in your replay. I wonder if you could try to extract this out into a minimal reproduction repo or stackblitz so that we can investigate further.

For now, you could inspect the replay tree and manually set display: none on the #fuse-splash-screen node. Then you'll at least see the replay.

It looks like we've had this issue in the past also with the fuse splash screen: #7703

cc @billyvg

@van-duong-d3salonsolution
Copy link

van-duong-d3salonsolution commented Sep 2, 2024

Yea so for some reason #fuse-splash-screen is not cleared in your replay. I wonder if you could try to extract this out into a minimal reproduction repo or stackblitz so that we can investigate further.

For now, you could inspect the replay tree and manually set display: none on the #fuse-splash-screen node. Then you'll at least see the replay.

It looks like we've had this issue in the past also with the fuse splash screen: #7703

cc @billyvg

@andreiborza here's the link to stackblitz containing the code to reproduce the issue. The one thing I changed in stackblitz's project template is index.htm which I copied from my project Please add display: none to the div on line 263 of index.html to hide the fuse splash screen
https://stackblitz.com/edit/angular-nfqwvb?file=src%2Findex.html

@andreiborza
Copy link
Member

Thanks!

@billyvg could you take a look at this please?

@billyvg
Copy link
Member

billyvg commented Sep 3, 2024

I can take a look at this later this week or early next week - @mydea, this could be something I can look at with @chargome

@mydea mydea changed the title Inaccurate Replay Loading spinner overlay not removed in Replay Sep 9, 2024
@billyvg
Copy link
Member

billyvg commented Sep 9, 2024

Yea so for some reason #fuse-splash-screen is not cleared in your replay. I wonder if you could try to extract this out into a minimal reproduction repo or stackblitz so that we can investigate further.
For now, you could inspect the replay tree and manually set display: none on the #fuse-splash-screen node. Then you'll at least see the replay.
It looks like we've had this issue in the past also with the fuse splash screen: #7703
cc @billyvg

@andreiborza here's the link to stackblitz containing the code to reproduce the issue. The one thing I changed in stackblitz's project template is index.htm which I copied from my project Please add display: none to the div on line 263 of index.html to hide the fuse splash screen https://stackblitz.com/edit/angular-nfqwvb?file=src%2Findex.html

@van-duong-d3salonsolution In your application, what is the logic like to hide the splash?

@van-duong-d3salonsolution
Copy link

van-duong-d3salonsolution commented Sep 10, 2024

@billyvg The logic to hide the splash screen is: there is a service that fetches data from our API. The service calls fuseSplashScreenService.show() to display the splash screen before the fetch happens and then calls fuseSplashScreenService.hide() whe the fetch is done. Below is the code where these two methods are called:

Image

Below is the method definition for show

Image

Below is the method definition for hide

Image

FuseSplashScreenService also hides the splash screen on initialization ( the service is initialized by App component). However, since the data fetch takes some time, the splash screen is controlled via the service that fetches the data.

Please let me know if you need anything.

Thank you for your help

@chargome
Copy link
Member

thank you @van-duong-d3salonsolution, we'll look into that

@van-duong-d3salonsolution

Any updates on this issue gentlemen? I just want to follow up, no rush intended.

@chargome
Copy link
Member

@van-duong-d3salonsolution we'll keep you informed, this is on our backlog.

@billyvg
Copy link
Member

billyvg commented Sep 17, 2024

@van-duong-d3salonsolution This is because the web Animation API is not supported by our underlying replay library.

As a workaround you could try either blocking the splash screen, or starting the replay integration after the splash screen disappears

@chargome chargome removed their assignment Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Package: replay Issues related to the Sentry Replay SDK
Projects
Status: No status
Development

No branches or pull requests

6 participants