docs(quick-260917-kgc): Aktenstand — Update in der Desktop-App, alle Nachweise erbracht, Wiedereinstieg bereinigt
Tessera CI/CD / Lint & Type Check (push) Successful in 53s
Tessera CI/CD / Tests (push) Successful in 1m5s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 18s
Tessera CI/CD / Build & Publish Images (push) Successful in 4m22s

Quick 260917-kgc (Plan/Recherche/Bericht/Verifikation) und Schnellfix a6d1a64
in der Quick-Task-Tabelle; Nachweise in allen sechs Berichten nachgetragen
(Playwright lokal, CI-Laeufe 382-384, Windows-Test-VM: In-App-Update
7479cb4 -> a6d1a64). Ueberholte .continue-here-Dateien entfernt,
Desktop-Client-Todo geschlossen.

Dieser Push aendert nichts unter apps/desktop -- er ist zugleich der
Beweisfall 2 des CI-Desktop-Skips (Pakete aus dem Zwischenspeicher).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016g2npLxzH5gZpg8s2S6vKh
This commit is contained in:
2026-09-18 11:29:14 +02:00
parent a6d1a648d1
commit efbd6e8974
12 changed files with 1039 additions and 164 deletions
@@ -1,69 +0,0 @@
---
context: phase
phase: 18-desktop-client-fertigstellen
task: 3
total_tasks: 3
status: complete
last_updated: 2026-09-17T07:38:47.449Z
---
## Critical Anti-Patterns
| Pattern | Description | Severity | Prevention Mechanism |
|---------|-------------|----------|---------------------|
| Fenster ohne Startseite | Tauri-Fenster `main` hatte keine `url`; im gebauten Paket erschien "asset not found: index.html" (Altlast Phase 6, nie in einem echten Paket sichtbar). Lokaler `cargo check`/AppImage-Bau fing es nicht. | advisory | `tauri.conf.json` `app.windows[].url = "setup.html"` (b6d9013); Startseite im Binary per `strings target/release/tessera-desktop \| grep setup.html` pruefen |
| Rust-Bau frisst den Host | 8 parallele rustc-Prozesse des CI-Runners (auf demselben Host wie Gitea + Dev-Stack, 15 GB) -> Speichergrenze, Claude Code beendete eine Hintergrundaufgabe | advisory | `CARGO_BUILD_JOBS: "4"` im Job `desktop` (b6d9013); bei Rust-Vollbau lokal nicht parallel zur CI messen |
| Gitea-API ohne Token | `https://git.vicolab.de/api/v1/...` antwortet 401 ohne Token | advisory | Token aus `git config --get remote.origin.pushurl` lesen (nie ausgeben), gegen `http://localhost:3002/api/v1/...` |
<current_state>
Phase 18 (Desktop-Client) ist ABGESCHLOSSEN und gepusht (626f60e): Verifikation passed, Windows-Bedienprobe des Users bestanden (Pakete aus CI-Lauf 369, Commit 03fd85a). Nichts ist angefangen. Der User startet die VM nach einer RAM/CPU-Aenderung neu; als Naechstes soll der Bau-Benchmark wiederholt und mit der Referenz verglichen werden.
</current_state>
<completed_work>
Completed Tasks (diese Sitzung, 2026-09-16/17):
- Sechs Quick-Tasks Dashboard (260916-hiv/htc/iex/j4f/jvj/k2z): URL-Platzhalter Kalenderquellen, Kalender-Widget nach Vorbild personal-dashboard (Monatsraster + Naechste Termine + 3 Einstellungen), Notiz-Haekchen abhakbar, Favoriten-Titel, Link-Widget entfernt (Migration), Tooltip-Umbruch, Notiz-Farbmodus, Changelog-Stichpunkte, Plaketten in Kalenderfarbe, Mehrfach-Kreise, Markdown-Aufzaehlungspunkte — alle gepusht, CI 365 gruen
- Phase 18, 6 Plaene: 18-01 Durchstich Linux (Manifest-Skript, API /desktop/latest + /desktop/download/:platform, Abbild), 18-02 CI-Job desktop + Cache-Uebergabe + Release-Anhaenge, 18-03 Web (Anmeldeseite-Link, Einstellungen -> Allgemein -> Desktop-App), 18-04 Client (Erststart-Seite per Rust-Kommandos, Versionspruefung, Tray Update/Autostart, Icons), 18-05 Windows-Cross-Bau (1 Korrekturrunde: clippy), 18-06 Handbuecher/Changelog/REQUIREMENTS
- Code-Review (1 kritisch, 3 Warnungen) behoben + Commit-Stempel via TESSERA_COMMIT
- Schnellkorrektur Startseite setup.html + CARGO_BUILD_JOBS=4 (b6d9013)
- Benchmark-Referenz vor dem Umbau erfasst (memory/reference_benchmark_dev_host.md)
</completed_work>
<remaining_work>
- Benchmark nach dem Neustart wiederholen (vier Befehle, Rechner idle) und vergleichen
- Beim naechsten Freigabe-Tag (1.2.0): Release-Anhaenge am Gitea-Release + Update-Hinweis im Client beobachten (18-UAT.md #2/#3) — nur Beobachtung, kein Code offen
- Freigabe 1.2.0 selbst nur auf Zuruf des Users (Kap. 9 Betriebshandbuch)
</remaining_work>
<decisions_made>
- Installer in Tessera herunterladbar UND am Gitea-Release (User); Windows per Cross-Bau auf Linux; Pakete im API-Abbild (kein Gitea-Zugang vom Live-Server noetig); Server-Adresse beim Erststart; Update nur Hinweis + Link; keine Signierung (SmartScreen-Hinweis im Handbuch)
- Beta-Builds: Version X.Y.Z des letzten Tags + Commit-Stempel im Dateinamen/Manifest; Client vergleicht auf beta Version + Commit
- Kalender-Widget: keine Quellenauswahl pro Widget (User: nur Optik)
- Mandantenfaehigkeit und Lizenzierung ruhen weiterhin (nicht ansprechen)
</decisions_made>
<blockers>
- keine
</blockers>
## Required Reading (in order)
1. `.planning/STATE.md` — Aktenstand, Quick-Task-Tabelle, Phase 18 Complete
2. `memory/reference_benchmark_dev_host.md` (Claude-Memory) — Benchmark-Referenz und Befehle
3. `.planning/phases/18-desktop-client-fertigstellen/18-UAT.md` — was beim naechsten Tag zu beobachten ist
4. `docs/anleitung-betrieb.md` Kap. 9 (Freigabe) und Kap. 10 (Desktop-Pakete)
## Infrastructure State
- Beta (alpha.tessera.ctl.de): Stand main 03fd85a-Pakete, vom User gepullt; Live: v1.1.0
- Lokaler Docker-Stack (api/web/db/mailhog) laeuft, API-Abbild mit 1.1.0-Desktop-Manifest; Gitea + Runner auf demselben Host
- Playwright MCP: Browser-Binary nachinstalliert (`npx @playwright/mcp@latest install-browser chrome-for-testing`)
- VM wird vom User neu gestartet (RAM/CPU-Aenderung) — danach `nproc`/`free -h` neu erfassen
<context>
Alles committet und gepusht, Arbeitsbaum leer. Naechste Sitzung beginnt mit dem Benchmark-Vergleich; danach gibt es keinen offenen Auftrag — auf den User warten (Freigabe 1.2.0 oder neue Wuensche).
</context>
<next_action>
Start with: `nproc && free -h`, dann die vier Benchmark-Befehle aus memory/reference_benchmark_dev_host.md (kein CI-Lauf parallel), Tabelle vorher/nachher an den User.
</next_action>