Redesign package details loading experience
Currently the package details page is loaded as a 'monolith' a single big query is shot in the beginning and all the data is loaded in one go, this emulates the same behavior we had till now by loading data from the controller.
We are now using our GraphQL API and we can fine tune and split things however we want with the aim of:
- Decrease LCP time
- Decrease meaningful content show time
- Decrease the load to the server
- Paginated big lists (currently capped at 100 records each)
The page loads data for 6 main areas that can all be split (or not)
- Package title
- Package metadata and installation commands
- Package history (pipelines)
- Package files
- Package versions
- Package dependencies
Of these points 3 4 and 5 can and should be paginated (UI elements for this should be introduced in the page. To be implemented separately as #353820 (closed) #292215 #361304 (closed))
We will also need to introduce loaders, both for the first call and for any subsequent call.
Proposal
Design attached
Further details
Edited by Rahul Chanila