Repository navigation
feat(update): notify when a newer release is available; prep 0.4.0 - #12
Merged
Merged
Conversation
One GET to the GitHub releases API per launch, compared against this build with the same version parsing the profile stamp uses. If something newer exists, a notice appears at the bottom of the sidebar and opens releases/latest in the browser. Slidr never downloads or installs anything itself: there is no updater process, nothing to elevate and nothing to roll back if the check is wrong. Failures (offline, rate-limited, unparseable answer) are silent - a machine with no network must not greet its owner with an error. The check is opt-out under Settings -> Updates, which also carries a "Check now" button and shows the running version. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The crate version is what the update check compares against the newest release tag, so it has to match the tag being cut - left at 0.3.0, every 0.4.0 install would announce an update to itself. The udev rule existed only in the repository. Someone who downloaded the Linux binary from the releases page - which is the documented way to get it - had no way to reach the file the README tells them to install, and hit a root-only serial port instead. It is now a release asset. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Tells the user when a newer release exists, and gets the tree ready to cut 0.4.0.
Update check
One GET to the GitHub releases API per launch, on a detached thread with a 10s
timeout, compared against this build with the same version parsing the profile
stamp already uses (
v0.4.0->0.4.0, pre-release suffixes ignored).Slidr never downloads or installs anything by itself: on a hit it offers a link
that opens
releases/latestin the browser. No updater process, nothing toelevate, nothing to roll back if the check is wrong.
Failures are silent by design - offline, rate-limited or an unparseable answer
all read as "no news", so a machine with no network does not greet its owner
with an error dialog on startup.
is unchanged for someone who is up to date. Clicking it opens the page.
Settings::update_check),the running version, the check status, "Check now" and "Download".
Release prep
check compares against it, so a 0.4.0 build left at 0.3.0 would permanently
announce an update to itself.
packaging/99-slidr.rulesis now a release asset. It existed only in therepository, so anyone who downloaded the Linux binary - the documented way to
get it - could not reach the file the README tells them to install, and hit a
root-only serial port instead.
Testing
vprefix, 404/garbage payloads);cargo test52/52 green.[INFO slidr::glue] no update: 0.3.0 is current.Closes #7 is not claimed here - the libxdo fix landed in 5bf5030; close it
when 0.4.0 is published.
🤖 Generated with Claude Code