From 9ab2a2663613c23d474c3a9a3b881289abdec809 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 18:25:12 +0000 Subject: [PATCH] Add waitFor of 5000ms for changeTracking format Co-Authored-By: hello@sideguide.dev --- apps/api/src/__tests__/snips/scrape.test.ts | 17 +++++++++++++++++ apps/api/src/scraper/scrapeURL/index.ts | 3 +++ 2 files changed, 20 insertions(+) diff --git a/apps/api/src/__tests__/snips/scrape.test.ts b/apps/api/src/__tests__/snips/scrape.test.ts index b9f1401e..ebb311f9 100644 --- a/apps/api/src/__tests__/snips/scrape.test.ts +++ b/apps/api/src/__tests__/snips/scrape.test.ts @@ -95,6 +95,23 @@ describe("Scrape tests", () => { expect(response.changeTracking).toBeDefined(); expect(response.changeTracking?.previousScrapeAt).not.toBeNull(); }, 30000); + + it.concurrent("enforces a minimum waitFor of 5000ms", async () => { + const response1 = await scrape({ + url: "https://example.com", + formats: ["markdown", "changeTracking"], + }); + + expect(response1.changeTracking).toBeDefined(); + + const response2 = await scrape({ + url: "https://example.com", + formats: ["markdown", "changeTracking"], + waitFor: 1000, + }); + + expect(response2.changeTracking).toBeDefined(); + }, 30000); it.concurrent("includes git diff when requested", async () => { const response = await scrape({ diff --git a/apps/api/src/scraper/scrapeURL/index.ts b/apps/api/src/scraper/scrapeURL/index.ts index cedd275e..1408dde1 100644 --- a/apps/api/src/scraper/scrapeURL/index.ts +++ b/apps/api/src/scraper/scrapeURL/index.ts @@ -390,6 +390,9 @@ export async function scrapeURL( options: ScrapeOptions, internalOptions: InternalOptions, ): Promise { + if (options.formats.includes("changeTracking") && options.waitFor < 5000) { + options.waitFor = 5000; + } const meta = await buildMetaObject(id, url, options, internalOptions); try { while (true) {