Enhance update functionality and logging#4726
Merged
Gabriel Dufresne (GabrielDuf) merged 7 commits intomainfrom May 8, 2026
Merged
Enhance update functionality and logging#4726Gabriel Dufresne (GabrielDuf) merged 7 commits intomainfrom
Gabriel Dufresne (GabrielDuf) merged 7 commits intomainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances UniGetUI’s self-update experience across WinUI and Avalonia by adding per-attempt update logging, improved user-facing update status reporting (including “View log” actions), a manual “check for updates” command in the Avalonia sidebar, and stronger process termination during install/uninstall.
Changes:
- Added a per-update-attempt log (persisted to a temp file) and “View log” affordances for update banners, plus startup detection of interrupted/orphaned update attempts.
- Added manual “Check for UniGetUI updates” UI entry points (WinUI menu item + Avalonia sidebar command) and richer Avalonia banner status updates via a new
StatusChangedevent. - Updated installer/uninstaller behavior to terminate
UniGetUI.Avalonia.exeto prevent file-replacement conflicts.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
UniGetUI.iss |
Ensures the Avalonia executable is terminated during install/uninstall to avoid update conflicts. |
src/UniGetUI/Pages/MainView.xaml |
Adds a WinUI menu item to manually trigger a UniGetUI update check. |
src/UniGetUI/Pages/MainView.xaml.cs |
Wires the new WinUI menu item to invoke the updater in manual/verbose mode. |
src/UniGetUI/AutoUpdater.cs |
Adds per-attempt update logging, orphaned-attempt detection, and improved installer-exit handling + “View log” actions. |
src/UniGetUI.Avalonia/Views/SidebarView.axaml |
Adds “Check for UniGetUI updates” menu item to the Avalonia sidebar. |
src/UniGetUI.Avalonia/ViewModels/SidebarViewModel.cs |
Adds a command to trigger manual update checks from the Avalonia UI. |
src/UniGetUI.Avalonia/ViewModels/MainWindowViewModel.cs |
Subscribes to updater status events and surfaces them through the Updates banner; checks for orphaned attempts at startup. |
src/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs |
Adds per-attempt logging, richer status reporting, orphaned-attempt detection, and multi-platform installer launch behaviors. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Marc-André Moreau (mamoreau-devolutions)
approved these changes
May 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the update flow for UniGetUI, focusing on better logging, user feedback, and robustness in handling interrupted update attempts. The changes also add a user-facing command to manually check for updates in the Avalonia UI and ensure all running app variants are properly terminated during updates or installation.
Key changes include:
Auto-updater logging and robustness improvements:
AutoUpdater.cs, allowing users to view logs specific to their last update attempt. This log is now used for all update-related logging, with new helper methods (LogUpdateInfo,LogUpdateWarn, etc.) replacing directLoggercalls. A "View log" button is now provided in relevant update banners for better troubleshooting.User interface enhancements:
SidebarViewModel.Installer and process management:
UniGetUI.Avalonia.exeis also terminated during updates or uninstallation, preventing conflicts when replacing files. This change is reflected in both the Inno Setup script and theKillRunningAppsprocedure.These changes collectively make the update process more transparent, robust, and user-friendly.