Adds frontend support for realtime updates on the merge request homepage
What does this MR do and why?
Adds 1 subscription handler that will wait for any change to any merge request the current user is an assignee or reviewer of. If there is an update to these we trigger a refetch of the lists that it affects. If any merge request gets added to the list we add a green background. The green background will remain until the next realtime update. There is also a visibility check, if the user isn't viewing the page and multiple realtime updates come in we won't clear the green background for older updates, we only clear it again the user has viewed the page and another realtime update comes in.
References
Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
How to set up and validate locally
- Enable
merge_request_dashboard
feature flag - Enable
merge_request_dashboard_realtime
feature flag - Visit
http://gdk.test:3000/dashboard/merge_requests
- Go to a merge request in a different tab that you are assigned to and request a review
- The merge request should move list