Display workspace’s state change in real-time using GraphQL subscriptions

Problem statement

  • A Workspace’s state changes over time.
  • The workspaces list should always display a workspace’s current state real-time

Solution

Keep the workspaces list up-to-date with the current workspaces state by using GraphQL subscription

References

See branch https://gitlab.com/gitlab-org/gitlab/-/tree/caw-remote_dev-snapshot-before-placeholder-ui-removal for a snapshot of the integration branch placeholder UI which had working Apollo subscriptions.

E.g.: https://gitlab.com/gitlab-org/gitlab/-/blob/caw-remote_dev-snapshot-before-placeholder-ui-removal/ee/app/assets/javascripts/remote_development/components/workspaces_list.vue#L49

Edited by Chad Woolley