Skip to content

Defer tagsCount & add startup.js to container registry

What does this MR do?

Since fetching tagsCount from the GraphQL API (any API actually) implies a very long call to the container registry, a call that can in some instances reach up to one minute wait time in this MR we are:

  • Splitting our query in two pieces BaseDetails and AdditionalDetails
  • Adding startup.js to trigger the BaseDetails query even before our JS starts to load
  • Trigger AdditionalDetails and do not wait for it to show the rest of the data
  • Add a loader to signal that we are still waiting for some pieces of the UI
  • Defer the laod of some components till the API is ready

This allows the user to use 99% of the UI, and even navigating away from the page (for example to the details page) if he so wishes, without being blocked by a tiny piece of metadata.

Screenshots (strongly suggested)

No visual change that I can capture with a screenshot, please look at the screencaps

Screencap

Desktop

DefearTagsCountLoad

Mobile

DeferTagsCountLoadMobile

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team

Related to #280847 (closed)

Edited by Nicolò Maria Mezzopera

Merge request reports