v1.0.0 final — fix update notification dedup, beta badge format
This commit is contained in:
@@ -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
@@ -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."
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user