From 3914ea9b71da50620a53a8520db1830d946b7ee9 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 15 Apr 2026 02:13:42 +0200 Subject: [PATCH] fix: show changelog notice when stored version is missing or older --- .../components/changelog-notification.tsx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/web/src/lib/changelog/components/changelog-notification.tsx b/apps/web/src/lib/changelog/components/changelog-notification.tsx index c45eaaac..4433df30 100644 --- a/apps/web/src/lib/changelog/components/changelog-notification.tsx +++ b/apps/web/src/lib/changelog/components/changelog-notification.tsx @@ -25,20 +25,17 @@ export function ChangelogNotification() { // localStorage unavailable } - // First-time visitor: record the version silently, nothing to announce. - if (storedVersion === null) { - try { - localStorage.setItem(STORAGE_KEY, latest.version); - } catch { - // ignore - } - return; - } + const isOutdated = + storedVersion === null || + storedVersion.localeCompare(latest.version, undefined, { + numeric: true, + }) < 0; - // Already seen this version. - if (storedVersion === latest.version) return; + // TODO(v0.4): revert to the standard "null = first-time visitor, record silently" + // path. The null case intentionally shows the card for this release so existing + // users who never had the key get the 0.3.0 announcement. + if (!isOutdated) return; - // New version since last visit: record it and show the notification. try { localStorage.setItem(STORAGE_KEY, latest.version); } catch {