mirror of
https://git.eden-emu.dev/archive/citron
synced 2026-03-26 11:29:33 -04:00
feat: Add automatic update system with background checking
Implement a complete auto-updater system for Citron with the following features: - Add UpdaterService class for handling update checks, downloads, and installations - Add UpdaterDialog with progress tracking and user interaction - Support both .zip and .7z archives with Windows PowerShell fallback - Automatic background update checking on startup (3-second delay) - Silent notifications when updates are available - Manual "Check for Updates" menu option in Help menu - User setting to enable/disable automatic update checks (enabled by default) - Graceful error handling with detailed logging - Restart functionality after successful updates - Libarchive integration for cross-platform archive support The system uses HTTP URLs to bypass SSL library compatibility issues and provides a smooth user experience with minimal interruption during automatic checks. Manual updates show a full dialog with progress tracking and changelog information. Fixes update distribution workflow and keeps users informed of new releases. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
@@ -617,6 +617,9 @@ struct Values {
|
||||
Category::WebService};
|
||||
Setting<std::string> citron_token{linkage, std::string(), "citron_token", Category::WebService};
|
||||
|
||||
// Updater
|
||||
Setting<bool> enable_auto_update_check{linkage, true, "enable_auto_update_check", Category::WebService};
|
||||
|
||||
// Add-Ons
|
||||
std::map<u64, std::vector<std::string>> disabled_addons;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user