From b5784abc55b531578f4198ee783522cf7fbbfc8a Mon Sep 17 00:00:00 2001 From: Florance Date: Sat, 27 Jun 2026 15:12:53 +0800 Subject: [PATCH] fix: only show plugin update for newer market versions Only mark installed plugins as updatable when the marketplace version is a known newer version, including pre-release-to-stable transitions. Conflict resolution also keeps per-plugin marketplace source lookup from current master. --- .../src/views/extension/useExtensionPage.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/dashboard/src/views/extension/useExtensionPage.js b/dashboard/src/views/extension/useExtensionPage.js index 2b04193b1..19d611c30 100644 --- a/dashboard/src/views/extension/useExtensionPage.js +++ b/dashboard/src/views/extension/useExtensionPage.js @@ -751,10 +751,23 @@ export const useExtensionPage = () => { } extension.update_market_plugin = matchedPlugin; - extension.online_version = matchedPlugin.version; + const localVersion = String(extension.version || "").trim(); + const onlineVersion = String(matchedPlugin.version || "").trim(); + const isKnownVersion = + /^v?\d+/.test(localVersion) && + /^v?\d+/.test(onlineVersion) && + onlineVersion !== tm("status.unknown"); + const versionCompare = isKnownVersion + ? compareVersions(localVersion, onlineVersion) + : 0; + + extension.online_version = onlineVersion; extension.has_update = - extension.version !== matchedPlugin.version && - matchedPlugin.version !== tm("status.unknown"); + isKnownVersion && + (versionCompare < 0 || + (versionCompare === 0 && + localVersion.includes("-") && + !onlineVersion.includes("-"))); }); }), );