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." }