fix: réactivité Alpine après await + timeout 30s sur heic2any + logs debug

This commit is contained in:
2026-05-27 10:26:55 +02:00
parent 30efdf1a79
commit 8fe75db238
2 changed files with 30 additions and 16 deletions
+17 -13
View File
@@ -249,29 +249,33 @@
this.files.push(...newFiles);
await processBatch(newFiles, async (fileObj) => {
await processBatch(newFiles, async (orig) => {
// Toujours muter via le proxy réactif d'Alpine
const f = this.files.find(x => x.id === orig.id);
if (!f) return;
// Étape 1 : HEIC → JPEG
fileObj.status = 'converting';
f.status = 'converting';
try {
fileObj.originalBlob = await convertHeicToJpeg(fileObj.originalFile);
fileObj.originalUrl = URL.createObjectURL(fileObj.originalBlob);
f.originalBlob = await convertHeicToJpeg(orig.originalFile);
f.originalUrl = URL.createObjectURL(f.originalBlob);
} catch (e) {
fileObj.status = 'error';
fileObj.error = `Conversion échouée : ${e.message}`;
f.status = 'error';
f.error = `Conversion échouée : ${e.message}`;
return;
}
// Étape 2 : suppression du fond
fileObj.status = 'processing';
f.status = 'processing';
try {
fileObj.processedBlob = await processImage(
fileObj.originalBlob, fileObj._seedColor, fileObj.tolerance
f.processedBlob = await processImage(
f.originalBlob, f._seedColor, f.tolerance
);
fileObj.processedUrl = URL.createObjectURL(fileObj.processedBlob);
fileObj.status = 'done';
f.processedUrl = URL.createObjectURL(f.processedBlob);
f.status = 'done';
} catch (e) {
fileObj.status = 'error';
fileObj.error = `Détourage échoué : ${e.message}`;
f.status = 'error';
f.error = `Détourage échoué : ${e.message}`;
}
}, 3);
},