Skip to content

Editor-Updates ausrollen

Die Desktop-App aktualisiert sich selbst über das Tauri-Updater-Plugin. Der Feed ist eine statische JSON-Datei auf dem NAS, keine zweite API. Entscheidung: ADR-0018.

Nutzer: Hilfe → Über Linetra Editor (installierte Version) und Hilfe → Auf Updates prüfen.

Agenten schneiden ein Editor-Release mit /release: Changelog + Version-Pins, Tag, signierte Bundles, latest.json, Upload auf die Feed-URL unten.

Ablauf (Betreiber)

  1. Changelog [Unreleased] in eine Version ## [x.y.z] - YYYY-MM-DD umhängen; SemVer in package.json, src-tauri/tauri.conf.json und src-tauri/Cargo.toml gleichsetzen.
  2. Signiert bauen (privater Key nur lokal, siehe Editor-README):
cd linetra-editor
export TAURI_SIGNING_PRIVATE_KEY=src-tauri/updater.key
./scripts/build-release.sh
# auf einem Mac zusätzlich:
# ./scripts/build-macos.sh
  1. Feed schreiben (nimmt vorhandene .AppImage / NSIS / .app.tar.gz plus .sig unter releases/):
./scripts/write-latest-json.sh "Kurze Release-Notes"
  1. Dateien aus latest.json und releases/latest.json nach editor-updates/files/ auf dem NAS kopieren (Compose-Service editor-updates, Traefik PathPrefix(/editor-updates)). URLs in der JSON müssen zu den Dateinamen passen, z. B. https://linetra.nasarek.dev/editor-updates/Linetra-Editor_X.Y.Z_amd64.AppImage.

  2. Probe: installierte ältere Version → Hilfe → Auf Updates prüfen muss im Dialog Update x.y.z verfügbar zeigen; Update installieren lädt, prüft die Signatur und startet neu.

latest.json darf Plattformen weglassen, die in diesem Release fehlen (kein Windows-Eintrag → Windows-Clients bleiben auf der alten Version).

Erstinstallation vs. Update

OS Neu installieren In-App-Update
Linux .deb / .rpm oder AppImage AppImage + .sig
Windows NSIS *-setup.exe dieselbe .exe + .sig
macOS .dmg .app.tar.gz + .sig

Der öffentliche Key steht in tauri.conf.json. Wechsel des Key-Paars erzwingt eine Neuinstallation.