From 130fb5d2d5a85287c0df62d338fb4f476a40fe27 Mon Sep 17 00:00:00 2001 From: Will Miao Date: Tue, 9 Jun 2026 07:02:56 +0800 Subject: [PATCH] fix: batch URL download dedup by modelId+modelVersionId composite key (#936) When batch-downloading different versions of the same model, dedup by modelId alone discards the second URL. Use modelId:modelVersionId as the dedup key so users can download, e.g., latest + a specific version. --- static/js/managers/DownloadManager.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/static/js/managers/DownloadManager.js b/static/js/managers/DownloadManager.js index c0625ddb..6c6e3e19 100644 --- a/static/js/managers/DownloadManager.js +++ b/static/js/managers/DownloadManager.js @@ -218,8 +218,13 @@ export class DownloadManager { parsed.push({ url, error: translate('modals.download.errors.invalidUrl') }); continue; } - if (seen.has(result.modelId)) continue; - seen.add(result.modelId); + // Dedup by modelId + modelVersionId combo so users can download + // different versions of the same model (e.g. latest + a specific version) + const dedupKey = result.modelVersionId + ? `${result.modelId}:${result.modelVersionId}` + : result.modelId; + if (seen.has(dedupKey)) continue; + seen.add(dedupKey); parsed.push({ url, ...result, error: null }); }