Liam Dyer commited on
Commit
2a6e267
·
unverified ·
1 Parent(s): f70688d

Clear playwright singleton on close (#1170)

Browse files

* fix: clear playwright singleton on close

* chore: spelling mistake

src/lib/server/websearch/scrape/playwright.ts CHANGED
@@ -10,7 +10,7 @@ import { PlaywrightBlocker } from "@cliqz/adblocker-playwright";
10
  import { env } from "$env/dynamic/private";
11
 
12
  // Singleton initialized by initPlaywrightService
13
- let playwrightService: Promise<{ ctx: BrowserContext; blocker: PlaywrightBlocker }>;
14
 
15
  async function initPlaywrightService() {
16
  if (playwrightService) return playwrightService;
@@ -42,6 +42,12 @@ async function initPlaywrightService() {
42
  if (env.WEBSEARCH_JAVASCRIPT === "false") return mostBlocked.blockScripts();
43
  return mostBlocked;
44
  });
 
 
 
 
 
 
45
  return Object.freeze({ ctx, blocker });
46
  }
47
 
 
10
  import { env } from "$env/dynamic/private";
11
 
12
  // Singleton initialized by initPlaywrightService
13
+ let playwrightService: Promise<{ ctx: BrowserContext; blocker: PlaywrightBlocker }> | undefined;
14
 
15
  async function initPlaywrightService() {
16
  if (playwrightService) return playwrightService;
 
42
  if (env.WEBSEARCH_JAVASCRIPT === "false") return mostBlocked.blockScripts();
43
  return mostBlocked;
44
  });
45
+
46
+ // Clear the singleton when the context closes
47
+ ctx.on("close", () => {
48
+ playwrightService = undefined;
49
+ });
50
+
51
  return Object.freeze({ ctx, blocker });
52
  }
53