feat: robust FormData handling for AI services to improve N100 performance and stability

This commit is contained in:
2025-12-22 10:36:26 +01:00
parent 5e35710b67
commit 7d06ba7a57
5 changed files with 169 additions and 88 deletions

View File

@@ -5,7 +5,6 @@ import { Camera, Upload, CheckCircle2, AlertCircle, X, Search, ExternalLink, Arr
import { createClient } from '@/lib/supabase/client';
import { useRouter, useSearchParams } from 'next/navigation';
import { analyzeBottle } from '@/services/analyze-bottle';
import { saveBottle } from '@/services/save-bottle';
import { BottleMetadata } from '@/types/whisky';
import { db } from '@/lib/db';
@@ -158,8 +157,13 @@ export default function CameraCapture({ onImageCaptured, onAnalysisComplete, onS
return;
}
const formData = new FormData();
formData.append('file', processed.file);
formData.append('provider', aiProvider);
formData.append('locale', locale);
const startAi = performance.now();
const response = await magicScan(compressedBase64, aiProvider, locale);
const response = await magicScan(formData);
const endAi = performance.now();
const startPrep = performance.now();

View File

@@ -87,11 +87,15 @@ export default function ScanAndTasteFlow({ isOpen, onClose, imageFile }: ScanAnd
const endComp = performance.now();
setProcessedImage(processed);
const cleanBase64 = processed.base64.split(',')[1] || processed.base64;
console.log('[ScanFlow] Calling magicScan service with compressed images (WebP)...');
console.log('[ScanFlow] Calling magicScan service with FormData (optimized WebP)...');
const formData = new FormData();
formData.append('file', processed.file);
formData.append('provider', 'gemini');
formData.append('locale', locale);
const startAi = performance.now();
const result = await magicScan(cleanBase64, 'gemini', locale);
const result = await magicScan(formData);
const endAi = performance.now();
const startPrep = performance.now();