Repository navigation
feat: check for updates and install them in the app - #2
Merged
Merged
Conversation
tskdeck looks for a newer release one minute after launch and then once a day, through tauri-plugin-updater. A card at the foot of the sidebar installs the release and relaunches the app, or hides it with Later until the app quits. Check for Updates… is in the app menu on macOS and in the command palette. Settings → General has the automatic check setting and a Check Now button. The release workflow signs the update files and uploads latest.json. It stops when the signing secrets are not set.
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.
tskdeck looks for a newer release one minute after launch and then once a day. When it finds one, a card at the foot of the sidebar shows Install and Relaunch and Later. Later hides the card until the app quits. A check that the user starts shows the card again.
src-tauri/src/updates.rsruns the checks throughtauri-plugin-updater, keeps the release found, and downloads and installs it with progress.latest.jsonto the release. Apreflightjob stops the release whenTAURI_SIGNING_PRIVATE_KEYorTAURI_SIGNING_PRIVATE_KEY_PASSWORDis not set. Both secrets are set.Versions 1.0.0 and 1.0.1 do not include the updater, so users of those versions must install the next release manually.
Tests:
npm test(488 passed),npm run typecheck,cargo test(92 unit tests and 5 update tests passed) andcargo clippy --all-targets. A full update from one release to the next can only be tested after two releases with the updater exist.