From d109dfad0e37aa53a5aabad02c6135a0f02e784d Mon Sep 17 00:00:00 2001 From: robin Date: Sun, 18 Jan 2026 20:57:41 +0100 Subject: [PATCH] fix: Log empty OCR results to help debug TextDetector availability - Cascade OCR now saves a log entry even when no text is detected - Logs ocrMethod as 'text_detector' or 'not_supported' for debugging - Helps identify when browsers block the TextDetector API --- src/services/cascade-ocr.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/services/cascade-ocr.ts b/src/services/cascade-ocr.ts index 74dba17..4230a4e 100644 --- a/src/services/cascade-ocr.ts +++ b/src/services/cascade-ocr.ts @@ -246,6 +246,23 @@ export async function runCascadeOCR(imageBlob: Blob): Promise if (!rawText.trim()) { console.log('[CascadeOCR] No text detected'); + + // Still save to DB for debugging (shows TextDetector availability) + const processingTimeMs = performance.now() - startTime; + try { + await saveOcrLog({ + rawText: '', + detectedTexts: [], + confidence: 0, + deviceInfo: navigator.userAgent, + ocrMethod: 'TextDetector' in window ? 'text_detector' : 'not_supported', + processingTimeMs: Math.round(processingTimeMs), + }); + console.log('[CascadeOCR] Empty result logged to DB'); + } catch (err) { + console.warn('[CascadeOCR] Failed to log empty result:', err); + } + return { success: false, distillery: null, @@ -261,6 +278,7 @@ export async function runCascadeOCR(imageBlob: Blob): Promise }; } + // Step 2: Extract hard facts via RegEx const hardFacts = extractHardFacts(rawText);