From 42700d1a851a9018aa5f6c5726b5f9dabde0d844 Mon Sep 17 00:00:00 2001 From: Yanlong Wang Date: Fri, 30 Aug 2024 18:37:23 +0800 Subject: [PATCH] fix: cache with locale --- backend/functions/src/cloud-functions/crawler.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/functions/src/cloud-functions/crawler.ts b/backend/functions/src/cloud-functions/crawler.ts index 035b3e2..6dbc4da 100644 --- a/backend/functions/src/cloud-functions/crawler.ts +++ b/backend/functions/src/cloud-functions/crawler.ts @@ -100,6 +100,9 @@ export class CrawlerHost extends RPCHost { // Potential privacy issue, dont cache if cookies are used return; } + if (options.locale) { + Reflect.set(snapshot, 'locale', options.locale); + } await this.setToCache(options.url, snapshot); }); @@ -1025,7 +1028,10 @@ ${suffixMixins.length ? `\n${suffixMixins.join('\n\n')}\n` : ''}`; cache = await this.queryCache(urlToCrawl, cacheTolerance); } - if (cache?.isFresh && (!crawlOpts?.favorScreenshot || (crawlOpts?.favorScreenshot && (cache.screenshotAvailable && cache.pageshotAvailable)))) { + if (cache?.isFresh && + (!crawlOpts?.favorScreenshot || (crawlOpts?.favorScreenshot && (cache.screenshotAvailable && cache.pageshotAvailable))) && + (_.get(cache.snapshot, 'locale') === crawlOpts?.locale) + ) { yield this.jsdomControl.narrowSnapshot(cache.snapshot, crawlOpts); return;