Create UpdateController class for custom updater

Unlisted
Make an `UpdateController` class the same as https://github.com/sparkle-project/Sparkle/blob/2.x/Sparkle/SPUStandardUpdaterController.m but for our updater types.

Created UpdateController.swift modeled after SPUStandardUpdaterController. It wraps Sparkle's updater with Ghostty's custom UpdateDriver, UpdaterDelegate, and UpdateViewModel types.

I made some manual changes, try to build and fix it up.

Build successful! Fixed the error by adding try? to the updater.start() call.

Replace our updater setup in @macos/Sources/App/macOS/AppDelegate.swift with this new controller. Don't forget the menu items.
Explored 2 files, 2 searches

Now I'll replace the updater setup with the new UpdateController:

Edited 1 file (+6 -11), ran 1 search, read 1 file

Now I need to update the UpdateController to expose the updater property:

Edited 3 files (+6 -5), read 1 file

I need a different approach. Let me make updateViewModel lazy or pass it to the UpdateController after super.init:

Edited 1 file (+10 -7)

✅ Build successful! Replaced the Sparkle updater setup in AppDelegate with the new UpdateController class. Changes:

  1. Replaced SPUStandardUpdaterController with UpdateController
  2. Removed separate updaterDelegate property (now managed internally)
  3. Updated checkForUpdates(_:) action to use the controller
  4. Added menu validation for the "Check for Updates" menu item
  5. Used lazy initialization pattern to work around Swift initialization ordering