fix: tag 回退时更新链接使用原始标签名(v1.0.0,而非清洗后的 1.0.0)

This commit is contained in:
Drsakura
2026-09-10 16:26:08 +08:00
parent e4537d5bf0
commit 250d2505d5
+7 -7
View File
@@ -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)}`
};
}