From d33a064dd54b5283cb45f687933083abef861c83 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Mon, 6 Jan 2025 19:38:22 +0530 Subject: [PATCH] feat: set screenshot queue empty while switch off --- .../classes/RemoteBrowser.ts | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/server/src/browser-management/classes/RemoteBrowser.ts b/server/src/browser-management/classes/RemoteBrowser.ts index fb61cfb6..b6c0bf5f 100644 --- a/server/src/browser-management/classes/RemoteBrowser.ts +++ b/server/src/browser-management/classes/RemoteBrowser.ts @@ -89,7 +89,7 @@ export class RemoteBrowser { maxConcurrency: 1, maxRepeats: 1, }; - + private lastEmittedUrl: string | null = null; /** @@ -420,16 +420,29 @@ export class RemoteBrowser { * If an interpretation was running it will be stopped. * @returns {Promise} */ - public switchOff = async (): Promise => { - await this.interpreter.stopInterpretation(); - if (this.browser) { - await this.stopScreencast(); - await this.browser.close(); - } else { - logger.log('error', 'Browser wasn\'t initialized'); - logger.log('error', 'Switching off the browser failed'); + public async switchOff(): Promise { + try { + await this.interpreter.stopInterpretation(); + + if (this.screencastInterval) { + clearInterval(this.screencastInterval); + } + + if (this.client) { + await this.stopScreencast(); + } + + if (this.browser) { + await this.browser.close(); + } + + this.screenshotQueue = []; + //this.performanceMonitor.reset(); + + } catch (error) { + logger.error('Error during browser shutdown:', error); } - }; + } private async optimizeScreenshot(screenshot: Buffer): Promise { try {