v1.0.0 final — fix update notification dedup, beta badge format

This commit is contained in:
superdooper86
2026-05-07 16:25:02 +02:00
parent 42e36372db
commit c72a7923e3
2 changed files with 7 additions and 6 deletions
+6 -5
View File
@@ -46,6 +46,8 @@ class UpdateManager: ObservableObject {
@Published var updateComplete = false @Published var updateComplete = false
@Published var justUpdated = false @Published var justUpdated = false
private var notifiedVersion: String = ""
@Published var betaChannel: Bool = false { @Published var betaChannel: Bool = false {
didSet { didSet {
UserDefaults.standard.set(betaChannel, forKey: "beta_channel") UserDefaults.standard.set(betaChannel, forKey: "beta_channel")
@@ -70,14 +72,13 @@ class UpdateManager: ObservableObject {
if let stable = await stableResult { if let stable = await stableResult {
print("[UpdateManager] Stable remote=\(stable.version), isNewer=\(isNewer(stable.version, than: currentVersion))") print("[UpdateManager] Stable remote=\(stable.version), isNewer=\(isNewer(stable.version, than: currentVersion))")
if isNewer(stable.version, than: currentVersion) { if isNewer(stable.version, than: currentVersion) {
let wasAvailable = updateAvailable
latestVersion = stable.version latestVersion = stable.version
releaseNotes = stable.notes ?? "" releaseNotes = stable.notes ?? ""
downloadURL = stable.url downloadURL = stable.url
updateAvailable = true updateAvailable = true
print("[UpdateManager] updateAvailable set to true") print("[UpdateManager] updateAvailable set to true")
// Only notify once when first detected if notifiedVersion != stable.version {
if !wasAvailable { notifiedVersion = stable.version
NotificationCenter.default.post(name: .updateDetected, object: stable.version) NotificationCenter.default.post(name: .updateDetected, object: stable.version)
} }
} else { } else {
@@ -94,12 +95,12 @@ class UpdateManager: ObservableObject {
latestBetaVersion = beta.version latestBetaVersion = beta.version
betaAvailable = true betaAvailable = true
if betaChannel && isNewer(beta.version, than: latestVersion) { if betaChannel && isNewer(beta.version, than: latestVersion) {
let wasAvailable = updateAvailable
latestVersion = beta.version latestVersion = beta.version
releaseNotes = beta.notes ?? "" releaseNotes = beta.notes ?? ""
downloadURL = beta.url downloadURL = beta.url
updateAvailable = true updateAvailable = true
if !wasAvailable { if notifiedVersion != beta.version {
notifiedVersion = beta.version
NotificationCenter.default.post(name: .updateDetected, object: beta.version) NotificationCenter.default.post(name: .updateDetected, object: beta.version)
} }
} }
+1 -1
View File
@@ -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", "url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.0/ClaudeChecker.zip",
"notes": "Initial release." "notes": "Initial release."
} }