Automatische Updates
Wie Oleafly seinen plattformübergreifenden Updater-Feed baut, signiert, prüft und veröffentlicht.
Oleafly nutzt das Updater-Plugin von Tauri. Beim Start prüft die App das neueste GitHub-Release und öffnet ihr eigenes Update-Fenster, wenn eine neuere Version verfügbar ist. Benutzer können auch über das Anwendungsmenü oder Über Oleafly → Nach Updates suchen prüfen.
Release-Feed
Abschnitt betitelt „Release-Feed“Jeder Plattform-Build erzeugt signierte Updater-Artefakte und ein latest.json-Fragment. Der Release-Workflow hält diese Fragmente getrennt, bis alle vier Builds fertig sind, und führt dann die Einträge jedes Ziels zu einem kanonischen Manifest zusammen.
Das finale Manifest muss Einträge für macOS Apple Silicon, Windows x64, Linux x64 und Linux ARM64 enthalten. Es bleibt an ein Draft-Release angehängt, bis eine betreuende Person den abgesicherten Veröffentlichungs-Workflow ausführt. Installierte Apps sehen den Draft nicht.
Die App lädt die latest.json von GitHub Releases herunter. Vor der Installation prüft Tauri die Updater-Signatur gegen den öffentlichen Schlüssel, der in src-tauri/tauri.conf.json eingebettet ist. Fehlende, unsignierte oder veränderte Artefakte werden abgelehnt.
Die Releasenotizen stammen aus dem passenden Abschnitt in CHANGELOG.md. Der Workflow extrahiert diesen Abschnitt und verwendet ihn sowohl für den Text des GitHub-Releases als auch für das Updater-Fenster.
Signierschlüssel
Abschnitt betitelt „Signierschlüssel“Der öffentliche Updater-Schlüssel liegt committet in src-tauri/tauri.conf.json. Der private Schlüssel gehört ausschließlich in die Secrets von GitHub Actions:
TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD
Committen Sie den privaten Schlüssel niemals. Ist er offengelegt, erzeugen Sie ein neues Paar, aktualisieren Sie das Repository-Secret und ersetzen Sie den eingebetteten öffentlichen Schlüssel. Bestehende Installationen vertrauen ihrem eingebetteten Schlüssel, eine Rotation braucht deshalb einen geplanten manuellen Aktualisierungspfad.
Das Signieren für das Betriebssystem ist von der Updater-Signierung getrennt. macOS-Builds nutzen Apples Codesignieren und Notarisierung, wenn die Release-Secrets vorhanden sind. Windows-Builds nutzen Azure Artifact Signing, wenn dessen Zugangsdaten vorhanden sind.
Fehler und Rollback
Abschnitt betitelt „Fehler und Rollback“Eine fehlgeschlagene Prüfung oder ein fehlgeschlagener Download lässt die installierte Anwendung unverändert. Ein Signaturfehler blockiert die Installation. Die Anwendung startet erst neu, nachdem der verifizierte Download erfolgreich installiert wurde.
Oleafly macht ein abgeschlossenes Update nicht automatisch rückgängig. Um zu einer früheren Version zurückzukehren, schließen Sie die App, sichern Sie wichtige Projekte, laden Sie den früheren offiziellen Installer herunter, prüfen Sie ihn und installieren Sie ihn über die aktuelle Version.
Siehe Oleafly veröffentlichen für den Draft- und Veröffentlichungsprozess.