From c72a7923e3ea7e96cfca316c006f5f5cd3e2f961 Mon Sep 17 00:00:00 2001 From: superdooper86 Date: Thu, 7 May 2026 16:25:02 +0200 Subject: [PATCH] =?UTF-8?q?v1.0.0=20final=20=E2=80=94=20fix=20update=20not?= =?UTF-8?q?ification=20dedup,=20beta=20badge=20format?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ClaudeChecker/UpdateManager.swift | 11 ++++++----- version.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ClaudeChecker/UpdateManager.swift b/ClaudeChecker/UpdateManager.swift index 50d3310..af0af20 100644 --- a/ClaudeChecker/UpdateManager.swift +++ b/ClaudeChecker/UpdateManager.swift @@ -46,6 +46,8 @@ class UpdateManager: ObservableObject { @Published var updateComplete = false @Published var justUpdated = false + private var notifiedVersion: String = "" + @Published var betaChannel: Bool = false { didSet { UserDefaults.standard.set(betaChannel, forKey: "beta_channel") @@ -70,14 +72,13 @@ class UpdateManager: ObservableObject { if let stable = await stableResult { print("[UpdateManager] Stable remote=\(stable.version), isNewer=\(isNewer(stable.version, than: currentVersion))") if isNewer(stable.version, than: currentVersion) { - let wasAvailable = updateAvailable latestVersion = stable.version releaseNotes = stable.notes ?? "" downloadURL = stable.url updateAvailable = true print("[UpdateManager] updateAvailable set to true") - // Only notify once — when first detected - if !wasAvailable { + if notifiedVersion != stable.version { + notifiedVersion = stable.version NotificationCenter.default.post(name: .updateDetected, object: stable.version) } } else { @@ -94,12 +95,12 @@ class UpdateManager: ObservableObject { latestBetaVersion = beta.version betaAvailable = true if betaChannel && isNewer(beta.version, than: latestVersion) { - let wasAvailable = updateAvailable latestVersion = beta.version releaseNotes = beta.notes ?? "" downloadURL = beta.url updateAvailable = true - if !wasAvailable { + if notifiedVersion != beta.version { + notifiedVersion = beta.version NotificationCenter.default.post(name: .updateDetected, object: beta.version) } } diff --git a/version.json b/version.json index b83ab78..af54eca 100644 --- a/version.json +++ b/version.json @@ -1,5 +1,5 @@ { - "version": "3.0.1", + "version": "1.0.0", "url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.0/ClaudeChecker.zip", "notes": "Initial release." }