From 70201b82b81517e3de7cefc42b5cf3b5ca71aab8 Mon Sep 17 00:00:00 2001 From: Arjun <6592213+arkml@users.noreply.github.com> Date: Sat, 28 Mar 2026 00:34:28 +0530 Subject: [PATCH] gate chrome service with a flag --- .../chrome-extension/server/server.ts | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/apps/x/packages/core/src/knowledge/chrome-extension/server/server.ts b/apps/x/packages/core/src/knowledge/chrome-extension/server/server.ts index f06e7325..0cb127b9 100644 --- a/apps/x/packages/core/src/knowledge/chrome-extension/server/server.ts +++ b/apps/x/packages/core/src/knowledge/chrome-extension/server/server.ts @@ -238,9 +238,19 @@ function cleanUpOldFiles(): void { } } -export async function init(): Promise { +function isServerEnabled(): boolean { + if (!fs.existsSync(CONFIG_FILE)) return false; + try { + const raw = fs.readFileSync(CONFIG_FILE, 'utf-8'); + const config = JSON.parse(raw); + return config.serverEnabled === true; + } catch { + return false; + } +} + +function startServer(): void { fs.mkdirSync(CAPTURED_PAGES_DIR, { recursive: true }); - fs.mkdirSync(CONFIG_DIR, { recursive: true }); cleanUpOldFiles(); setInterval(cleanUpOldFiles, CLEANUP_INTERVAL_MS); @@ -252,3 +262,20 @@ export async function init(): Promise { console.log(` Listening on http://localhost:${PORT}`); }); } + +export async function init(): Promise { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); + + if (isServerEnabled()) { + startServer(); + return; + } + + console.log('[ChromeSync] Server disabled, watching config for changes...'); + fs.watch(CONFIG_DIR, (_, filename) => { + if (filename === 'chrome-plugin.json' && isServerEnabled()) { + console.log('[ChromeSync] serverEnabled set to true, starting server...'); + startServer(); + } + }); +}