Pipeline stages dropdown is out of sync
Problem
After rolling out and working on #223264 I noticed that with a subscription the overall stage status is accurate but the job status within the stage is not. Which makes sense because we get real-time updates via a webscocket for the stages.
However app/assets/javascripts/ci/pipeline_mini_graph/pipeline_stage_dropdown.vue using polling which makes it not in sync. I mean it never really was to begin with, but let's fix that.
Potential solutions
- We could refactor any upstream subscriptions to feed not just the stages but the jobs as well. Don't love this idea because that's a lot of nested data to fetch.
- We could refactor
app/assets/javascripts/ci/pipeline_mini_graph/pipeline_stage_dropdown.vueto fetch fresh jobs each time it's open if the state of those jobs statuses have changed (still might be a little out of sync🤷 ) - We could build a dedicated stage subscription and use directly in
app/assets/javascripts/ci/pipeline_mini_graph/pipeline_stage_dropdown.vue
Edited by Payton Burdette
