From c3eb8773772ac6602ef8a26d68ce0a9fd5341bc9 Mon Sep 17 00:00:00 2001 From: Martin Guitteny <“martin.guitteny@centralesupelec.fr”> Date: Fri, 19 Sep 2025 14:13:39 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(summary)=20fix=20feature=20flag=20?= =?UTF-8?q?on=20summary=20job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sadly, we used user db id as the posthog distinct id of identified user, and not the sub. Before this commit, we were only passing sub to the summary microservice. Add the owner's id. Please note we introduce a different naming behavir, by prefixing the id with "owner". We didn't for the sub and the email. We cannot align sub and email with this new naming approach, because external contributors have already started building their own microservice. --- src/backend/core/recording/event/notification.py | 2 +- src/summary/summary/api/route/tasks.py | 2 ++ src/summary/summary/core/celery_worker.py | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/backend/core/recording/event/notification.py b/src/backend/core/recording/event/notification.py index 49f0d02e..5ff35d08 100644 --- a/src/backend/core/recording/event/notification.py +++ b/src/backend/core/recording/event/notification.py @@ -131,8 +131,8 @@ class NotificationService: if not owner_access: logger.error("No owner found for recording %s", recording.id) return False - payload = { + "owner_id": str(owner_access.user.id), "filename": recording.key, "email": owner_access.user.email, "sub": owner_access.user.sub, diff --git a/src/summary/summary/api/route/tasks.py b/src/summary/summary/api/route/tasks.py index 37895e9e..89f20101 100644 --- a/src/summary/summary/api/route/tasks.py +++ b/src/summary/summary/api/route/tasks.py @@ -18,6 +18,7 @@ settings = get_settings() class TaskCreation(BaseModel): """Task data.""" + owner_id: str filename: str email: str sub: str @@ -35,6 +36,7 @@ async def create_task(request: TaskCreation): """Create a task.""" task = process_audio_transcribe_summarize_v2.apply_async( args=[ + request.owner_id, request.filename, request.email, request.sub, diff --git a/src/summary/summary/core/celery_worker.py b/src/summary/summary/core/celery_worker.py index d838eb30..5a2d5e2f 100644 --- a/src/summary/summary/core/celery_worker.py +++ b/src/summary/summary/core/celery_worker.py @@ -204,6 +204,7 @@ def task_failure_handler(task_id, exception=None, **kwargs): ) def process_audio_transcribe_summarize_v2( self, + owner_id: str, filename: str, email: str, sub: str, @@ -320,7 +321,7 @@ def process_audio_transcribe_summarize_v2( metadata_manager.capture(task_id, settings.posthog_event_success) if ( - analytics.is_feature_enabled("summary-enabled", distinct_id=sub) + analytics.is_feature_enabled("summary-enabled", distinct_id=owner_id) and settings.is_summary_enabled ): logger.info("Queuing summary generation task.")