From 250d2505d5e879a44946111a14e01acbcdea2d03 Mon Sep 17 00:00:00 2001 From: Drsakura Date: Thu, 10 Sep 2026 16:26:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20tag=20=E5=9B=9E=E9=80=80=E6=97=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=93=BE=E6=8E=A5=E4=BD=BF=E7=94=A8=E5=8E=9F?= =?UTF-8?q?=E5=A7=8B=E6=A0=87=E7=AD=BE=E5=90=8D=EF=BC=88v1.0.0=EF=BC=8C?= =?UTF-8?q?=E8=80=8C=E9=9D=9E=E6=B8=85=E6=B4=97=E5=90=8E=E7=9A=84=201.0.0?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/lib/updater.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/lib/updater.js b/backend/lib/updater.js index cecc252..fe949ec 100644 --- a/backend/lib/updater.js +++ b/backend/lib/updater.js @@ -161,10 +161,9 @@ async function checkUpdate(repoInput) { const list = Array.isArray(tags.data) ? tags.data : []; const versions = list - .map((t) => normalizeTag(t && t.name)) - .filter(Boolean) - .sort(compareVersions) - .reverse(); + .map((t) => ({ raw: String((t && t.name) || ''), version: normalizeTag(t && t.name) })) + .filter((t) => t.version) + .sort((a, b) => compareVersions(b.version, a.version)); // 降序 if (!versions.length) { return { @@ -177,18 +176,19 @@ async function checkUpdate(repoInput) { }; } - const latest = versions[0]; + const [{ version: latest, raw }] = versions; return { ...base, ok: true, source: 'tag', latest, - tag: latest, + // 原始 tag 名留着:链接要用它,用清洗过的版本号会指向不存在的路径 + tag: raw || latest, hasUpdate: compareVersions(latest, current) > 0, title: '', notes: '', publishedAt: null, - url: `https://github.com/${repo}/releases/tag/${latest}` + url: `https://github.com/${repo}/releases/tag/${encodeURIComponent(raw || latest)}` }; }