- Implementiert die Filter-Logik, die Webhooks nur verarbeitet, wenn sich Name oder Webseite geändert haben.
- Dies verhindert effektiv jede Form von Endlosschleifen (Echos), da unsere eigenen UDF-Updates nun ignoriert werden.
- Stellt den produktiven Standard des Systems wieder her.
- Behebt die kritische Kollision von ProgIDs in der Standard-Konfiguration.
- Führt detailliertes 'Before/After' Logging für alle Feldvergleiche ein.
- Optimiert die Idempotenz-Prüfung, um Webhook-Loops bei identischen Daten zu verhindern.
- Stellt sicher, dass das System auch dann stabil bleibt, wenn User und Bot die gleiche ID 528 teilen.
- 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.
- 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.
- 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 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.
Nur relevante Änderungen (Jobtitel, Position, UDFs) lösen eine KI-Verarbeitung aus. Irrelevante Änderungen (Telefon, etc.) werden ignoriert, um Loops und unnötige Last zu vermeiden.
✦ In dieser Sitzung haben wir den End-to-End-Test der SuperOffice-Schnittstelle erfolgreich von der automatisierten Simulation bis zum produktiven Live-Lauf
mit Echtdaten abgeschlossen.
- Implemented comprehensive E2E test covering full roundtrip and manual overrides.
- Enhanced to detect manual Vertical changes in SuperOffice and sync them to Company Explorer.
- Updated to handle industry overrides from CRM and auto-persist Person/Contact data for robust cascade updates.