ScanSync: Log-Tabellen im Dashboard¶
Zeit für ein paar kleinere Fixes für ScanSync. Im ScanSync-Dashboard war bisher nur der File-Naming-Step sichtbar. Was OCR und Sync tatsächlich taten, blieb im Verborgenen – wer etwas schieflief, musste in die Container-Logs tauchen.
Was wurde gebaut¶
Zwei neue Log-Tabellen im Dashboard: eine für OCR-Jobs, eine für Sync-Jobs. Beide paginiert und filterbar, identisch zur vorhandenen File-Naming-Ansicht.
Die Datenschicht kam zuerst: Die schon länger vorhandene, aber bislang ungenutzte ocr_jobs-Tabelle wird endlich befüllt; eine neue sync_jobs-Tabelle kam dazu. Beide Services schreiben auf jedem Pfad – Erfolg wie Fehler – einen Eintrag mit Status und menschenlesbarer Fehlermeldung. Ein Log, das nur die Erfolge zeigt, ist genau dann nutzlos, wenn man es braucht.
Auf der API-Seite teilen sich /api/ocr-logs und /api/sync-logs denselben Helper _fetch_job_logs – kein doppelter Code, keine zwei Stellen zum Pflegen. Im Frontend fasst eine Factory createLogsTable die Tabellenlogik zusammen, statt sie dreimal zu duplizieren. Jede Instanz hat eigenen Pagination- und Filter-State, lädt lazy beim Aufklappen.
Außerdem, SSE¶
Die SSE-Verbindung für Live-Updates öffnet sich jetzt nur noch auf Seite 1 – auf späteren Seiten ändert sich ohnehin nichts live. Alle sechs Services wurden auf aktuelle Abhängigkeiten gehoben, der CI-Workflow auf Python 3.13 gepinnt.