feat: check for updates with install-aware reminder#35
Merged
Conversation
Floating bottom-right banner shown when update-available is set, with the new version, an install-method-specific upgrade hint, an Update button that opens the release page, and a dismiss control. Rust wiring follows.
On launch (not mock mode), once per day when the update-check setting is on, GET the latest GitHub release on a background thread, compare it with semver to the compiled version, and if newer show the reminder banner. The upgrade hint is chosen from how the binary was installed (Homebrew, Scoop, or curl/ manual via std::env::current_exe path inspection); clicking Update opens the release page. The throttle timestamp is persisted up front on the UI thread since the Rc settings store cannot move into the worker.
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.
Summary
Changes
app/src/update.rs:ureqGET of the latest GitHub release,semvercompare vsCARGO_PKG_VERSION, 24h throttle, install-method detection (Homebrew / Scoop / curl-manual viacurrent_exepath). Unit-tested.app/src/ui/app-window.slint: floating bottom-right banner (version + upgrade hint + Update + dismiss).app/src/main.rs: launch check off the UI thread (skipped in mock), gated byupdate_check, persists throttle timestamp up front; banner callbacks (open release page / dismiss).app/Cargo.toml:ureq,semver,open.Test plan
cargo test -p rdbs --bin rdbs update(version compare, throttle, install-method mapping).make lint/ workspace tests green.