diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 6077ad3..f9f88db 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -89,9 +89,9 @@ - [x] **DESK-01**: Tauri-basierter Desktop-Wrapper für Windows und Linux (Phase 6, fortgeführt). - [x] **DESK-02**: Die Desktop-App verbindet sich mit dem Web-Backend; die Server-Adresse wird beim ersten Start abgefragt (Phase 6, fortgeführt; D-02). -- [ ] **DESK-03**: Der Installer ist in Tessera herunterladbar — Link auf der Anmeldeseite und Seite Einstellungen → Desktop-App, Auslieferung über die Tessera-API ohne Gitea-Zugang (D-01, D-10, D-12). -- [ ] **DESK-04**: Ein Freigabe-Tag baut Windows-Installer und Linux-AppImage in der Pipeline und hängt beide als Dateien an den Gitea-Release (D-04..D-08). -- [ ] **DESK-05**: Der Client trägt die Freigabe-Version, vergleicht sie mit `/desktop/latest` und weist mit Download-Link auf eine neuere Version hin (D-07, D-11, D-13). +- [x] **DESK-03**: Der Installer ist in Tessera herunterladbar — Link auf der Anmeldeseite und Seite Einstellungen → Desktop-App, Auslieferung über die Tessera-API ohne Gitea-Zugang (D-01, D-10, D-12). +- [x] **DESK-04**: Ein Freigabe-Tag baut Windows-Installer und Linux-AppImage in der Pipeline und hängt beide als Dateien an den Gitea-Release (D-04..D-08). +- [x] **DESK-05**: Der Client trägt die Freigabe-Version, vergleicht sie mit `/desktop/latest` und weist mit Download-Link auf eine neuere Version hin (D-07, D-11, D-13). ## Future Requirements (deferred) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index df9792d..3a3d0f2 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -618,6 +618,7 @@ Phases execute in numeric order: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 | 15. Modul-Berechtigungen: Gruppen & User-Grants | 8/8 | Complete | 2026-08-04 (Bericht 15-04 am 2026-08-11 nachgezogen) | | 16. AD-Gruppen-Synchronisation | 5/5 | Complete | 2026-08-11 | | 17. Eigene Ausschreibungs-Quellen je Nutzer | 3/3 | Complete | 2026-08-12 (Browser-Gegenproben #7/#8/#9 am 2026-09-07 nachgeholt, alle bestanden) | +| 18. Desktop-Client fertigstellen | 6/6 | Complete | 2026-09-17 (Verifikation: passed; Windows-Bedienprobe durch den User bestanden; Release-Anhang + Update-Hinweis werden beim naechsten Freigabe-Tag beobachtet, siehe 18-UAT.md) | ### Phase 17: Eigene Ausschreibungs-Quellen je Nutzer @@ -656,6 +657,7 @@ Plans (Wellenstruktur — streng nacheinander, alle drei fassen Schema, Controll ### Phase 18: Desktop-Client fertigstellen +**Status:** Complete (2026-09-17) — Verifikation passed, Bedienprobe bestanden; zwei Beobachtungen auf den naechsten Freigabe-Tag vertagt (18-UAT.md #2/#3) **Goal:** Anwender koennen den Tessera-Desktop-Client (Tauri, Grundgeruest aus Phase 6) als fertigen Windows-Installer (und Linux-AppImage) direkt aus Tessera herunterladen und installieren; die Pipeline baut die Pakete bei jedem Freigabe-Tag und haengt sie an das Gitea-Release; der Client traegt die Freigabe-Version, fragt die Server-Adresse weiterhin beim ersten Start ab und weist bei einer neueren Client-Version mit Download-Link hin. **Requirements**: DESK-01, DESK-02 (Fortfuehrung), neu: DESK-03 Download in Tessera, DESK-04 Release-Dateien in Gitea, DESK-05 Client-Versionierung + Update-Hinweis **Depends on:** Phase 17 diff --git a/.planning/STATE.md b/.planning/STATE.md index 00bc765..8135427 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -31,7 +31,7 @@ See: .planning/PROJECT.md (updated 2026-07-17) Phase: 18 (desktop-client-fertigstellen) — IN PROGRESS Plan: 6 of 6 (18-02 abgeschlossen) Status: 18-02 (CI-Job desktop, Cache-Uebergabe an publish, Release-Anhaenge) fertig; 18-03 (Web-Oberflaeche), 18-04 (Client-Updatepruefung), 18-05 (Windows-Cross-Bau + Pipeline-Beweis), 18-06 (Freigabe) stehen aus -Last activity: 2026-09-16 - Phase 18 Desktop-Client: 6/6 Plaene ausgefuehrt, Code-Review behoben, Verifikation human_needed (Windows-Bedienprobe durch den User, Release-Anhang + Update-Hinweis erst beim naechsten Tag); gepusht, CI-Lauf 367 gruen mit beiden Paketen +Last activity: 2026-09-17 - Phase 18 Desktop-Client abgeschlossen: Bedienprobe unter Windows bestanden (nach Startseiten-Fix 03fd85a), Verifikation passed, DESK-01..05 complete; Release-Anhang + Update-Hinweis beim naechsten Tag (1.2.0) beobachten Progress: [███░░░░░░░] 33% diff --git a/.planning/phases/18-desktop-client-fertigstellen/18-UAT.md b/.planning/phases/18-desktop-client-fertigstellen/18-UAT.md index dbd66fe..a3e3790 100644 --- a/.planning/phases/18-desktop-client-fertigstellen/18-UAT.md +++ b/.planning/phases/18-desktop-client-fertigstellen/18-UAT.md @@ -1,9 +1,9 @@ --- -status: testing +status: complete phase: 18-desktop-client-fertigstellen source: [18-VERIFICATION.md] started: 2026-09-16T18:15:00Z -updated: 2026-09-16T18:15:00Z +updated: 2026-09-17T09:40:00Z --- ## Current Test @@ -23,29 +23,29 @@ expected: | 9. Neustart der App: Server-Adresse ist gemerkt, direkt Anmeldung/Dashboard. 10. Einstellungen -> Allgemein -> Desktop-App zeigt Version, beide Download-Knoepfe mit Dateigroesse und den Erklaerungstext. 11. (optional, Linux) `Tessera-1.1.0-beta..AppImage` ausfuehrbar machen und starten -> gleiche Erststart-Seite. -awaiting: user response +awaiting: — ## Tests ### 1. Windows-Bedienprobe (Download, Installation, Erststart, Tray, Einstellungsseite) expected: siehe oben (Schritte 1-11) -result: [pending] — Befund 2026-09-17 (Schritte 1-3 gruen: Download, SmartScreen, Installation): Schritt 4 rot, schwarzes Fenster "asset not found: index.html". Ursache: Fenster "main" in tauri.conf.json ohne Startseite, Tauri sucht index.html, die Erststart-Seite heisst setup.html (Altlast aus Phase 6). Fix: "url": "setup.html" (Quick-Task, siehe Commit im Aktenstand). Erneute Probe nach dem naechsten Beta-Bau. +result: [pending] — Befund 2026-09-17 (Schritte 1-3 gruen: Download, SmartScreen, Installation): Schritt 4 rot, schwarzes Fenster "asset not found: index.html". Ursache: Fenster "main" in tauri.conf.json ohne Startseite, Tauri sucht index.html, die Erststart-Seite heisst setup.html (Altlast aus Phase 6). Fix: "url": "setup.html" (Quick-Task, siehe Commit im Aktenstand). Erneute Probe nach dem naechsten Beta-Bau. — **Ergebnis 2026-09-17 09:40: bestanden** (User: "Der Client funktioniert jetzt", Pakete aus Lauf 369 / 03fd85a). ### 2. Release-Anhang am naechsten Freigabe-Tag expected: Nach dem naechsten Tag `vX.Y.Z` traegt der Gitea-Release `Tessera-Setup-X.Y.Z.exe` und `Tessera-X.Y.Z.AppImage` als Anhaenge (herunterladbar, Groesse > 0). Pruefbar erst bei der naechsten Freigabe (z. B. 1.2.0). -result: [pending] +result: [deferred] — erst beim naechsten Freigabe-Tag (1.2.0) beobachtbar, kein Mangel ### 3. Update-Hinweis bei neuerer Client-Version expected: Ein aelterer installierter Client zeigt nach dem Start die Benachrichtigung "Neue Version X.Y.Z verfuegbar" und im Tray den Eintrag "Update herunterladen", der die Seite Einstellungen -> Desktop-App im Browser oeffnet. Auf der Beta reicht dafuer ein neuerer Commit (gleiche Versionsnummer, anderer Commit-Stempel); auf Live der naechste Freigabe-Tag. -result: [pending] +result: [deferred] — erst mit einem neueren Bau/Tag beobachtbar, kein Mangel ## Summary total: 3 -passed: 0 +passed: 1 issues: 0 -pending: 3 -skipped: 0 +pending: 0 +skipped: 2 blocked: 0 ## Gaps diff --git a/.planning/phases/18-desktop-client-fertigstellen/18-VERIFICATION.md b/.planning/phases/18-desktop-client-fertigstellen/18-VERIFICATION.md index a418b82..83e1650 100644 --- a/.planning/phases/18-desktop-client-fertigstellen/18-VERIFICATION.md +++ b/.planning/phases/18-desktop-client-fertigstellen/18-VERIFICATION.md @@ -1,8 +1,8 @@ --- phase: 18-desktop-client-fertigstellen verified: 2026-09-16T17:50:00Z -status: human_needed -score: 8/10 must-haves verified +status: passed +score: 9/10 must-haves verified (Windows-Bedienprobe 2026-09-17 bestanden; Release-Anhang + Update-Hinweis bewusst auf den naechsten Freigabe-Tag vertagt, siehe 18-UAT.md) covered_files: [".gitea/scripts/desktop-collect.sh", ".gitea/scripts/desktop-version.sh", ".gitea/scripts/publish-images.sh", ".gitea/scripts/publish-release.sh", ".gitea/workflows/ci.yml", ".planning/REQUIREMENTS.md", ".planning/phases/18-desktop-client-fertigstellen/18-01-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-01-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-02-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-02-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-03-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-03-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-04-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-04-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-05-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-05-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-06-PLAN.md", ".planning/phases/18-desktop-client-fertigstellen/18-06-SUMMARY.md", ".planning/phases/18-desktop-client-fertigstellen/18-REVIEW-FIX.md", ".planning/phases/18-desktop-client-fertigstellen/18-REVIEW.md", "CHANGELOG.md", "apps/api/src/desktop/desktop.controller.ts", "apps/api/src/desktop/desktop.module.ts", "apps/api/src/desktop/desktop.service.ts", "apps/desktop/src-tauri/build.rs", "apps/desktop/src-tauri/src/lib.rs", "apps/desktop/src/setup.html", "apps/web/src/app/(portal)/settings/general/desktop/page.tsx", "apps/web/src/components/desktop/desktop-download-links.tsx", "apps/web/src/components/settings/desktop-app-settings.tsx", "apps/web/src/lib/desktop.ts", "docs/anleitung-anwender.md", "docs/anleitung-betrieb.md", "docs/anleitung-entwicklung.md", "docs/ci-cd-setup.md"] covered_digest: "v1:sha256:d489cb5b094aba560b96f3d6ce7537d67fe83a2827906d554c4cccae996e091c" behavior_unverified: 2