Real-time UI updates for pipelines/jobs
An all encompassing epic to capture the work needed for providing real time updates for all things pipelines/jobs. Separate epics for larger areas should be created as children of this epic to make organization planning easier.
The goal here is that no matter where you go in the product and see a CI status they all would be in-sync.
### CI Status locations
Locations where pipeline or job statuses are displayed in the product. Ultimately all of these locations should be in sync real-time with subscriptions/webscokets.
#### Individual instances
These instances or the most simple to begin with. A single component can be injected to fetch a CI status query and utilize a subscription for real-time data.
- [x] [Pipeline details header](https://gitlab.com/gitlab-org/gitlab/-/pipelines/1620160439)
- [x] [Job log header](https://gitlab.com/gitlab-org/gitlab/-/jobs/8780031676)
- [x] [Repository view](https://gitlab.com/gitlab-org/gitlab/-/tree/master)
- [x] [Project home view](https://gitlab.com/gitlab-org/gitlab)
#### TBD
- [Issues > related merge requests/issues](https://gitlab.com/gitlab-org/gitlab/-/issues/487925)
#### Instances with additional data
These instances have other CI statuses near by that need to be in-sync with the main status. Or have rows of data where a single instance component can't be injected due to performance and too many queries being called.
- [Commit view](https://gitlab.com/gitlab-org/gitlab/-/commits/master?ref_type=heads)
- [Pipeline editor view](https://gitlab.com/gitlab-org/gitlab/-/ci/editor?branch_name=master)
- [MR widget](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177011)
#### Tables
These instances fetch lists of data, so we would need a query/subscription for all statuses (we can't use a single instance component here, it would be too many queries)
- [Pipelines table](https://gitlab.com/gitlab-org/gitlab/-/pipelines) (needs to be converted to GraphQL first)
- [MR pipelines tab](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/177496/pipelines)
- [Commit pipelines tab](https://gitlab.com/gitlab-org/gitlab/-/commit/17b47e7d4a17c60ff8e645d42723167515a9a12f/pipelines)
- [Merge request dashboard](https://gitlab.com/dashboard/merge_requests)
- [Projects list](https://gitlab.com/)
- [Jobs list](https://gitlab.com/gitlab-org/gitlab/-/jobs)
- [Artifacts list](https://gitlab.com/gitlab-org/gitlab/-/artifacts)
- [x] [Pipeline schedules view](https://gitlab.com/gitlab-org/gitlab/-/pipeline_schedules)
- [Branches](https://gitlab.com/gitlab-org/gitlab/-/branches)
- [Merge request list](https://gitlab.com/gitlab-org/gitlab/-/merge_requests)
- [Tags view](https://gitlab.com/gitlab-org/gitlab/-/tags)
- [Merge trains table](https://gitlab.com/gitlab-org/gitlab/-/merge_trains)
- Runner active list
- Runner job failure
epic