Sort the container registry tags list by publish date
Context
You use the Container Registry to publish and share your images and tags. You can use the GitLab UI to view a list of images and their respective tags.
Problem to solve
The problem is that you often name your tags with a SHA
value which makes sorting by name not that useful. What you'd really like to be able to do is sort by the publish date. This will allow you to quickly find the tag you are looking for.
Proposal
- For users of ~SaaS only, the list of tags will be sortable by when the tag was last published;
- Sorting when the page is first loaded is defaulted to date in order of most recent -> least recent
For example:
- I pushed
tag-name-0
andtag-name-2
3 months ago. - I re-pushed
tag-name-0
2 minutes ago. - The UI looks like this:
Related issues
- Display the last published date in the registry UI: Once we complete the migration, we'll be able to update the API to support this data.
- Most relevant sort by name
- Add a most recently updated section to the registry UI
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Implementation guide
- Update the client to add a new option to send a sort param to the registry
- Update GraphQL with a sort option and to use the new client with pagination (this may be covered in other issues in the epic).
- Pass an attribute to the frontend so it knows if this feature is allowed.
- If
updated_at
is null in registry use thecreated_at
- We already pass
is_metadata_database_enabled
field from the haml templates, so this can be re-used. - Add new
updatedAt
field to the query (This won't be used in the frontend until #371668 (closed) - can be skipped.) - Add additional option to the dropdown & set it as default https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/tags_list.vue#L171-175
- Hide option if attribute is
false