mirror of
https://github.com/maxgoedjen/secretive.git
synced 2025-04-20 06:22:12 +00:00
Dump
This commit is contained in:
parent
a748099270
commit
92a516d6dc
@ -3,11 +3,11 @@ import Combine
|
|||||||
|
|
||||||
public protocol UpdaterProtocol: ObservableObject {
|
public protocol UpdaterProtocol: ObservableObject {
|
||||||
|
|
||||||
var update: Release? { get }
|
@MainActor var update: Release? { get }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Updater: ObservableObject, UpdaterProtocol {
|
@MainActor public class Updater: ObservableObject, UpdaterProtocol {
|
||||||
|
|
||||||
@Published public var update: Release?
|
@Published public var update: Release?
|
||||||
|
|
||||||
@ -19,28 +19,28 @@ public class Updater: ObservableObject, UpdaterProtocol {
|
|||||||
self.currentVersion = currentVersion
|
self.currentVersion = currentVersion
|
||||||
if checkOnLaunch {
|
if checkOnLaunch {
|
||||||
// Don't do a launch check if the user hasn't seen the setup prompt explaining updater yet.
|
// Don't do a launch check if the user hasn't seen the setup prompt explaining updater yet.
|
||||||
checkForUpdates()
|
Task { await checkForUpdates() }
|
||||||
}
|
}
|
||||||
let timer = Timer.scheduledTimer(withTimeInterval: 60*60*24, repeats: true) { _ in
|
let timer = Timer.scheduledTimer(withTimeInterval: 60*60*24, repeats: true) { _ in
|
||||||
self.checkForUpdates()
|
Task { await self.checkForUpdates() }
|
||||||
}
|
}
|
||||||
timer.tolerance = 60*60
|
timer.tolerance = 60*60
|
||||||
}
|
}
|
||||||
|
|
||||||
public func checkForUpdates() {
|
public func checkForUpdates() async {
|
||||||
URLSession.shared.dataTask(with: Constants.updateURL) { data, _, _ in
|
guard let (data, _) = try? await URLSession.shared.data(from: Constants.updateURL) else { return }
|
||||||
guard let data = data else { return }
|
|
||||||
guard let releases = try? JSONDecoder().decode([Release].self, from: data) else { return }
|
guard let releases = try? JSONDecoder().decode([Release].self, from: data) else { return }
|
||||||
self.evaluate(releases: releases)
|
evaluate(releases: releases)
|
||||||
}.resume()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func ignore(release: Release) {
|
public func ignore(release: Release) {
|
||||||
guard !release.critical else { return }
|
guard !release.critical else { return }
|
||||||
defaults.set(true, forKey: release.name)
|
defaults.set(true, forKey: release.name)
|
||||||
DispatchQueue.main.async {
|
update = release
|
||||||
self.update = nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@MainActor private func setRelease(release: Release) {
|
||||||
|
update = release
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -57,9 +57,7 @@ extension Updater {
|
|||||||
guard !release.prerelease else { return }
|
guard !release.prerelease else { return }
|
||||||
let latestVersion = SemVer(release.name)
|
let latestVersion = SemVer(release.name)
|
||||||
if latestVersion > currentVersion {
|
if latestVersion > currentVersion {
|
||||||
DispatchQueue.main.async {
|
setRelease(release: release)
|
||||||
self.update = release
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1241,7 +1241,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 12;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
@ -1296,7 +1296,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 12;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
SDKROOT = macosx;
|
SDKROOT = macosx;
|
||||||
@ -1637,7 +1637,7 @@
|
|||||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 11.0;
|
MACOSX_DEPLOYMENT_TARGET = 12;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
Loading…
Reference in New Issue
Block a user