Commit graph

21 Commits

Autor SHA1 Nachricht Datum
Claude Dev
5a7c5f8779 fix: Token-Nutzung war innerhalb von Einstellungen verschachtelt
Fehlendes schließendes </div> für sub-settings eingefügt,
sodass Token-Nutzung als eigener Tab gerendert wird.
2026-03-18 00:15:43 +01:00
Claude Dev
44425c6ef8 feat: Token-Nutzung Tab sichtbar + Budget-Bearbeitung
- display:none entfernt, .active-Klasse greift jetzt korrekt
- Budget-Formular mit 4 Feldern (Credits, Kosten/Credit, Budget-Limit, Verbrauch)
- Formular wird mit aktuellen Werten vorbelegt
- Speichern aktualisiert Lizenz und lädt Daten neu
2026-03-18 00:12:51 +01:00
Claude Dev
7cd36959b0 feat: Credits-System — Token-Usage-Router, Budget-Verwaltung, Frontend-Übersicht
- Neuer Router /api/token-usage mit Overview, Org-Detail, Monatsstatistik
- Budget-Felder (credits_total, cost_per_credit, token_budget_usd) bei Lizenz-Erstellung
- Token-Nutzung Sub-Tab in Org-Detail mit Verbrauchsbalken und Monatstabelle
- Dashboard Stat-Card für API-Kosten gesamt
- CSS Dark-Theme Styling für Token-Komponenten
2026-03-17 23:59:49 +01:00
Claude Dev
3828d7c8bf fix: Branding auf AegisSight vereinheitlicht, Select-Bug behoben, SMTP korrigiert
- 3 Options (russische-staatspropaganda, russische-opposition, syrien-nahost)
  in den Select-Tag verschoben (waren außerhalb und nicht auswählbar)
- IntelSight -> AegisSight in E-Mail-Templates und JWT Issuer/Audience
- MAGIC_LINK_BASE_URL: osint.intelsight.de -> monitor.aegis-sight.de
- SMTP Default: noreply@aegis-sight.de

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:29:37 +01:00
Claude Dev
1d9de549ec Neue Kategorie russische-opposition in Verwaltungs-UI + 10 neue Telegram-Kanaele (Wave 3) 2026-03-13 19:08:44 +01:00
claude-dev
29f3e73480 Fix: Duplikat-Check + Stale-Check in Streaming-Endpoint
- Duplikat-Check in search-fix auf source_id+type umgestellt
- Stale-Check im Streaming-Endpoint überspringt web_sources

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:05:46 +01:00
claude-dev
d46eac4733 Fortschrittsanzeige beim Health-Check (SSE-Streaming)
- Neuer Endpoint /health/run-stream mit Server-Sent Events
- Frontend zeigt Fortschrittsbalken: 4/12 + Quellenname + Prozent
- Status-Icons pro Quelle (Fehler/Warnung/OK)
- Phase Vorschläge wird separat angezeigt
- Ergebnis-Zusammenfassung verschwindet nach 5 Sekunden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:35:37 +01:00
claude-dev
eaceb5ef6b Vorschlagssystem: Sonnet-Prompt, Auto-Reject, Titellimit
- Sonnet: max 3 Lösungen, echte Umlaute erzwingen
- Auto-Reject: deactivate_source wird abgelehnt wenn fix_url akzeptiert
- Titel-Limit von 80 auf 120 Zeichen erhöht

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:29:19 +01:00
claude-dev
efc6ed3918 Fix: Confirm-Dialog Text angepasst (keine Kostenangabe im Max-Abo)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:10:24 +01:00
claude-dev
991bd17b07 Lösung suchen Button bei Deaktivierungs-Vorschlägen hinzugefügt
Button erscheint neben Annehmen/Ablehnen bei deactivate_source-
Vorschlägen mit source_id. Startet Sonnet WebSearch-Recherche
nach Alternativen bevor man deaktiviert.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:04:35 +01:00
claude-dev
bcaf6a270b Fix: Escaped Backticks durch korrekte nested Template-Literale ersetzt
`...` innerhalb von ${}  Expressions ist kein valides JS und
verhinderte Variablen-Substitution + crashte das Script in manchen
Browsern, wodurch alle Quellen-Tabs nicht funktionierten.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:00:42 +01:00
claude-dev
a8d5d16db2 Fix: formatDate-Kollision, implizites event, onclick-Escaping
- formatDate() in source-health.js zu formatDateTime() umbenannt,
  damit app.js formatDate() nicht überschrieben wird
- searchFix(): data-Attribute statt inline onclick-String (XSS-sicher)
- searchFix(btn): expliziter Parameter statt implizites event.target

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:51:13 +01:00
claude-dev
fb5ed358bd Fix: Tab-Navigation + Umlaute in app.js
sourceSubTabs vom Haupt-Navigation-Handler ausgeschlossen -
verhindert dass Source-Sub-Tabs die Hauptnavigation stören
und Inhalte unterhalb anderer Tabs angezeigt werden.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:38:26 +01:00
claude-dev
75dd9b0669 Fix: Sources-Section in main-Container verschoben
Sources lag außerhalb von <main class="app-content"> und hatte
dadurch kein max-width/padding - ging auf volle Bildschirmbreite.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:35:35 +01:00
claude-dev
be0f31344a Sonnet-WebSearch "Lösung suchen" für kaputte Quellen
- POST /health/search-fix/{source_id}: Sonnet recherchiert Alternativen
- Button "Lösung suchen" bei Erreichbarkeits-Fehlern im Health-Tab
- Gefundene Lösungen werden automatisch als Vorschläge gespeichert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 16:33:11 +01:00
claude-dev
7045a5c657 Quellen-Health UI: Tab, API-Endpunkte, Vorschläge
- Neuer Sub-Tab "Quellen-Health" mit Vorschlägen + Check-Ergebnissen
- API: GET /health, GET /suggestions, PUT /suggestions/{id}, POST /health/run
- Vorschläge annehmen/ablehnen mit Auto-Ausführung
- Badge-Styles für Health-Status und Prioritäten
- Umlaute in Source-Modal und Dashboard korrigiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 15:26:31 +01:00
claude-dev
dbd5568296 Quellenverwaltung: Filter, Sortierung, Artikelzähler, Umlaute
- Filter-Dropdowns für Typ, Kategorie und Status
- Sortierbare Spalten (Name, Domain, Typ, Kategorie, Artikel, Status)
- Artikel-Spalte zeigt article_count an
- Umlaute korrigiert (Löschen, Übernehmen, Läuft ab, Hinzugefügt von)
- 53 kaputte/doppelte Quellen bereinigt (Bashinho, Netzpolitik, Facebook)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 14:51:31 +01:00
claude-dev
801944a7ea feat: Discovery-Funktion in Grundquellen-Verwaltung integriert
- POST /api/sources/discover: URL analysieren, RSS-Feeds erkennen, Duplikate prüfen
- POST /api/sources/discover/add: Erkannte Feeds als Grundquellen anlegen (inkl. Web-Source)
- Erkennen-Button und Modal im Dashboard mit Feed-Auswahl per Checkbox
- Duplikat-Erkennung zeigt bereits vorhandene Grundquellen an
- source_rules aus Monitor importiert für Feed-Discovery und Claude-Bewertung
- config.py um Discovery-Konfiguration erweitert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 20:04:18 +01:00
claude-dev
19fbf152eb Feat: Grundquellen-Verwaltung und Kundenquellen-Übersicht
- Neuer Tab "Quellen" mit Sub-Tabs "Grundquellen" und "Kundenquellen"
- Grundquellen: CRUD (Erstellen, Bearbeiten, Löschen) - gilt für alle Monitore
- Kundenquellen: Übersicht aller tenant-spezifischen Quellen mit Org-Zuordnung
- Kundenquellen können zu Grundquellen befördert werden
- Suche/Filter in beiden Ansichten
- Sources-Router mit vollständiger API

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:46:45 +01:00
claude-dev
af6040cbf6 Refactor: Name-Feld entfernen, Email als einziger Identifier
- Name-Spalte aus Nutzertabelle entfernt
- Anzeigename-Feld aus Nutzer-Anlegen-Dialog entfernt
- Username wird automatisch aus Email-Prefix generiert
- UserCreate Model: username jetzt optional

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 18:55:30 +01:00
claude-dev
e5a11d3549 Initial commit: AegisSight-Monitor-Verwaltung 2026-03-04 17:53:19 +01:00