Skip to content

feat: add auto updater #117

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

feat: add auto updater #117

wants to merge 9 commits into from

Conversation

deansheather
Copy link
Member

@deansheather deansheather commented Jun 4, 2025

Adds an auto updater utility using NetSparkle.

Most of the UI matches the way it's done in NetSparkle for the built-in UIs (I referenced the Avalonia and WPF ones mostly), including most of the copy and implementation (incl. quirks). I did this in case we ever want to contribute this upstream. The only major difference is how I handle the release notes stuff.

For release notes, I use the <description> tag to generate HTML for the web view. There's a hardcoded """template""" in the source code and a copy of sindresorhus/github-markdown-css in the repo that gets included as an asset in the binary. This matches what we do on macOS but diverges from the way NetSparkle does release notes rendering using <sparkle:releaseNotesUrl> (or something like that).

  • Adds a button to the right click context menu on the tray icon for checking for updates
  • Adds custom UIs for all parts of the updater
  • Implements "action" notifications with a click handler into UserNotifier
  • Adds Serilog output to the debug output window in VS in DEBUG builds

TODO:

  • App cast generation script
  • Release pipeline modifications
  • Generate secret key and add to repo secrets
  • Publish initial 0.5.0 version manually
  • Set final security and update source related settings in NetSparkle

Follow up:

  • Integrate into the settings UI, add controls for whether it should automatically check for updates etc.

devenv_2vdCHXcF7M
explorer_eLh2FqvWI4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant