From 2fa75ab8f39efea31fdf7e2ce3e6ed4de27f1563 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Fri, 7 Mar 2025 22:42:07 +0530 Subject: [PATCH] feat: del browser --- .../browser-management/classes/BrowserPool.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/src/browser-management/classes/BrowserPool.ts b/server/src/browser-management/classes/BrowserPool.ts index 19719f3e..6f2e2adf 100644 --- a/server/src/browser-management/classes/BrowserPool.ts +++ b/server/src/browser-management/classes/BrowserPool.ts @@ -125,5 +125,29 @@ export class BrowserPool { return true; }; + /** + * Removes the remote browser instance from the pool without attempting to close it. + * + * @param id remote browser instance's id + * @returns true if the browser was removed successfully, false otherwise + */ + public deleteRemoteBrowser = (id: string): boolean => { + if (!this.pool[id]) { + logger.log('warn', `Remote browser with id: ${id} does not exist in the pool`); + return false; + } + + // Remove the user-to-browser mapping + const userId = this.pool[id].userId; + if (this.userToBrowserMap.get(userId) === id) { + this.userToBrowserMap.delete(userId); + } + + // Remove from pool + delete this.pool[id]; + logger.log('debug', `Remote browser with id: ${id} deleted from the pool`); + return true; + }; + } \ No newline at end of file