fix: detect latest digest updates in update center (#344)

This commit is contained in:
Cita
2026-03-31 15:02:24 +08:00
committed by GitHub
parent e8921e63ce
commit 3ce5179fed
3 changed files with 56 additions and 6 deletions
+14 -6
View File
@@ -34,10 +34,18 @@ function normalizeStableTag(value?: string | null): string {
return normalizeStableVersion(value);
}
function hasSameStableTag(left?: string | null, right?: string | null): boolean {
const normalizedLeft = normalizeStableTag(left);
const normalizedRight = normalizeStableTag(right);
return !!normalizedLeft && normalizedLeft === normalizedRight;
function hasSameImageTag(left?: string | null, right?: string | null): boolean {
const rawLeft = normalizeString(left);
const rawRight = normalizeString(right);
if (!rawLeft || !rawRight) return false;
const stableLeft = normalizeStableTag(left);
const stableRight = normalizeStableTag(right);
if (stableLeft && stableRight) {
return stableLeft === stableRight;
}
return rawLeft === rawRight;
}
export function normalizeStableVersion(value?: string | null): string {
@@ -76,7 +84,7 @@ export function isSameImageTarget(
return currentDigest === targetDigest;
}
return hasSameStableTag(current?.imageTag, target.tag);
return hasSameImageTag(current?.imageTag, target.tag);
}
export function buildUpdateReminderCandidateKey(
@@ -138,7 +146,7 @@ export function resolveUpdateReminderCandidate(input: {
}
const helperDigest = normalizeDigest(input.helper?.imageDigest);
if (dockerDigest && helperDigest && hasSameStableTag(input.helper?.imageTag, dockerTag) && helperDigest !== dockerDigest) {
if (dockerDigest && helperDigest && hasSameImageTag(input.helper?.imageTag, dockerTag) && helperDigest !== dockerDigest) {
return {
source: 'docker-hub-tag',
kind: 'new-digest',