# Phase 6: Desktop Client & CI/CD - Discussion Log > **Audit trail only.** Do not use as input to planning, research, or execution agents. > Decisions are captured in CONTEXT.md — this log preserves the alternatives considered. **Date:** 2026-06-25 **Phase:** 06-desktop-client-ci-cd **Areas discussed:** Desktop-App Verhalten, Fenster & Erscheinung, Build & Verteilung, Gitea-Automatisierung --- ## Desktop-App Verhalten | Option | Description | Selected | |--------|-------------|----------| | Reiner Wrapper | Nur Fenster mit Web-App, keine nativen Features | | | Wrapper + System Tray | Web-App + Tray + Autostart | | | Wrapper + Tray + Notifications | Wie oben + native OS-Benachrichtigungen | ✓ | **User's choice:** Wrapper + Tray + Notifications | Option | Description | Selected | |--------|-------------|----------| | Feste URL | Server-Adresse beim Build eingebaut | | | Konfigurierbar | Benutzer gibt URL beim ersten Start ein | ✓ | | Auto-Discovery | mDNS/Bonjour im lokalen Netz | | **User's choice:** Konfigurierbar | Option | Description | Selected | |--------|-------------|----------| | In Tray minimieren | App bleibt im Tray, Beenden nur ueber Menu | ✓ | | Beenden mit Nachfrage | Dialog beim X-Klick | | | Konfigurierbar | In Einstellungen waehlbar | | **User's choice:** In Tray minimieren | Option | Description | Selected | |--------|-------------|----------| | Ja, standardmaessig | Autostart aktiviert per default | | | Nein, manuell | Kein Autostart | | | Optional, aus | Option vorhanden, Standard: deaktiviert | ✓ | **User's choice:** Optional, aus --- ## Fenster & Erscheinung | Option | Description | Selected | |--------|-------------|----------| | Native OS-Titelleiste | Standard-Fensterrahmen | | | Custom Titelleiste | Eigene Titelleiste im Tessera-Design | | | Claude entscheidet | Basierend auf Aufwand und Design-System | ✓ | **User's choice:** Claude entscheidet | Option | Description | Selected | |--------|-------------|----------| | Maximiert | Startet im Vollbildmodus | | | Zentriert 1280x800 | Feste Startgroesse | | | Letzten Zustand merken | Speichert Position + Groesse | ✓ | **User's choice:** Letzten Zustand merken | Option | Description | Selected | |--------|-------------|----------| | Kein App-Menu | Nur Web-Oberflaeche | | | Minimales Menu | Beenden, Info/Version | | | Claude entscheidet | Basierend auf Plattform-Konventionen | ✓ | **User's choice:** Claude entscheidet | Option | Description | Selected | |--------|-------------|----------| | Eigenes Tessera-Icon | Brauchen Icon-Design | ✓ | | Platzhalter-Icon | Standard-Tauri-Icon erstmal | | | Claude erstellt eins | Generiertes Icon basierend auf Design-System | | **User's choice:** Eigenes Tessera-Icon --- ## Build & Verteilung **Linux-Format:** **User's choice:** AppImage (distro-uebergreifend) **Notes:** User betonte Distro-Unabhaengigkeit als Prioritaet | Option | Description | Selected | |--------|-------------|----------| | MSI | Windows Installer, Enterprise | | | NSIS (EXE) | Setup-Wizard | | | Beide | MSI + EXE | | | Claude entscheidet | Basierend auf Zielgruppe | ✓ | **User's choice:** Claude entscheidet (Windows Installer-Format) **Auto-Update:** **Claude's Empfehlung angenommen:** Update-Hinweis (prueft ob neue Version da, zeigt Notification, manueller Download) | Option | Description | Selected | |--------|-------------|----------| | Ohne Signierung | Windows zeigt Warnung, fuer intern OK | | | Spaeter | Erst relevant bei externem Verkauf | ✓ | | Claude entscheidet | | | **User's choice:** Spaeter --- ## Gitea-Automatisierung **Kritische Klaerung:** User stellte klar dass Gitea-Integration KEIN Feature der Tessera-App ist. Git/Gitea ist reines Entwicklungs-Tooling. Claude (nicht die App) pushed Code nach Gitea bei Meilensteinen. | Option | Description | Selected | |--------|-------------|----------| | Nur Auto-Push | Automatisch committed und gepusht | | | Push + CI Pipeline | Auto-Push + Gitea Actions | | | Full CI/CD | Push + Build/Test + Docker + Deploy | ✓ | **User's choice:** Full CI/CD **Notes:** Push ist NICHT automatisch — Claude pusht manuell bei Meilensteinen/grossen Bugfixes **Pipeline-Schritte (alle gewaehlt):** - Lint + Type Check ✓ - Tests ausfuehren ✓ - Docker Images bauen ✓ - Auto-Deploy ✓ | Option | Description | Selected | |--------|-------------|----------| | Gleicher Server | Tessera + Gitea auf einem Server | ✓ | | Separater Server | Tessera woanders, Images ueber Registry | | **User's choice:** Gleicher Server --- ## Claude's Discretion - Titelleiste: Nativ vs. Custom - App-Menueleiste: Kein Menu vs. minimales Menu - Windows Installer-Format: MSI vs. NSIS - Gitea Actions Workflow-Struktur - Docker Image Registry Strategie ## Deferred Ideas - Auto-Update mit Tauri Updater (spaeter wenn Update-Server verfuegbar) - Code Signing (bei externem Verkauf) - macOS Support - Gitea Webhooks fuer externe Events