- Aktiviert den SQLite WAL-Modus für echtes Concurrent Reading/Writing.
- Optimiert get_next_job, um unnötige EXCLUSIVE-Locks zu vermeiden.
- Dies stellt sicher, dass Jobs nach der Verarbeitung korrekt als COMPLETED markiert werden und der Worker nicht in einer Wiederholungsschleife gefangen bleibt.
- Führt clean_text_for_so Hilfsfunktion ein, die KI-Texte auf 200 Zeichen kürzt.
- Vergleicht und sendet nur noch gekürzte Texte an SuperOffice, um Differenzen durch serverseitige Kürzung zu vermeiden.
- Fügt detailliertes Logging für erkannte Änderungen hinzu.
- Verhindert so die Endlosschleife bei Benutzern mit ID 528 (Bot-ID).
- Aktualisiert den Zeitstempel in SuperOffice nur noch dann, wenn auch andere inhaltliche Änderungen vorliegen.
- Dies verhindert, dass der Worker durch seine eigene Zeitstempel-Aktualisierung ständig neue Webhooks triggert (besonders relevant, da User und Bot die gleiche ID 528 teilen).
- Beruhigt das System und führt zu stabilen 'SUCCESS' Zuständen im Dashboard.
- Ändert die Circuit-Breaker-Logik in worker.py, damit Events von ID 528 (Bot/User-ID) nicht mehr sofort übersprungen werden.
- Dies ermöglicht manuelle Änderungen durch den Benutzer, der aktuell dieselbe ID wie der Bot verwendet.
- Mögliche Echos werden weiterhin geloggt, aber zur Verarbeitung freigegeben.
- Wiederherstellung aller Dienste in der mit korrigierten Pfaden (, ).
- Rückverschiebung aktiver Skripte ( etc.) aus dem Archiv an ihre operativen Orte.
- Hinzufügen von zur automatischen Prüfung aller Docker-Pfade.
- Systemstatus: Validiert und bereit für Umzug auf neue Infrastruktur.
- Erweitert die JobQueue um die Methode mark_as_deleted.
- Passt den Worker an, um bei ContactNotFoundException (404) den Status DELETED zu vergeben.
- Verbessert das Logging für den Wackler-Filter.
- Aktualisiert das Dashboard-Styling für den neuen DELETED-Status.
- Aktualisiert die Volume-Mount-Pfade für und .
- Beide Datenbanken wurden in das -Verzeichnis verschoben, die Pfade in der wurden nun entsprechend angepasst.
- Dies behebt die Fehler, bei denen beide Container nach einem Neustart den Zugriff auf ihre Datenbanken verloren haben.
- Aktualisiert den Pfad für das Volume-Mount der in , um auf den neuen Speicherort im -Verzeichnis zu verweisen.
- Behebt den Fehler, bei dem der -Container nach einem Neustart auf eine leere Datenbank zugegriffen hat.
- Fügt eine Early-Exit-Bedingung zum Worker hinzu, um Jobs zu überspringen, die weder eine ContactId noch eine PersonId enthalten.
- Behebt das Problem, dass 'test.ping'-Jobs oder andere fehlerhafte Payloads zu 'FAILED'-Einträgen führen.
- Fügt den expliziten Volume-Mount für die in der wieder hinzu.
- Die vorherige Entfernung dieser Zeile führte dazu, dass der Container nach einem den Zugriff auf die existierende Datenbank verlor und eine neue, leere Datenbank erstellte.
- Entfernt fälschlicherweise gemountete einzelne DB-Dateien, da das gesamte Projekt-Verzeichnis bereits gemountet wird.
- Behebt potentielle Fehler durch fehlende Dateien wie .
- Fügt eine zum hinzu, die bei einem HTTP 404 Fehler ausgelöst wird.
- Fängt diese im ab.
- Markiert Jobs, die sich auf nicht (mehr) existierende Kontakte oder Personen beziehen, als anstatt .
- Dies verhindert, dass die Fehlerwarteschlange mit Jobs für gelöschte Entitäten überläuft, was das Hauptproblem der "failed"-Jobs löst.
- Dokumentiert in GEMINI.md die Lösung für / Fehler in Docker-Containern.
- Beschreibt die Umstellung auf lokale IP-Adresse und token-basierte Authentifizierung für direkte Container-zu-Container-Kommunikation mit Gitea.
- Enthält detaillierte Schritte zur Konfiguration und Verifizierung der Git Remote URL.
- Konsolidiert Dockerfiles in .
- Verschiebt Datenbank- und Log-Dateien in .
- Organisiert Konfigurations- und Modelldateien in .
- Fasst Shell-Skripte in zusammen.
- Verschiebt nach .
- Verschiebt nach .
- Das Verzeichnis wurde in verschoben.
- Behält Kern-Dateien (, , , , etc.) im Root-Verzeichnis, um die Lauffähigkeit zu gewährleisten.
- Organisiert eine Vielzahl von Skripten aus dem Root-Verzeichnis in thematische Unterordner, um die Übersichtlichkeit zu verbessern und die Migration vorzubereiten.
- Verschiebt SuperOffice-bezogene Test- und Hilfsskripte in .
- Verschiebt Notion-bezogene Synchronisations- und Import-Skripte in .
- Archiviert eindeutig veraltete und ungenutzte Skripte in .
- Die zentralen Helfer und bleiben im Root, da sie von mehreren Tools als Abhängigkeit genutzt werden.
- Erstellt eine umfassende README.md im Verzeichnis .
- Beschreibt die Startprozeduren und Abhängigkeiten für den "Fotograf.de Scraper" und den "Google Docs Teilnehmerlisten-Generator".
- Enthält wichtige Hinweise zur manuellen Erstellung von Credentials-Dateien und die Notwendigkeit, diese in Zukunft über Umgebungsvariablen zu verwalten.
- Identifiziert und isoliert die Skripte für den "Fotograf.de"-Scraper und den Google Docs-Listengenerator.
- Verschiebt die zugehörigen Dateien in ein neues Archivverzeichnis (), um sie von den aktiven Projekten zu trennen.
- Fügt -Dateien mit Dokumentation zur Ausführung und den Abhängigkeiten für jedes der archivierten Projekte hinzu.
This commit updates the RELOCATION.md file to include a detailed,
safer migration plan as a recommended alternative to the initial
proposal. This provides a clear and secure strategy for the
discussion with the IT department.
- Implemented 'Direct Calendar Booking' logic replacing MS Bookings API.
- Integrated Dual-App architecture for Graph API (Sender vs. Reader permissions).
- Added FastAPI feedback server for Teams and Email interactions.
- Configured Nginx proxy for public feedback URL access.
- Updated Docker configuration (ports, env vars, dependencies).
- Finalized documentation in lead-engine/README.md.
- Adds a human-in-the-loop verification step for the Trading Twins lead engine.
- Before sending an email, a notification is sent to a specified Teams channel via webhook.
- The notification is an Adaptive Card that allows a user (Elizabeta Melcer) to stop or immediately trigger the email dispatch within a 5-minute window.
- If no action is taken, the email is sent automatically after the timeout.
- Includes a FastAPI-based feedback server on port 8004 to handle the card actions.
- Adds placeholder for the HTML email signature.
- Successfully tested the Teams webhook connectivity and the full notification/feedback loop in a sandbox environment.