getsentry / getsentry/sentry-javascript

Improve Redirect detection

Open
#17,282 1 comment 0 reactions 1 assignee Claimed by @Lms24 View on GitHub
Browser Improvement State: Needs Discussion
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

### Description

Our current redirection detection approach works in some cases but it fails in others, for example in the Sentry frontend (oh the irony 😅)

Some ideas to improve the detector:

* apply it generally to anyone calling `startBrowserTracingNavigationSpan`. Right now, we only apply redirect detection to the default browserTracingIntegration and any derivateives that rely on the default behaviour. Since in Sentry we use the React Router browserTracingIntegration, the logic is not applied.
* Increase time thresholds in general. 300ms is very short, especially for the first pageload
* Reset `lastInteractionTimestamp` when starting a new navigation *root* span. Previous interactions should not matter for subsequent navigations/redirects.
* Add separate time thresholds for
* pageload -> 1st navigation: A pageload likely takes some time for the router to initialize and potentially redirect. 300ms is *very* short here.
* navigation -> navigation: Here the time window likely doesn't need to be too long. 300ms is likely enough.
* For now, we can increase the threshold in general and re-evaluate if we get false positives for the navigation -> navigation case.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.