From 518e1511d2565ab0fc818c7381347d17061427a4 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Wed, 30 Apr 2025 12:12:41 +0200 Subject: [PATCH] ov-components: add participant left handling and update room disconnection logic --- .../src/app/openvidu-call/call.component.html | 3 ++- .../src/app/openvidu-call/call.component.ts | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/openvidu-components-angular/src/app/openvidu-call/call.component.html b/openvidu-components-angular/src/app/openvidu-call/call.component.html index 23068389..353f5505 100644 --- a/openvidu-components-angular/src/app/openvidu-call/call.component.html +++ b/openvidu-components-angular/src/app/openvidu-call/call.component.html @@ -8,10 +8,10 @@ { name: 'custom', lang: 'cus' } ]" [prejoin]="true" + [prejoinDisplayParticipantName]="true" [participantName]="'Participant'" [videoEnabled]="true" [audioEnabled]="true" - [recordingStreamBaseUrl]="'call/api/recordings'" [toolbarCameraButton]="true" [toolbarMicrophoneButton]="true" [toolbarScreenshareButton]="true" @@ -33,6 +33,7 @@ (onTokenRequested)="onTokenRequested($event)" (onReadyToJoin)="onReadyToJoin()" (onRoomCreated)="onRoomCreated($event)" + (onParticipantLeft)="onParticipantLeft($event)" (onRoomDisconnected)="onRoomDisconnected()" (onVideoEnabledChanged)="onVideoEnabledChanged($event)" (onVideoDeviceChanged)="onVideoDeviceChanged($event)" diff --git a/openvidu-components-angular/src/app/openvidu-call/call.component.ts b/openvidu-components-angular/src/app/openvidu-call/call.component.ts index 6f5d7de9..1140fd27 100644 --- a/openvidu-components-angular/src/app/openvidu-call/call.component.ts +++ b/openvidu-components-angular/src/app/openvidu-call/call.component.ts @@ -12,6 +12,7 @@ import { RestService } from '../services/rest.service'; import { CustomDevice } from 'dist/openvidu-components-angular/lib/models/device.model'; import { LangOption } from 'dist/openvidu-components-angular/lib/models/lang.model'; import { ActivatedRoute, Router } from '@angular/router'; +import { ParticipantLeftEvent } from '../../../projects/openvidu-components-angular/src/lib/models/participant.model'; @Component({ selector: 'app-call', @@ -73,6 +74,11 @@ export class CallComponent implements OnInit { console.warn('VC IS READY TO JOIN'); } + async onParticipantLeft(event: ParticipantLeftEvent) { + console.warn('VC PARTICIPANT LEFT', event); + await this.router.navigate(['/']); + } + onRoomCreated(room: Room) { console.warn('VC ROOM CREATED', room.name); room.on(RoomEvent.Connected, () => { @@ -124,10 +130,10 @@ export class CallComponent implements OnInit { console.warn('VC chat status changed: ', event); } - onRoomDisconnected() { + async onRoomDisconnected() { this.isSessionAlive = false; console.log('VC LEAVE BUTTON CLICKED'); - this.router.navigate(['/']); + await this.router.navigate(['/']); } onFullscreenButtonClicked() {