From bb9a31cc78cf3c47bfc7a4dff5c275b852f252d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=E1=BA=BF=20H=C6=B0ng?= Date: Sun, 20 Apr 2025 07:23:40 +0700 Subject: [PATCH] fix: close the page if an error occurred while automating Prevent massive memory leak... --- src/proxy/reflect4.ts | 2 ++ src/website/twitch.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/src/proxy/reflect4.ts b/src/proxy/reflect4.ts index 03be567..99e4edd 100644 --- a/src/proxy/reflect4.ts +++ b/src/proxy/reflect4.ts @@ -18,6 +18,7 @@ async function spawn(context: BrowserContext, targetUrl: string, changeViewport: await page.goto(server); } catch (e) { logger.error(`[${spawnId}] Error while navigating to proxy website: ${e}`); + await page.close(); throw e; } let targetInput: Locator | null = null; @@ -31,6 +32,7 @@ async function spawn(context: BrowserContext, targetUrl: string, changeViewport: } if (!targetInput) { logger.error(`[${spawnId}] Failed to find input field for URL input`); + await page.close(); throw new Error(`Failed to find input field for URL input`); } await targetInput.fill(targetUrl); diff --git a/src/website/twitch.ts b/src/website/twitch.ts index 7aa74bd..e0ab12f 100644 --- a/src/website/twitch.ts +++ b/src/website/twitch.ts @@ -32,6 +32,7 @@ async function keepAlive(page: Page, spawnId: string = "unknown") { } } } catch (e) { + await page.close(); logger.error(`[${spawnId}] Error while keeping the page alive: ${e}`); } }