{# Covers only the transient gap between a file reaching Zenodo (upload is synchronous) and the real CKAN Link resources existing for it (created by publish_guard.py's deferred RQ job, only enqueued once the dataset is active AND public) - without it, someone landing on the dataset page in that window sees CKAN's own plain "This dataset has no data" right after successfully uploading, which reads as a failure rather than "still in progress" (or, for a private dataset, as if the upload silently vanished - it's just not getting a public Zenodo record yet, on purpose). Once the job runs, h.zenodo_pending_deposition_for_package() stops returning anything (real resources exist for it by then), so this never duplicates or outlives them. Also the only place a "remove this file" button makes sense for a file still pending (once published, that goes through CKAN's own normal "delete resource" button instead - see lib/delete_zenodo_file.py's own docstring) - these are the user's own files, theirs to remove while there's still time. Rendered inside the same