fix(system-notices): coerce prerelease app version before semver comparison

This commit is contained in:
jubnl
2026-04-16 14:58:38 +02:00
parent 5caaeff67c
commit 61b8070626
2 changed files with 9 additions and 1 deletions
+3 -1
View File
@@ -30,9 +30,11 @@ function evaluateOne(condition: NoticeCondition, ctx: ConditionContext): boolean
const userVersion = semver.valid(ctx.user.first_seen_version) ?? '0.0.0';
const noticeVersion = semver.valid(condition.version);
if (!noticeVersion) return false;
// Strip prerelease/build metadata so '3.0.0-pre.42' is treated as '3.0.0'.
const appVersion = semver.coerce(ctx.currentAppVersion)?.version ?? '0.0.0';
return (
semver.lt(userVersion, noticeVersion) &&
semver.gte(semver.valid(ctx.currentAppVersion) ?? '0.0.0', noticeVersion)
semver.gte(appVersion, noticeVersion)
);
}