From 0fe8d9b6811e9a4ef553031ad68603cce9840ad2 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 5 Jan 2026 13:31:15 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(backend)=20fix=20ignore=20recordin?= =?UTF-8?q?g=20webhook=20events?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix an unexpected behavior where filtering LiveKit webhook events sometimes failed because the room name was not reliably extracted from the webhook data, causing notifications to be ignored. Configure the same filtering logic locally to avoid missing this kind of issue in the future. --- src/backend/core/services/livekit_events.py | 6 ++++-- src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl | 1 + src/helm/env.d/dev-keycloak/values.meet.yaml.gotmpl | 1 + src/helm/env.d/dev/values.meet.yaml.gotmpl | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/backend/core/services/livekit_events.py b/src/backend/core/services/livekit_events.py index db7bf25a..d24c241e 100644 --- a/src/backend/core/services/livekit_events.py +++ b/src/backend/core/services/livekit_events.py @@ -118,8 +118,10 @@ class LiveKitEventsService: except Exception as e: raise InvalidPayloadError("Invalid webhook payload") from e - if self._filter_regex and not self._filter_regex.search(data.room.name): - logger.info("Filtered webhook event for room '%s'", data.room.name) + room_name = data.room.name or data.egress_info.room_name + + if self._filter_regex and not self._filter_regex.search(room_name): + logger.info("Filtered webhook event for room '%s'", room_name) return try: diff --git a/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl b/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl index abfa5080..c52ef21d 100644 --- a/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl +++ b/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl @@ -49,6 +49,7 @@ backend: {{- end }} {{- end }} LIVEKIT_API_URL: https://livekit.127.0.0.1.nip.io/ + LIVEKIT_WEBHOOK_EVENTS_FILTER_REGEX: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" ALLOW_UNREGISTERED_ROOMS: False FRONTEND_SILENCE_LIVEKIT_DEBUG: False FRONTEND_SUPPORT: "{'id': '58ea6697-8eba-4492-bc59-ad6562585041', 'help_article_transcript': 'https://lasuite.crisp.help/fr/article/visio-transcript-1sjq43x', 'help_article_recording': 'https://lasuite.crisp.help/fr/article/visio-enregistrement-wgc8o0', 'help_article_more_tools': 'https://lasuite.crisp.help/fr/article/visio-tools-bvxj23'}" diff --git a/src/helm/env.d/dev-keycloak/values.meet.yaml.gotmpl b/src/helm/env.d/dev-keycloak/values.meet.yaml.gotmpl index ef62a542..8f7de387 100644 --- a/src/helm/env.d/dev-keycloak/values.meet.yaml.gotmpl +++ b/src/helm/env.d/dev-keycloak/values.meet.yaml.gotmpl @@ -51,6 +51,7 @@ backend: LIVEKIT_API_URL: https://livekit.127.0.0.1.nip.io/ LIVEKIT_FORCE_WSS_PROTOCOL: True LIVEKIT_ENABLE_FIREFOX_PROXY_WORKAROUND: True + LIVEKIT_WEBHOOK_EVENTS_FILTER_REGEX: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" ALLOW_UNREGISTERED_ROOMS: False FRONTEND_SILENCE_LIVEKIT_DEBUG: False FRONTEND_SUPPORT: "{'id': '58ea6697-8eba-4492-bc59-ad6562585041', 'help_article_transcript': 'https://lasuite.crisp.help/fr/article/visio-transcript-1sjq43x', 'help_article_recording': 'https://lasuite.crisp.help/fr/article/visio-enregistrement-wgc8o0', 'help_article_more_tools': 'https://lasuite.crisp.help/fr/article/visio-tools-bvxj23'}" diff --git a/src/helm/env.d/dev/values.meet.yaml.gotmpl b/src/helm/env.d/dev/values.meet.yaml.gotmpl index 0188e861..7348b255 100644 --- a/src/helm/env.d/dev/values.meet.yaml.gotmpl +++ b/src/helm/env.d/dev/values.meet.yaml.gotmpl @@ -71,6 +71,7 @@ backend: {{- end }} {{- end }} LIVEKIT_API_URL: https://livekit.127.0.0.1.nip.io/ + LIVEKIT_WEBHOOK_EVENTS_FILTER_REGEX: "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" ALLOW_UNREGISTERED_ROOMS: False FRONTEND_SILENCE_LIVEKIT_DEBUG: False FRONTEND_SUPPORT: "{'id': '58ea6697-8eba-4492-bc59-ad6562585041'}"