Show download size when model length is unavailable
Build and publish frontend / publish (push) Successful in 49s

This commit is contained in:
Ein Anderssono
2026-10-16 07:55:18 +02:00
parent 291fdcbf08
commit 0bee9f40d3
4 changed files with 24 additions and 7 deletions
+14 -6
View File
@@ -250,13 +250,21 @@
setState('IDLE', 'Piper tog för lång tid på sig. Dialogen finns kvar som text. Tryck på Läs senaste repliken för att försöka igen.');
}, 180000);
let lastProgress = -1;
let lastProgressPercent = -1;
let lastProgressMegabytes = -1;
const progress = event => {
if (token !== generation || !Number.isFinite(event?.loaded) || !Number.isFinite(event?.total) || event.total <= 0) return;
const percent = Math.max(0, Math.min(100, Math.floor((event.loaded / event.total) * 100)));
if (percent === lastProgress) return;
lastProgress = percent;
setState('PROCESSING', `Hämtar svensk röstmodell till enheten: ${percent} procent.`);
if (token !== generation || !Number.isFinite(event?.loaded) || event.loaded < 0) return;
if (Number.isFinite(event.total) && event.total > 0) {
const percent = Math.max(0, Math.min(100, Math.floor((event.loaded / event.total) * 100)));
if (percent === lastProgressPercent) return;
lastProgressPercent = percent;
setState('PROCESSING', `Hämtar svensk röstmodell till enheten: ${percent} procent.`);
return;
}
const megabytes = Math.floor((event.loaded / (1024 * 1024)) * 10) / 10;
if (megabytes === lastProgressMegabytes) return;
lastProgressMegabytes = megabytes;
setState('PROCESSING', `Hämtar svensk röstmodell till enheten: ${megabytes.toLocaleString('sv-SE')} MB hämtade.`);
};
Promise.resolve()