154 lines
4.9 KiB
Markdown
154 lines
4.9 KiB
Markdown
# 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
|