# Changelog Alle bedeutenden Änderungen an diesem Projekt werden in diesem Dokument dokumentiert. Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), und das Versionsierung folgt dem [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [FE-4] — 2025-01-XX — Docker Deployment, HTTPS, Tests ### Added - **Dockerfile**: Verbessert mit HEALTHCHECK, Error-Handling (`|| exit 1`), multi-stage build - **Caddyfile**: HTTPS mit Let's Encrypt (automatisch wenn CADDY_DOMAIN gesetzt), Security Headers (X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Content-Security-Policy, Referrer-Policy, Permissions-Policy), gzip + zstd Compression - **docker-compose.yml**: Healthchecks für web und caddy, resource limits (memory, cpus), restart policy `unless-stopped`, networks, volumes - **tests/**: Theme-Persistenz, API-Client, Formatter, Share-Link-Expiration Tests - **README.md**: Komplette Dokumentation mit Architektur-Diagramm, Installation, Nutzung, Environment Variables ### Changed - Share-Links: Token-basiert mit Ablaufzeit (24h, 48h, 7Tage, 14Tage, 30Tage, Nie) und Max-Views (1, 10, 50, Unbegrenzt) - Share-Link-Seite ist PUBLIC (kein Auth erforderlich), Read-Only ## [FE-3] — Full-Featured Research-Ansicht ### Added - **Error-System**: `ErrorBannerStore.ts` + `ErrorBanner.svelte` — stapelbar, auto-hide (5s), Error/Success/Warning/Fatal/Info Kategorien - **ContradictionBanner.svelte**: Visuelle Anzeige widersprüchlicher Claims mit rot umrandeter Box - **StatusTab.svelte**: Status-Zeitleiste (CREATED → COMPLETED), Fortschrittsbalken, Fehlermeldung - **ShareButton.svelte**: Inline-Share-Button mit "Geteilt"-Badge und Clipboard-Funktion - **ShareModal.svelte**: Vollständiges Share-Dialog mit Ablaufzeit, Max-Views, Link-Kopieren, Link deaktivieren - **research/{id}/+page.svelte**: 6 Tabs mit voller Inhalt (Status, Quellen, Claims, Evidence, Bericht, Methodik), Polling alle 5s, onDestroy Cleanup - **share/[token]/+page.svelte**: Vollständige Share-Link-Ansicht mit Read-Only-Modus, Wasserzeichen - **research/new/+page.svelte**: Char-Counter (max 500), Language-Auswahl, Depth-Auswahl, Loading-State ### Changed - Research-Detail-Seite: Vollständige 6-Tab-Implementierung mit Polling - Share-Modal: Ablaufzeit-Slider, Max-Views, visuelles Feedback ## [FE-2] — API-Anbindung, Share-Links, Markdown ### Added - `research-api.ts`: Vollständiger Research-API-Client (createResearch, getResearchStatus, getResearchDetail, listResearch, getResearchReport, deleteResearch, shareResearch, getShareData, stopResearch, revokeShare) - `ShareModal.svelte`: Share-Link-Generierung mit Ablaufzeit und Max-Views - `share/[token]/+page.svelte`: Public Read-Only Share-Ansicht - `ReportTab.svelte`: Markdown-Report mit Download als JSON/Markdown/Text - `svelte-markdown` als Dependency für Markdown-Rendering ## [FE-1] — Login, Sidebar, Research-Layout ### Added - Login-Seite mit API-Key-Auth - Sidebar mit Research-Historie - Research-Detail-Layout mit Tabs - Theme-Toggle (Dark/Light) ## [FE-0] — Projektgrundgerüst ### Added - SvelteKit + TailwindCSS + TypeScript Setup - Dockerfile + docker-compose.yml für Deployment - Basis-Komponenten und Layout - API-Client Grundgerüst