You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Incomplete/missing replays for non-SPA (MPA) #9301
For non-SPA where there is normal browser navigation: we can lose chunks of the replay if the user navigates quickly in and out of pages. This leads to broken looking replays as we do not capture the follow-up screens because they never get sent at all. This can lead to false dead clicks as well (I'm guessing due to bfcache?).
This can be configured, maybe we need to state this more explicitly in docs, but you can set new Replay({ minReplayDuration: 0 }) to basically disable this check.
Not sure how that would affect dead clicks, though, because these are only sent after the timeout (7s) passed. So you'd simply not get any dead click if moving away before 7s, I think!
I'm may be in the minority here as we have an application that isn't a single page app, but I would suggest finding a way to make this work out of the box with what is the default behavior of a web browser and web page. Ideally without having to adjust a parameter that I may still want to have set to several seconds considering the fact that it (as far as I understand it) has a direct impact on cost.
I just tested this and it didn't actually help. Here is my Sentry.init:
Sentry.init({dsn: dsn,environment: window.Settings.environmentName,release: window.Settings.releaseName,integrations: [newSentry.BrowserTracing(),newSentry.Integrations.Replay({maskAllText: true,// Necessary to make this work with regular browser apps// https://github.com/getsentry/sentry-javascript/issues/9301// - Aaron, Thu Oct 19 2023minReplayDuration: 0})],tracesSampleRate: 1.0,replaysSessionSampleRate: 1.0,replaysOnErrorSampleRate: 1.0,ignoreErrors: ["AbortError"],beforeSend: (event)=>{if(ignoreEvent(event)){returnnull}returnevent}});
And here's a replay ID: 70816a3030b04ca3aa076791bbff3fdb
Could you provide a link to your replay on Sentry SaaS, then I can take a look. What exactly is not working for you? Is the replay not being sent at all, or is there data missing, ...?
Activity
mydea commentedon Oct 19, 2023
This can be configured, maybe we need to state this more explicitly in docs, but you can set
new Replay({ minReplayDuration: 0 })to basically disable this check.Not sure how that would affect dead clicks, though, because these are only sent after the timeout (7s) passed. So you'd simply not get any dead click if moving away before 7s, I think!
aaronjensen commentedon Oct 19, 2023
(I'm the reporter of this)
I'm may be in the minority here as we have an application that isn't a single page app, but I would suggest finding a way to make this work out of the box with what is the default behavior of a web browser and web page. Ideally without having to adjust a parameter that I may still want to have set to several seconds considering the fact that it (as far as I understand it) has a direct impact on cost.
aaronjensen commentedon Oct 19, 2023
I just tested this and it didn't actually help. Here is my Sentry.init:
And here's a replay ID: 70816a3030b04ca3aa076791bbff3fdb
Am I doing anything wrong in my config?
mydea commentedon Oct 20, 2023
Could you provide a link to your replay on Sentry SaaS, then I can take a look. What exactly is not working for you? Is the replay not being sent at all, or is there data missing, ...?
aaronjensen commentedon Oct 20, 2023
@mydea i have a ticket open with support. Details are there. It’s #105109
75 remaining items
Lms24 commentedon Jan 2, 2025
No update from our end at this point (cc @billyvg just in case you looked into this). We'll post updates here once we get to it
[-]Minimum time for initial flush breaks replays for non-SPA[/-][+]Incomplete/missing replays for non-SPA (MPA)[/+]billyvg commentedon Feb 24, 2025
Nothing on our end, we were going to prioritize this for this quarter but @chargome is being re-allocated for something else, so it'll have to wait