Desktop-Updatekompatibilität
Koordiniert Updateinstallation mit laufender Arbeit, lokalen Schemamigrationen und Wiederherstellungsgrenzen.
desktop-updates-compatibility
Entdecke, wie der Skill hilftWann ist der Skill hilfreich?
Nutze dies, wenn eine neue Version gespeicherte Daten ändert oder laufende Arbeit unterbrechen könnte.
Wobei hilft er dir?
- Trennt Updatedownload von Installation und notwendigen Neustartentscheidungen.
- Bereitet Sicherungen und wiederholungssichere Migrationen lokaler Daten vor.
- Prüft, ob ältere Programme das migrierte Schema noch lesen können.
Das könntest du fragen
Plane ein Update während eines Exports mit Neustartzeitpunkt und Wiederherstellung bei Migrationsfehlern. Lade während des Exports herunter und installiere erst danach. Erprobe Migrationsfehler auf einer erhaltenen Datenkopie, bevor du eine sichere Rückkehr zusicherst.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Updates & Data Compatibility
Desktop users upgrade across arbitrary version gaps (v1.1.0 $\rightarrow$ v1.8.0), may have active background tasks running when an update downloads, and store their SQLite database locally on disk. Design updates so an upgrade never interrupts active work or corrupts local data.
Non-Disruptive Auto-Update Lifecycle
- Separate Download from Installation (
autoInstallOnAppQuit):- Download updates quietly in the background (
autoDownload = trueor user-confirmed) and verify cryptographic signatures and SHA-512 / Ed25519 checksums before staging. - Never force an immediate restart (
quitAndInstall()) while an agent run, file write, or user edit is in progress! - Surface a calm, non-blocking "Update ready — Restart to apply" badge in the UI, or apply the update automatically on the next clean quit (
autoInstallOnAppQuit = true) after stopping the embedded server and checkpointing SQLite.
- Download updates quietly in the background (
- Release Channels & Staged Rollout:
- Support explicit update channels (
stable,beta,canary) and staged rollout percentages (stagingPercentageinlatest.yml/latest-mac.yml) so new builds are validated by early adopters before reaching 100% of installations. - Ensure macOS auto-update feeds include both
.zip(required bySquirrel.Mac) and.dmg(for manual downloads) inlatest-mac.yml.
- Support explicit update channels (
Local Schema Migration & Forward/Backward Safety
Unlike a cloud database where an engineer watches a single migration run, a desktop SQLite migration runs unattended on thousands of diverse user machines at startup:
- Automatic Pre-Migration Database Backup:
- Before applying pending SQLite schema migrations when
user_version/ migration table version advances, copyapp.db(using SQLite's onlineVACUUM INTO 'app.db.pre-v1.8.0.bak'or file copy before opening writes) insideuserData/backups/and keep the last $N$ version snapshots.
- Before applying pending SQLite schema migrations when
- Idempotent, Transactional Migrations:
- Run each migration script inside an explicit transaction (
BEGIN IMMEDIATE ... COMMIT) and record applied versions in aschema_migrationstable. - If a migration fails on startup, roll back the transaction, log the exact error and schema version to the diagnostic log, and present a clear recovery dialog (offering to restore the automatic backup or export logs) rather than crashing with an blank white window.
- Run each migration script inside an explicit transaction (
- Downgrade Awareness:
- If the user launches an older application binary against a database already migrated by a newer version (
db_version > app_supported_version), detect the version mismatch immediately on startup and refuse to run destructive writes rather than silently corrupting newer columns.
- If the user launches an older application binary against a database already migrated by a newer version (
Enthaltene Dateien 1
SKILL.md
Über dieses Skill-Paket
desktop-updates-compatibility
desktop-updates-compatibility: Entwickelt Desktop-Apps mit zuverlässigen nativen Grenzen, lokalen Daten, Prozesslebenszyklen, Paketen und Updates.
Weniger anzeigen
desktop-updates-compatibility
desktop-updates-compatibility: Entwickelt Desktop-Apps mit zuverlässigen nativen Grenzen, lokalen Daten, Prozesslebenszyklen, Paketen und Updates.
Enthält den vollständigen Skill und seine Begleitdateien (1 Dateien). Der genaue, ursprünglich verfasste Anwendungsbereich bleibt unten erhalten.
Ursprüngliche Skill-Beschreibung (Quellsprache)
Use when implementing desktop auto-updaters (electron-updater, Tauri updater), staged release channels, local database schema migrations across versions, or safe update installation without interrupting active user work.
Installiere den Skill, prüfe seine Quelle und Vertrauenseinstellungen und aktiviere ihn für das passende Projekt oder den Agenten.
Voraussetzungen
- Orqestria auf deinem Computer installiert.
