[18.8] Unsubscribe from pipeline status updates when pipeline ID changes

What does this MR do and why?

This backports !221586 (merged) to 18-8-stable-ee.

When the pipeline ID changes during polling or when the component is destroyed, properly unsubscribe from the previous pipeline's status updates. This prevents accumulating multiple active subscriptions over time, which could result in hundreds of subscription requests if a tab is left open for an extended period.

The subscribeToMore() method returns an object with an unsubscribe() method, so we now store the subscription and call unsubscribe() when switching to a new pipeline or on component destruction.

Relates to #587107

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

  • This MR is backporting a bug fix, documentation update, or spec fix, previously merged in the default branch.
  • The MR that fixed the bug on the default branch has been deployed to GitLab.com (not applicable for documentation or spec changes).
  • The MR title is descriptive (e.g. "Backport of 'title of default branch MR'"). This is important, since the title will be copied to the patch blog post.
  • Required labels have been applied to this merge request
  • This MR has been approved by a maintainer (only one approval is required).
  • Ensure the e2e:test-on-omnibus-ee job has succeeded, or if it has failed, investigate the failures. If you determine the failures are unrelated, you may proceed. If you need assistance investigating, reach out to a Software Engineer in Test in #s_developer_experience.

Note to the merge request author and maintainer

If you have questions about the patch release process, please:

Edited by Payton Burdette

Merge request reports

Loading