Stop DDOSing ourselves
What does this MR do?
SmartInterval settings. This will be the interval used whilst the tab is inactive. If this setting is not set it will
cancel as it would have done before.
SmartInterval settings. This boolean will dictate whether to execute the callback once before the first interval or not.
SmartInterval with the new
hiddenInterval settings to slow the polling for the MR widget on inactive tabs.
Fixes issue where
visibilitychange listeners are not getting called because jQuery doesn't support them.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
We're ddosing ourselves on the MR page.
Screenshots (if relevant)
~30 seconds difference between the first 2 requests (a couple requests had fired already so it's backed off already).
-changed to different tab-
~2 minutes difference between the middle 2 requests.
-changed tab back to MR-
~10 seconds difference between the last 2 requests.
Does this MR meet the acceptance criteria?
- Changelog entry added
- Documentation created/updated
- API support added
- Added for this feature/bug
- All builds are passing
- Conform by the merge request performance guides
- Conform by the style guides
Branch has no merge conflicts with
master(if it does - rebase it please)
- Squashed related commits together
What are the relevant issue numbers?
Closes #24807 (closed)