fix: réactivité Alpine après await + timeout 30s sur heic2any + logs debug
This commit is contained in:
+17
-13
@@ -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);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user