summaryrefslogtreecommitdiff
path: root/macos/Sources/Features
diff options
context:
space:
mode:
authorMitchell Hashimoto <m@mitchellh.com>2025-10-08 21:16:07 -0700
committerMitchell Hashimoto <m@mitchellh.com>2025-10-08 21:16:07 -0700
commit9e17255ca9f097ebcccb0025ce32c798360f31a0 (patch)
tree1a10779c11d583e4ab267b4a78b54cf2139b4b46 /macos/Sources/Features
parent95a9e6340134cafc084fe560b8f2c94e8e7baac6 (diff)
macos: "OK" should dismiss error
Diffstat (limited to 'macos/Sources/Features')
-rw-r--r--macos/Sources/Features/Update/UpdateDriver.swift4
-rw-r--r--macos/Sources/Features/Update/UpdatePopoverView.swift1
-rw-r--r--macos/Sources/Features/Update/UpdateSimulator.swift3
-rw-r--r--macos/Sources/Features/Update/UpdateViewModel.swift1
4 files changed, 8 insertions, 1 deletions
diff --git a/macos/Sources/Features/Update/UpdateDriver.swift b/macos/Sources/Features/Update/UpdateDriver.swift
index 00f74e9ed..6627559e8 100644
--- a/macos/Sources/Features/Update/UpdateDriver.swift
+++ b/macos/Sources/Features/Update/UpdateDriver.swift
@@ -38,7 +38,9 @@ class UpdateDriver: NSObject, SPUUserDriver {
}
func showUpdaterError(_ error: any Error, acknowledgement: @escaping () -> Void) {
- viewModel.state = .error(.init(error: error, retry: retryHandler))
+ viewModel.state = .error(.init(error: error, retry: retryHandler, dismiss: { [weak viewModel] in
+ viewModel?.state = .idle
+ }))
}
func showDownloadInitiated(cancellation: @escaping () -> Void) {
diff --git a/macos/Sources/Features/Update/UpdatePopoverView.swift b/macos/Sources/Features/Update/UpdatePopoverView.swift
index 39c4ac5c9..cbe517f74 100644
--- a/macos/Sources/Features/Update/UpdatePopoverView.swift
+++ b/macos/Sources/Features/Update/UpdatePopoverView.swift
@@ -336,6 +336,7 @@ fileprivate struct UpdateErrorView: View {
HStack(spacing: 8) {
Button("OK") {
+ error.dismiss()
dismiss()
}
.keyboardShortcut(.cancelAction)
diff --git a/macos/Sources/Features/Update/UpdateSimulator.swift b/macos/Sources/Features/Update/UpdateSimulator.swift
index 0cf2d221b..96fab4835 100644
--- a/macos/Sources/Features/Update/UpdateSimulator.swift
+++ b/macos/Sources/Features/Update/UpdateSimulator.swift
@@ -92,6 +92,9 @@ enum UpdateSimulator {
]),
retry: {
simulateHappyPath(viewModel)
+ },
+ dismiss: {
+ viewModel.state = .idle
}
))
}
diff --git a/macos/Sources/Features/Update/UpdateViewModel.swift b/macos/Sources/Features/Update/UpdateViewModel.swift
index 05f7eef9a..f0b779d60 100644
--- a/macos/Sources/Features/Update/UpdateViewModel.swift
+++ b/macos/Sources/Features/Update/UpdateViewModel.swift
@@ -172,6 +172,7 @@ enum UpdateState: Equatable {
struct Error {
let error: any Swift.Error
let retry: () -> Void
+ let dismiss: () -> Void
}
struct Downloading {