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
andAdditionalDetails
- 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
Mobile
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry - [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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