mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
refactor(apple): Downgrade update check transient errors (#7847)
These can fail sporadically and we don't need to capture them. However, for users who may be experiencing consistent failures or otherwise wondering why their client isn't able to check for updates, we leave them as `warning`.
This commit is contained in:
@@ -46,14 +46,30 @@ class UpdateChecker {
|
||||
let task = URLSession.shared.dataTask(with: versionCheckUrl) { [weak self] data, response, error in
|
||||
guard let self = self else { return }
|
||||
|
||||
if let error = error {
|
||||
if let error = error as NSError?,
|
||||
error.domain == NSURLErrorDomain,
|
||||
[
|
||||
NSURLErrorTimedOut,
|
||||
NSURLErrorCannotFindHost,
|
||||
NSURLErrorCannotConnectToHost,
|
||||
NSURLErrorNetworkConnectionLost,
|
||||
NSURLErrorDNSLookupFailed,
|
||||
NSURLErrorNotConnectedToInternet
|
||||
].contains(error.code) // Don't capture transient errors
|
||||
{
|
||||
Log.warning("\(#function): Update check failed: \(error)")
|
||||
|
||||
return
|
||||
} else if let error = error {
|
||||
Log.error(error)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
guard let versionInfo = VersionInfo.from(data: data) else {
|
||||
let attemptedVersion = String(data: data ?? Data(), encoding: .utf8) ?? ""
|
||||
Log.error(UpdateError.invalidVersion(attemptedVersion))
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@@ -68,11 +84,10 @@ class UpdateChecker {
|
||||
|
||||
self.notificationAdapter.showUpdateNotification(version: latestVersion)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
task.resume()
|
||||
}
|
||||
task.resume()
|
||||
}
|
||||
|
||||
static func downloadURL() -> URL {
|
||||
if BundleHelper.isAppStore() {
|
||||
|
||||
Reference in New Issue
Block a user