Feature/automatic updates electron updater#43
Merged
Conversation
Install electron-updater package to enable automatic app updates from GitHub Releases. Refs #40
Add UpdateInfo, UpdateSettings, DownloadProgress, and UpdateResult interfaces for type-safe update handling between main and renderer. Refs #40
Create UpdateManager class to handle electron-updater lifecycle events and IPC handlers for communication between main and renderer processes. Supports check, download, install operations and settings management. Refs #40
Initialize UpdateManager on app ready and expose update API through preload script. Add 'Check for Updates' menu item. Refs #40
Implement UpdateService with signals to manage update state, event listeners, and operations (check, download, install, settings). Includes comprehensive unit tests with Jasmine. Refs #40
Create OpenUpdateDialog for displaying update notifications and OpenSettingsUpdates page for managing auto-check preferences. Includes unit tests for both components. Refs #40
Initialize UpdateService on app startup, add update dialog to layout, and register settings page route for /settings/updates. Refs #40
Add English and Spanish translations for update dialog, settings page, menu items, and all update-related UI messages. Refs #40
Add UpdateService mock to TestBed configurations in app.spec.ts and component tests to ensure proper dependency injection. Refs #40
Update workspace settings to exclude update service from coverage. Refs #40
Add security features to prevent potential tabnabbing attack when opening external links in fallback scenario. Refs #40
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.
Description
Implements automatic update handling using
electron-updater, including startup checks, user notification, controlled download/install flow, and silent install on restart while preserving local data.Goal
Reduce friction for users by enabling in-app updates from GitHub Releases with a clear UI flow and safe background installation.
Key Changes
electron-updater.Type of Change
Impact Assessment
Database Impact
Backup Impact
Testing
How Has This Been Tested?
Test Steps
npm run test:electronnpm testTest Configuration
UI Changes
Before
After
Checklist
npm run lintand fixed any issuesnpm testand all tests passnpm run test:electronand all tests passnpm run sonar:checkand the analysis passesBreaking Changes
Related Issues
Closes #
Related to #40
Additional Context
Updates are delivered from GitHub Releases and installed silently on restart, preserving local SQLite data, backups, and config.
Reviewer Notes
Please focus on the update flow: startup check, user notification, manual download/install, and restart behavior.