Feature: Automatische Update-Prüfung beim Start #76

Open
opened 2026-04-29 07:04:02 +02:00 by marcus · 0 comments
Owner

Beschreibung

Beim Anwendungsstart wird im Hintergrund geprüft, ob im Gitea-Repository eine neuere Version verfügbar ist. Der Benutzer erhält einen diskreten Hinweis – kein automatischer Download, kein Zwang.

Gewünschtes Verhalten

  • Versionsprüfung läuft asynchron im Hintergrund (kein Blockieren des Starts)
  • Vergleich: lokale Version (aus MANIFEST.MF, → Issue #67) vs. neueste Version im Gitea-Release
  • Bei verfügbarem Update: Hinweis in der Statuszeile oder als einmaligen Info-Dialog
  • Kein Update-Dialog bei Fehler (kein Netz, Gitea nicht erreichbar) – stilles Ignorieren
  • Prüfung kann in den Properties deaktiviert werden: update.check.enabled=true

Technische Umsetzung

  • Gitea Releases API: GET /api/v1/repos/marcus/pdf-umbenenner/releases/latest
  • HTTP-Aufruf über bestehende HTTP-Infrastruktur oder einfachen HttpClient-Call im Bootstrap
  • Versionsvergleich via Semantic Versioning (einfacher String-Vergleich reicht für den Anfang)

Abhängigkeiten

  • Issue #67 (Versionierung) – die lokale Version muss zuverlässig aus dem Build stammen; ohne das ist dieser Check wertlos
  • Issue #50 (Statuszeile) – Update-Hinweis kann dort angezeigt werden
## Beschreibung Beim Anwendungsstart wird im Hintergrund geprüft, ob im Gitea-Repository eine neuere Version verfügbar ist. Der Benutzer erhält einen diskreten Hinweis – kein automatischer Download, kein Zwang. ## Gewünschtes Verhalten - Versionsprüfung läuft asynchron im Hintergrund (kein Blockieren des Starts) - Vergleich: lokale Version (aus MANIFEST.MF, → Issue #67) vs. neueste Version im Gitea-Release - Bei verfügbarem Update: Hinweis in der Statuszeile oder als einmaligen Info-Dialog - Kein Update-Dialog bei Fehler (kein Netz, Gitea nicht erreichbar) – stilles Ignorieren - Prüfung kann in den Properties deaktiviert werden: `update.check.enabled=true` ## Technische Umsetzung - Gitea Releases API: `GET /api/v1/repos/marcus/pdf-umbenenner/releases/latest` - HTTP-Aufruf über bestehende HTTP-Infrastruktur oder einfachen `HttpClient`-Call im Bootstrap - Versionsvergleich via Semantic Versioning (einfacher String-Vergleich reicht für den Anfang) ## Abhängigkeiten - Issue #67 (Versionierung) – die lokale Version muss zuverlässig aus dem Build stammen; ohne das ist dieser Check wertlos - Issue #50 (Statuszeile) – Update-Hinweis kann dort angezeigt werden
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcus/pdf-umbenenner#76