diff --git a/src/server/scraper/engine.ts b/src/server/scraper/engine.ts index 0eb3d31..9775e17 100644 --- a/src/server/scraper/engine.ts +++ b/src/server/scraper/engine.ts @@ -161,6 +161,9 @@ export async function searchStreaming( stores: stores.map((s) => ({ id: s.id, name: s.name, renderJs: !!s.render_js })), }); + // Yield to event loop so the SSE start event flushes to client + await new Promise((r) => setTimeout(r, 0)); + const limit = pLimit(MAX_CONCURRENCY); const errors: SearchResult['meta']['errors'] = []; let totalResults = 0; @@ -193,6 +196,9 @@ export async function searchStreaming( resultCount: products.length, duration, }); + + // Yield so SSE event flushes to client + await new Promise((r) => setTimeout(r, 0)); } catch (err) { const duration = Date.now() - storeStart; const errorMessage = err instanceof Error ? err.message : String(err);