Inkonsistenz behoben: Manche Timestamps wurden in UTC, andere in
Berlin-Zeit gespeichert. Das fuehrte zu Fehlern beim Auto-Refresh
und Faktencheck, da Zeitvergleiche falsche Ergebnisse lieferten.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Frontend-Dateien auf Zustand vor i18n zurückgesetzt.
lang.js entfernt, CSP bereinigt. Backend-Umlaut-Fix bleibt erhalten.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add LangManager with 270+ translation keys, anti-flicker lang detection
- Replace all hardcoded German strings in app.js, components.js, dashboard.html, index.html
- Dynamic getter properties for fact-check labels, category badges
- Language-aware map tiles (DE/EN OSM servers), CSP updated for tile.openstreetmap.org
- Lang switcher in header bar and login page
- Locale-aware date formatting, translateApiError for backend messages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- tile.openstreetmap.de statt OSM/CartoDB: deutsche Ortsnamen
- Graue Vierecke behoben (Subdomain 'd' existierte nicht bei OSM)
- Gleiche helle Karte in Dark und Light Mode
- CSP img-src auf neuen Tile-Server aktualisiert
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- img-src erlaubt jetzt *.basemaps.cartocdn.com (Dark-Theme)
und *.tile.openstreetmap.org (Light-Theme)
- Das war die Ursache fuer die graue Karte ohne Hintergrund
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Die Methode wurde mit 4 Argumenten aufgerufen (message, visibility,
created_by, tenant_id), akzeptierte aber nur 3. Das führte zu einem
TypeError bei jedem Auto-Refresh und WebSocket-Broadcast.