From 735cd77b687d4b30e6f9292e6326c364569a8e86 Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 6 Mar 2026 14:33:53 +0000 Subject: [PATCH] fix: [30388f42] Unterbreche Webhook-Endlosschleife MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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. --- connector-superoffice/worker.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/connector-superoffice/worker.py b/connector-superoffice/worker.py index 3b789485..08ab8bcb 100644 --- a/connector-superoffice/worker.py +++ b/connector-superoffice/worker.py @@ -306,7 +306,9 @@ def process_job(job, so_client: SuperOfficeClient, queue: JobQueue): contact_patch["UserDefinedFields"][settings.UDF_SUMMARY] = short_summary # --- D. Timestamps & Website Sync --- - if settings.UDF_LAST_UPDATE: + # CRITICAL: We only update the timestamp if we actually have OTHER changes to push. + # Otherwise, we create an infinite loop of self-triggering webhooks. + if settings.UDF_LAST_UPDATE and contact_patch: now_so = f"[D:{datetime.now().strftime('%m/%d/%Y %H:%M:%S')}]" if "UserDefinedFields" not in contact_patch: contact_patch["UserDefinedFields"] = {} contact_patch["UserDefinedFields"][settings.UDF_LAST_UPDATE] = now_so