Problem
The current update flow checks GitHub, auto-downloads the new exe, but then requires the user to click Install which launches the new exe alongside the old one. The user must manually handle the transition. For a professional app, the update should be seamless.
Current behavior
- App checks GitHub Releases API on startup
- If newer version found, auto-downloads the exe
- User clicks 'Install' ΓÇö launches new exe
- If download blocked, 'Manual download' opens GitHub in browser
Proposed solution
Make the update fully automatic and professional:
Silent update flow
- Check for updates on startup (already done)
- Download new exe to temp location (already done)
- Verify SHA256 hash against the .sha256 file from the release
- On 'Install' click: copy new exe over old one and restart
- Use a small helper script/batch that waits for the app to close, replaces the exe, and relaunches
- Or use a staging approach: download to AppData, swap on next launch
- Show progress and status in a toast notification (if minimized to tray)
Optional: fully silent updates
- Setting: 'Auto-install updates' (off by default)
- When enabled: download + verify + stage, apply on next app restart
- Never force-restart ΓÇö apply when user naturally closes/reopens
Update notification improvements
- Tray notification when update is ready (integrates with SysManager 0.48.20 released #391)
- 'What is new' summary in the notification
- Update banner in main window (already exists, keep it)
Technical notes
- Cannot replace a running exe directly ΓÇö need helper process or staging
- SHA256 verification is critical for security
- Consider Squirrel.Windows or Velopack for professional update framework
Affected tab
About + Application-wide (update banner, tray notification)
Problem
The current update flow checks GitHub, auto-downloads the new exe, but then requires the user to click Install which launches the new exe alongside the old one. The user must manually handle the transition. For a professional app, the update should be seamless.
Current behavior
Proposed solution
Make the update fully automatic and professional:
Silent update flow
Optional: fully silent updates
Update notification improvements
Technical notes
Affected tab
About + Application-wide (update banner, tray notification)