Skip to content

feat: check for latest GitHub release on launch - #71

Open
chanderlud wants to merge 5 commits into
masterfrom
feature/version-checking
Open

feat: check for latest GitHub release on launch#71
chanderlud wants to merge 5 commits into
masterfrom
feature/version-checking

Conversation

@chanderlud

Copy link
Copy Markdown
Owner

Closes #35

Summary

  • On launch, queries the latest GitHub release tag and compares it numerically (semver) against the installed version; when a newer version exists, a modal dialog alerts the user with a link to the release page
  • New General settings section (renamed from Interface, moved to first position, now the default) hosting the existing interface options plus an automatic-update-check toggle (persisted, default on) and a manual "Check for updates" button with SnackBar feedback
  • Update logic lives in UpdateChecker (lib/core/utils/update_checker.dart) shared by the launch hook and the settings button; failures are logged and silent for automatic checks
  • New dependencies: http, package_info_plus, url_launcher

Automatic download/install of updates is out of scope per the issue.

Tests

  • test/core/utils/update_checker_test.dart: newer/equal/older versions, API errors, malformed payloads, odd version segments (via MockClient)
  • flutter analyze clean, full suite 98/98 passing after rebase onto master (v2.8.2)

- Query the latest release tag at startup and compare against the
  installed version, showing a dialog with a link to the release page
  when a newer version exists
- Add an automatic-update-check toggle and manual check button to
  settings
- Rename the Interface settings section to General and move it first

Implements #35
url_launcher and package_info_plus pull androidx.browser:1.9.0 and
androidx.core:1.17.0, which require Android Gradle plugin 8.9.1+;
AGP 8.9 in turn requires Gradle 8.11.1+.
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.

Latest version/update check

1 participant