Skip to content

Feat: improve autoupdates#105

Merged
mariodebono merged 3 commits into
release/1.9from
feat/1.9/improve-autoupdates
Mar 7, 2026
Merged

Feat: improve autoupdates#105
mariodebono merged 3 commits into
release/1.9from
feat/1.9/improve-autoupdates

Conversation

@mariodebono
Copy link
Copy Markdown
Contributor

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:

  • Added support for skipping app update versions and manually overriding skipped versions via new IPC handlers (skip-app-update, unskip-app-update, and enhanced check-updates) in src/electron/app.ts. The logic ensures that skipped versions are suppressed unless overridden, and preferences are updated accordingly. [1] [2]
  • Introduced version normalization and comparison utilities using semver to reliably determine if a candidate version is newer than a skipped version.
  • Added explicit IPC handler for downloading updates (download-app-update) to support manual update flows.

End-to-end screenshot and test enhancements:

  • Expanded screenshot scenarios in e2e/documentationScreenshot.spec.ts to 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]
  • Refactored screenshot configuration and helper functions to allow theme-aware navigation and flexible stubbed app data, improving test maintainability and coverage. [1] [2] [3]
  • Updated test logic to pass theme context to navigation and cleanup functions for each screenshot. [1] [2]

Auto-update test improvements:

  • Added tests in src/electron/autoUpdater.test.ts to verify suppression of skipped versions, manual override, explicit download and install flows, and event listener registration order.

Miscellaneous:

  • Updated app version in package.json to 1.9.0-beta.3 and 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.

- 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 mariodebono merged commit c653ff2 into release/1.9 Mar 7, 2026
1 check passed
@mariodebono mariodebono deleted the feat/1.9/improve-autoupdates branch March 7, 2026 11:55
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant