Feat: improve autoupdates#105
Merged
Merged
Conversation
- switch app updates to manual download + explicit restart install - add per-version skip/unskip handling and manual override from Settings - add sidebar/update settings UI states, tests, and docs screenshots
mariodebono
added a commit
that referenced
this pull request
Mar 9, 2026
* feat: add manual update flow with skip support and update banners - switch app updates to manual download + explicit restart install - add per-version skip/unskip handling and manual override from Settings - add sidebar/update settings UI states, tests, and docs screenshots * chore: ensure test watch mode is disabled in vitest configuration * chore: update screenshot assets for improved visual consistency
mariodebono
added a commit
that referenced
this pull request
Mar 9, 2026
* chore: update version to 1.9.0-rc.1 and changelog * feat(autoUpdater): enhance version comparison and channel handling * ci(release): update changelog command in workflow (#94) * Chore: version (#95) chore: update version to 1.9.0-beta.1 in package.json * chore(manifest): add winget installer and locale files for 1.9.0-beta.1 (#99) * Fix/improve path overwrite (#100) * feat(fileSystem): add pathExists and fileExists functions * feat(fileSystem): add ensureDirectory function * feat(fileSystem): add localization * feat(ui): enhance project path handling and validation * Chore/clean unused and update e2e tests (#101) * chore: remove unused section * chore(e2e): update release information for 4.6.x versions * chore(e2e): refactor screenshot tests and add home override * chore(screenshots): update screenshot assets * chore(screenshots): update dark appearance screenshot * chore: bump version to 1.9.0-beta.2 (#102) * chore(manifest): add installer and locale files for 1.9.0-beta.2 (#103) * Chore: package updates (#104) * chore: update documentation screenshots and add TypeScript configuration for e2e tests * chore(deps): update package overrides for various dependencies - Updated ajv to version >=6.14.0 - Updated minimatch to versions >=3.1.3, >=3.1.4, >=10.2.1, >=10.2.3, >=5.1.7, >=5.1.8, >=9.0.6, and >=9.0.7 - Updated rollup to version >=4.59.0 - Updated tar to versions >=7.5.7, >=7.5.8, and >=7.5.10 * chore: simplify key generation in table row mappings * chore: bump version to 1.9.0 * chore(changelog): update version to v1.9.0 and fix date * refactor(installReleaseTable): simplify key generation for rows * chore(deps): update package dependencies to fix dist issue * Feat: improve autoupdates (#105) * feat: add manual update flow with skip support and update banners - switch app updates to manual download + explicit restart install - add per-version skip/unskip handling and manual override from Settings - add sidebar/update settings UI states, tests, and docs screenshots * chore: ensure test watch mode is disabled in vitest configuration * chore: update screenshot assets for improved visual consistency * chore: update mac distribution script to remove publish option (#106) * chore: update mac distribution script to remove publish option * chore: remove unused winget workflow * Chore: update wnget for 1.9.0-beta.3 (#107) * chore: add installer and locale manifests for 1.9.0-beta.3 * chore: update mac distribution script to remove publish option (#106) * chore: update mac distribution script to remove publish option * chore: remove unused winget workflow * chore: bump version to 1.9.0-beta.4 (#108) * chore: update version to 1.9.0 and changelog (#109)
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 app update handling logic, user preferences, and end-to-end screenshot testing. The main focus is on supporting the ability for users to skip specific app versions, override skipped versions, and explicitly control update downloads and installations. The changes also enhance test coverage and documentation screenshots for various update states.
App update handling and user preferences:
skip-app-update,unskip-app-update, and enhancedcheck-updates) insrc/electron/app.ts. The logic ensures that skipped versions are suppressed unless overridden, and preferences are updated accordingly. [1] [2]semverto reliably determine if a candidate version is newer than a skipped version.download-app-update) to support manual update flows.End-to-end screenshot and test enhancements:
e2e/documentationScreenshot.spec.tsto cover all update banner and settings tab states, including skipped and manually overridden versions. Refactored navigation and state setup to support these scenarios. [1] [2]Auto-update test improvements:
src/electron/autoUpdater.test.tsto verify suppression of skipped versions, manual override, explicit download and install flows, and event listener registration order.Miscellaneous:
package.jsonto1.9.0-beta.3and modified mac distribution script to avoid publishing during builds. [1] [2]These changes collectively enhance user control over app updates, improve reliability, and provide comprehensive documentation and test coverage for all update-related scenarios.