From d71111e4152430fcf6f6b2025f5ba1ce9027ae68 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Tue, 13 May 2025 12:43:25 +0200 Subject: [PATCH] frontend: Send meeting_ended event when participante left with room deleted reason --- .../pages/video-room/video-room.component.ts | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts index 2195001..5ef4b3d 100644 --- a/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts +++ b/frontend/projects/shared-meet-components/src/lib/pages/video-room/video-room.component.ts @@ -8,7 +8,8 @@ import { ApiDirectiveModule, ParticipantLeftEvent, ParticipantModel, - OpenViduComponentsUiModule + OpenViduComponentsUiModule, + ParticipantLeftReason } from 'openvidu-components-angular'; import { @@ -129,15 +130,28 @@ export class VideoRoomComponent implements OnInit, OnDestroy { console.warn('Participant left the room. Redirecting to:'); const redirectURL = this.ctxService.getLeaveRedirectURL() || '/disconnected'; const isExternalURL = /^https?:\/\//.test(redirectURL); + const isRoomDeleted = event.reason === ParticipantLeftReason.ROOM_DELETED; + + let message: OutboundEventMessage; + + if (isRoomDeleted) { + message = { + event: WebComponentEvent.MEETING_ENDED, + payload: { + roomId: event.roomName + } + } as OutboundEventMessage; + } else { + message = { + event: WebComponentEvent.LEFT, + payload: { + roomId: event.roomName, + participantName: event.participantName, + reason: event.reason + } + } as OutboundEventMessage; + } - const message: OutboundEventMessage = { - event: WebComponentEvent.LEFT, - payload: { - roomId: event.roomName, - participantName: event.participantName, - reason: event.reason - } - }; this.wcManagerService.sendMessageToParent(message); this.sessionStorageService.removeModeratorSecret(event.roomName);