Convert Releases index page to Apollo Client [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
Updates the Releases page (namespace/project/-/releases
) to use Apollo Client to manage GraphQL requests instead of manually managing the requests using a Vuex store.
Why?
- Apollo Client is our preferred approach for state management
- This page is very simple - it's mostly a read-only page - so it doesn't benefit from the boilerplate of a Vuex store
- Moving to Apollo Client will make it simpler to implement some performance optimizations in the future
What doesn't this MR do?
This MR does not fully re-implement the Releases page. A few features have been omitted which will be implemented in follow-up MRs before the feature flag is enabled. These features are:
- Pagination
- Sorting
Feature flag
This new functionality is hidden behind a releases_index_apollo_client
feature flag, which is disabled by default.
Rollout issue: #331006 (closed)
Screenshots
Before | After |
---|---|
See the note above regarding missing features.
Edited by Nathan Friend