- Streaming-Endpoint /grobsortierung/stream hatte keine ZUGFeRD-Prüfung,
dadurch wurden alle PDFs (inkl. Lieferscheine) bei direkt_verschieben
in den ZUGFeRD-Ordner verschoben statt nur ZUGFeRD-konforme
- ZUGFeRD-Logik sauber im if ist_pdf Block mit eigenem Verschiebe-Block,
korrektem Status "zugferd" und Statistik-Zählung
- Inkonsistenten Default 'separieren' auf 'normal' in verarbeite_ordner
korrigiert (konsistent mit Scheduler und Streaming-Endpoint)
- Status "verschoben" auf "direkt_verschoben" im Streaming-Endpoint
angepasst (konsistent mit DB-Status)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- execute_sortierregeln verarbeitet jetzt OrdnerRegel-Zuweisungen
(wie der Button, nicht nur freie_ordner)
- DB-Verbindung mit Retry bei Verbindungsfehlern (5 Versuche)
- SQLAlchemy 2.0 kompatibel (text() für Raw-SQL)
- Bessere Pool-Einstellungen für MariaDB
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- PUID/PGID Unterstützung für Unraid/Docker hinzugefügt
- Entrypoint-Skript für Benutzer-Wechsel
- ZUGFeRD-Dateien werden jetzt direkt in Zielordner verschoben (kein extra zugferd/ Unterordner)
- Dokumentation aktualisiert
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Grobsortierung zeigt jetzt live den Fortschritt (wie Feinsortierung)
- Neuer Streaming-Endpoint /api/grobsortierung/stream
- Sticky Header mit laufender Statistik
- Auto-Scroll zum aktuellen Eintrag
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Neue Features:
- Filter-Dropdown für Regeln nach Ordner
- Option "Ohne Zuordnung" zeigt nur Regeln ohne Ordner
- Regeln ohne Ordner-Zuweisung werden mit orangem Rand und Badge markiert
- Zugeordnete Ordner werden unter jeder Regel angezeigt
- Filter-Einstellung wird in localStorage gespeichert
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Neue Features:
- Feinsortierung mit Live-Streaming (SSE) - zeigt Fortschritt in Echtzeit
- Import/Export für Sortierregeln (JSON)
- Sortierregeln-Liste mit Sortieroptionen (Name A-Z/Z-A, Priorität)
- Checkbox "Auch Dateinamen prüfen" für Keyword-Matching
- Automatische PDF-Seitenrotation bei OCR (90°, 180°, 270°)
- Tab-Persistenz über Page-Reload (localStorage)
- Modals schließen nur noch über X-Button
Bugfixes:
- Keywords nutzen jetzt Wortgrenzen (\b) - "rechnung" matched nicht mehr "Berechnung"
- Keyword-Prüfung standardmäßig nur auf PDF-Text, nicht Dateinamen
- Natürliche Sortierung für Regelnamen (1, 2, 10 statt 1, 10, 2)
Technisch:
- Async SSE-Generator mit asyncio.sleep(0) für sofortiges Streaming
- ocrmypdf mit --rotate-pages Flag
- Timeout für OCR auf 3 Minuten erhöht
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>