From c12dbf247c4a9894cc234eb7c9a14b22324ba8ae Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Fri, 23 May 2025 12:00:11 +0200 Subject: [PATCH] ov-components: refactor participant left and room disconnected handling to use a common disconnect method --- openvidu-components-angular/e2e/events.test.ts | 5 ----- .../src/app/openvidu-call/call.component.ts | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/openvidu-components-angular/e2e/events.test.ts b/openvidu-components-angular/e2e/events.test.ts index fe7e69bb..70446518 100644 --- a/openvidu-components-angular/e2e/events.test.ts +++ b/openvidu-components-angular/e2e/events.test.ts @@ -615,17 +615,12 @@ describe('Testing videoconference EVENTS', () => { await utils.checkToolbarIsPresent(); - console.log('data:image/png;base64,' + (await browser.takeScreenshot())); - // Clicking to leave button const leaveButton = await utils.waitForElement('#leave-btn'); expect(await utils.isPresent('#leave-btn')).toBeTrue(); await leaveButton.click(); - await browser.sleep(1000); - console.log('data:image/png;base64,' + (await browser.takeScreenshot())); await utils.waitForElement('#events'); - // Checking if onParticipantLeft has been received await utils.waitForElement('#onParticipantLeft'); expect(await utils.isPresent('#onParticipantLeft')).toBeTrue(); 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 d8957e80..aa03778b 100644 --- a/openvidu-components-angular/src/app/openvidu-call/call.component.ts +++ b/openvidu-components-angular/src/app/openvidu-call/call.component.ts @@ -174,11 +174,9 @@ export class CallComponent implements OnInit { } async onParticipantLeft(event: ParticipantLeftEvent) { - this.configReady = false; - this.isSessionAlive = false; - this.appendElement('onParticipantLeft'); console.warn('VC PARTICIPANT LEFT', event); - if (this.redirectToHomeOnLeaves) await this.router.navigate(['/']); + this.appendElement('onParticipantLeft'); + this.handleDisconnect(); } onRoomCreated(room: Room) { @@ -246,11 +244,13 @@ export class CallComponent implements OnInit { console.warn('VC chat status changed: ', event); } + /** + * @deprecated + */ async onRoomDisconnected() { this.appendElement('onRoomDisconnected'); - this.isSessionAlive = false; console.log('VC LEAVE BUTTON CLICKED'); - await this.router.navigate(['/']); + this.handleDisconnect(); } onFullscreenButtonClicked() { @@ -363,6 +363,12 @@ export class CallComponent implements OnInit { } } + private async handleDisconnect() { + this.configReady = false; + this.isSessionAlive = false; + if (this.redirectToHomeOnLeaves) await this.router.navigate(['/']); + } + private appendElement(id: string) { const eventsDiv = document.getElementById('events'); if (!eventsDiv) {