From a2705e739cfcf165c88e23facaa6ebc4806930be Mon Sep 17 00:00:00 2001 From: jake Date: Tue, 23 Dec 2025 14:27:36 +0300 Subject: [PATCH 1/3] feat: added timeout and 3 attempts to launch browser context --- .../src/browser.context.service.ts | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/packages/browser-service/src/browser.context.service.ts b/packages/browser-service/src/browser.context.service.ts index d571ee56..c5744a9c 100644 --- a/packages/browser-service/src/browser.context.service.ts +++ b/packages/browser-service/src/browser.context.service.ts @@ -80,10 +80,25 @@ export class BrowserContextService { }); } - this.browserContext = await chromium.launchPersistentContext( - browserContextPath, - this.options.browserOptions, - ); + let attemptsToLaunchPersistentContext = 2; + while (attemptsToLaunchPersistentContext > 0) { + try { + this.browserContext = await chromium.launchPersistentContext( + browserContextPath, + { + ...this.options.browserOptions, + timeout: 5000, + }, + ); + } catch (er) { + if (attemptsToLaunchPersistentContext > 0) { + attemptsToLaunchPersistentContext--; + continue; + } + this.logger.debug(`Error with launchPersistentContext: ${er}`); + } + break; + } this.browserContext.on('page', async (page) => { page.once('crash', () => this.logger.error(`Page ${page.url()} crashed`)); From 1b880a5cf4db5fdb4a7c05b48bfd031f3242e9e1 Mon Sep 17 00:00:00 2001 From: jake Date: Wed, 24 Dec 2025 01:46:47 +0300 Subject: [PATCH 2/3] fix: fix after review --- packages/browser-service/src/browser.context.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/browser-service/src/browser.context.service.ts b/packages/browser-service/src/browser.context.service.ts index c5744a9c..8a3ee17d 100644 --- a/packages/browser-service/src/browser.context.service.ts +++ b/packages/browser-service/src/browser.context.service.ts @@ -81,7 +81,7 @@ export class BrowserContextService { } let attemptsToLaunchPersistentContext = 2; - while (attemptsToLaunchPersistentContext > 0) { + while (attemptsToLaunchPersistentContext >= 0) { try { this.browserContext = await chromium.launchPersistentContext( browserContextPath, @@ -95,7 +95,7 @@ export class BrowserContextService { attemptsToLaunchPersistentContext--; continue; } - this.logger.debug(`Error with launchPersistentContext: ${er}`); + throw new Error(`Error with launchPersistentContext: ${er}`); } break; } From 0e7093595bcce71d15dd87b77c136ab0f2979422 Mon Sep 17 00:00:00 2001 From: jake Date: Wed, 24 Dec 2025 12:06:41 +0300 Subject: [PATCH 3/3] fix: fix after review --- .../browser-service/src/browser.context.service.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/browser-service/src/browser.context.service.ts b/packages/browser-service/src/browser.context.service.ts index 8a3ee17d..e8eb3c27 100644 --- a/packages/browser-service/src/browser.context.service.ts +++ b/packages/browser-service/src/browser.context.service.ts @@ -80,8 +80,8 @@ export class BrowserContextService { }); } - let attemptsToLaunchPersistentContext = 2; - while (attemptsToLaunchPersistentContext >= 0) { + let attemptsLeft = 3; + while (attemptsLeft > 0) { try { this.browserContext = await chromium.launchPersistentContext( browserContextPath, @@ -90,14 +90,12 @@ export class BrowserContextService { timeout: 5000, }, ); + break; } catch (er) { - if (attemptsToLaunchPersistentContext > 0) { - attemptsToLaunchPersistentContext--; - continue; - } - throw new Error(`Error with launchPersistentContext: ${er}`); + attemptsLeft--; + if (attemptsLeft == 0) + throw new Error(`Failed to launch persistent context: ${er}`); } - break; } this.browserContext.on('page', async (page) => {