From 940550b9d391b02d520ade74d717fda188b25009 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Fri, 22 Aug 2025 20:56:47 +0300 Subject: fix: dangling assets created by changing crawling config --- apps/workers/workers/crawlerWorker.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/workers/workers/crawlerWorker.ts b/apps/workers/workers/crawlerWorker.ts index 68db6e92..deced504 100644 --- a/apps/workers/workers/crawlerWorker.ts +++ b/apps/workers/workers/crawlerWorker.ts @@ -938,6 +938,7 @@ async function crawlAndParseUrl( }; // TODO(important): Restrict the size of content to store + const assetDeletionTasks: Promise[] = []; await db.transaction(async (txn) => { await txn .update(bookmarkLinks) @@ -978,9 +979,11 @@ async function crawlAndParseUrl( }, txn, ); + assetDeletionTasks.push(silentDeleteAsset(userId, oldScreenshotAssetId)); } if (imageAssetInfo) { await updateAsset(oldImageAssetId, imageAssetInfo, txn); + assetDeletionTasks.push(silentDeleteAsset(userId, oldImageAssetId)); } if (htmlContentAssetInfo.result === "stored") { await updateAsset( @@ -996,18 +999,16 @@ async function crawlAndParseUrl( }, txn, ); + assetDeletionTasks.push(silentDeleteAsset(userId, oldContentAssetId)); } else if (oldContentAssetId) { // Unlink the old content asset await txn.delete(assets).where(eq(assets.id, oldContentAssetId)); + assetDeletionTasks.push(silentDeleteAsset(userId, oldContentAssetId)); } }); // Delete the old assets if any - await Promise.all([ - silentDeleteAsset(userId, oldScreenshotAssetId), - silentDeleteAsset(userId, oldImageAssetId), - silentDeleteAsset(userId, oldContentAssetId), - ]); + await Promise.all(assetDeletionTasks); return async () => { if ( -- cgit v1.2.3-70-g09d2