Windows updates come from the Kestrove website; version 1.2.1
ci / build (ubuntu-22.04) (push) Canceled after 0s
ci / build (windows-2025) (push) Canceled after 0s
ci / deny (push) Canceled after 0s

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-30 18:57:46 +04:00
co-authored by Claude Opus 5.5
parent 57b728c7e3
commit 32eadc4d03
9 changed files with 61 additions and 46 deletions
+12 -6
View File
@@ -63,15 +63,21 @@ XWIN_ACCEPT_LICENSE=1 scripts/windows.sh
`src-tauri/Cargo.toml`, tag the commit (`git tag v<version> && git push origin v<version>`), then:
```bash
GITEA_TOKEN=<token with write:repository> TAURI_SIGNING_PRIVATE_KEY_PATH=<updater key> scripts/gitea-release.sh
GITEA_TOKEN=<token with write:repository> scripts/gitea-release.sh
```
It creates the release for the tag and uploads the installers, the browser helpers and a `SHA256SUMS` file.
**Offer it as an update (Windows):** the script also signs the installer with the updater key, uploads the
signature, and writes `updater/latest.json`. Sign the installer with the code-signing certificate first, because
the updater signature covers the final file. Installed copies are offered the update once that file is committed
and pushed to main; the script prints the commands. Keep the updater key and its password offline and backed up:
**Put it on the website and offer it as an update (Windows):**
```bash
TAURI_SIGNING_PRIVATE_KEY_PATH=<updater key> scripts/publish-update.sh
```
This signs the installer with the updater key, copies it to `downloads/` in `kestrove-website` next to this repo,
and writes `updates/latest.json` there. Sign the installer with the code-signing certificate first, because the
updater signature covers the final file. Installed copies are offered the update once the website is deployed.
Keep the updater key and its password offline and backed up:
the app only accepts updates signed with it, so losing it means existing installs can't update.
## How the browser connection works
@@ -93,7 +99,7 @@ browser extension ─(native messaging)─▶ kestrove-nmh ─(local connection)
## Updates
On Windows, Kestrove checks for a new version a minute after it starts and once a day. The check is a plain request
for `updater/latest.json` on the Kestrove Gitea: it reveals this computer's IP address and app version, and nothing
for `updates/latest.json` on the Kestrove website: it reveals this computer's IP address and app version, and nothing
from your vault. A new version appears as a banner and installs only when you choose **Update and restart**. The app
verifies the download's signature before running it. Turn checks off in **Settings → Updates**. On Linux, updates
come through your package manager.