summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Hashimoto <m@mitchellh.com>2025-10-09 08:57:48 -0700
committerMitchell Hashimoto <m@mitchellh.com>2025-10-09 08:57:48 -0700
commitf2e5b8fb2dd0de1136c208654a6100dfdbd3187c (patch)
treeab1c79457cf7ee524601e31dd8523c61d910a1a5
parentbbf875216f1d771daeb4fcc28a1a8c19fe67b43e (diff)
macos: setup the standard sparkle driver for no-window scenario
If there are no windows, we use the standard sparkle driver to drive the standard window-based update UI.
-rw-r--r--macos/Sources/Features/Update/UpdateController.swift4
-rw-r--r--macos/Sources/Features/Update/UpdateDriver.swift4
2 files changed, 6 insertions, 2 deletions
diff --git a/macos/Sources/Features/Update/UpdateController.swift b/macos/Sources/Features/Update/UpdateController.swift
index 47e6c8def..8dc24698b 100644
--- a/macos/Sources/Features/Update/UpdateController.swift
+++ b/macos/Sources/Features/Update/UpdateController.swift
@@ -18,7 +18,9 @@ class UpdateController {
/// Initialize a new update controller.
init() {
let hostBundle = Bundle.main
- self.userDriver = UpdateDriver(viewModel: .init())
+ self.userDriver = UpdateDriver(
+ viewModel: .init(),
+ hostBundle: hostBundle)
self.updater = SPUUpdater(
hostBundle: hostBundle,
applicationBundle: hostBundle,
diff --git a/macos/Sources/Features/Update/UpdateDriver.swift b/macos/Sources/Features/Update/UpdateDriver.swift
index 5ff29ef75..80064854c 100644
--- a/macos/Sources/Features/Update/UpdateDriver.swift
+++ b/macos/Sources/Features/Update/UpdateDriver.swift
@@ -4,9 +4,11 @@ import Sparkle
/// Implement the SPUUserDriver to modify our UpdateViewModel for custom presentation.
class UpdateDriver: NSObject, SPUUserDriver {
let viewModel: UpdateViewModel
+ let standard: SPUStandardUserDriver
- init(viewModel: UpdateViewModel) {
+ init(viewModel: UpdateViewModel, hostBundle: Bundle) {
self.viewModel = viewModel
+ self.standard = SPUStandardUserDriver(hostBundle: hostBundle, delegate: nil)
super.init()
}