From f563f5ecae3cfc7d1dfc8cf9056f8d8059077759 Mon Sep 17 00:00:00 2001 From: Arjun <6592213+arkml@users.noreply.github.com> Date: Sat, 28 Mar 2026 00:01:31 +0530 Subject: [PATCH] retention 7 days --- .../chrome-extension/server/server.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) 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 2411243b..f06e7325 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 @@ -215,11 +215,36 @@ app.post('/browse/config', (req, res) => { }); const PORT = 3001; +const RETENTION_DAYS = 7; +const CLEANUP_INTERVAL_MS = 60 * 60 * 1000; // 1 hour + +function cleanUpOldFiles(): void { + if (!fs.existsSync(CAPTURED_PAGES_DIR)) return; + + const cutoff = new Date(); + cutoff.setDate(cutoff.getDate() - RETENTION_DAYS); + const cutoffStr = cutoff.toISOString().slice(0, 10); // YYYY-MM-DD + + for (const dateEntry of fs.readdirSync(CAPTURED_PAGES_DIR)) { + // only process date-formatted directories + if (!/^\d{4}-\d{2}-\d{2}$/.test(dateEntry)) continue; + if (dateEntry >= cutoffStr) continue; + + const datePath = path.join(CAPTURED_PAGES_DIR, dateEntry); + if (!fs.statSync(datePath).isDirectory()) continue; + + fs.rmSync(datePath, { recursive: true, force: true }); + console.log(`[ChromeSync] Cleaned up old captures: ${dateEntry}`); + } +} export async function init(): Promise { fs.mkdirSync(CAPTURED_PAGES_DIR, { recursive: true }); fs.mkdirSync(CONFIG_DIR, { recursive: true }); + cleanUpOldFiles(); + setInterval(cleanUpOldFiles, CLEANUP_INTERVAL_MS); + app.listen(PORT, 'localhost', () => { console.log('[ChromeSync] Server starting.'); console.log(` Captured pages: ${CAPTURED_PAGES_DIR}`);