From dca5eceb3e06b723788f65f7e8b783ace0116b10 Mon Sep 17 00:00:00 2001 From: mortezaei Date: Thu, 16 Oct 2025 12:46:41 +0330 Subject: [PATCH] fix(course): use absolute avatar url in live session token Return an absolute URI for the avatar in live session token metadata so external services (e.g., PlugNMeet) can fetch the image reliably. Add debug logging to PlugNMeet client POST requests and info logging for the resolved profile picture URL to aid troubleshooting. --- apps/course/services/plugnmeet.py | 4 ++++ apps/course/views/live_session.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/course/services/plugnmeet.py b/apps/course/services/plugnmeet.py index fd8c179..4bff408 100644 --- a/apps/course/services/plugnmeet.py +++ b/apps/course/services/plugnmeet.py @@ -47,6 +47,10 @@ class PlugNMeetClient: "API-KEY": self.api_key, "HASH-SIGNATURE": self._build_signature(body), } + + import logging + logger = logging.getLogger(__name__) + logger.debug(f"[PlugNMeet] POST {path} - Body: {body[:500]}") try: response = requests.post(url, data=body.encode("utf-8"), headers=headers, timeout=self.timeout) diff --git a/apps/course/views/live_session.py b/apps/course/views/live_session.py index 3b6f0b2..289855a 100644 --- a/apps/course/views/live_session.py +++ b/apps/course/views/live_session.py @@ -219,6 +219,7 @@ class CourseLiveSessionTokenAPIView(GenericAPIView): user_metadata = {} profile_pic = self._build_profile_url(request, user) + logger.info(f"[LiveSession Token] Profile pic URL - user_id={user.id} url={profile_pic}") if profile_pic: user_metadata['profilePic'] = profile_pic @@ -272,5 +273,5 @@ class CourseLiveSessionTokenAPIView(GenericAPIView): def _build_profile_url(request, user): avatar = getattr(user, 'avatar', None) if avatar and getattr(avatar, 'url', None): - return avatar.url + return request.build_absolute_uri(avatar.url) return None