Immediately download archive if already cooked by the vault
In the Software Heritage web application, all browsed directories and revisions can be downloaded as an archive (source tarball for a directory, gitfast archive for a revision).
As Software Heritage does not store all possible archives that can be produced from its content, an explicit request must be send by an user to produce the one he is interested in. The Software Heritage component that is responsible to perform archive creation (called cooking in the Software Heritage semantics) and offer a download link to the user is called the vault.
When an user requests to download an archive, through the "Download" entry from the "Actions" dropdown located in the top right part of the UI, a modal popups asking to confirm the action. The user is then redirected to a dedicated interface to track the vault cooking progress. Once the task is finished, a download link for the cooked archive is made available.
When an archive has been cooked, it stays in cache on our servers. It means there is no need to cook it again and the download link is immediately available.
The current behavior of the web application is to show the modal popup asking for an archive cooking even if it has already been done. This must be improved by checking if the requested archive has already been cooked and immediately redirect to the download link if it is the case.
Migrated from T1858 (view on Phabricator)