From a371bb7d7458736d40759c874ab01e1dc19bc82d Mon Sep 17 00:00:00 2001 From: beck-8 <1504068285@qq.com> Date: Fri, 5 Jun 2026 22:06:17 +0800 Subject: [PATCH] fix(providers): validate versions via ui-filecoin's parseVersionString MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Validation duplicated the package's version parsing as a local VERSION_PATTERN regex; both rejected semver prerelease suffixes (e.g. `1.28.2-rc1`), so RC builds failed validation and showed no version. Validate with the package's parseVersionString — the same parser used for the table display and CSV — and drop the duplicate VERSION_PATTERN. Prerelease handling then takes effect once @filecoin-foundation/ui-filecoin ships the prerelease-aware parser; the only remaining change is bumping that dependency. --- src/services/providers/constants.ts | 3 --- src/services/providers/version.ts | 8 +++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/services/providers/constants.ts b/src/services/providers/constants.ts index ab7b5e67..61968af1 100644 --- a/src/services/providers/constants.ts +++ b/src/services/providers/constants.ts @@ -7,6 +7,3 @@ export const PROVIDER_FETCH_LIMIT = 100 export const VERSION_FETCH_TIMEOUT = 5_000 export const VERSION_FETCH_CONCURRENCY = 20 export const PDP_PRODUCT_TYPE = 0 - -export const VERSION_PATTERN = - /^\d+\.\d+\.\d+\+\w+\+git_[a-f0-9]+_\d{4}-\d{2}-\d{2}T[\d:+-]+$/ diff --git a/src/services/providers/version.ts b/src/services/providers/version.ts index 2d9937db..9f5041c0 100644 --- a/src/services/providers/version.ts +++ b/src/services/providers/version.ts @@ -1,4 +1,6 @@ -import { VERSION_FETCH_TIMEOUT, VERSION_PATTERN } from './constants' +import { parseVersionString } from '@filecoin-foundation/ui-filecoin/Table/SoftwareVersion' + +import { VERSION_FETCH_TIMEOUT } from './constants' /** * Parse version from response text @@ -19,10 +21,10 @@ function parseVersionFromResponse(responseText: string): string { } /** - * Validate version string format + * Validate a version string using the same parser as the table display and CSV. */ function isValidVersion(version: string): boolean { - return VERSION_PATTERN.test(version) + return parseVersionString(version) !== undefined } /**