This commit is contained in:
@@ -252,11 +252,34 @@
|
||||
|
||||
let lastProgressPercent = -1;
|
||||
let lastProgressMegabytes = -1;
|
||||
let lastProgressResource = '';
|
||||
const progress = event => {
|
||||
if (token !== generation) return;
|
||||
const resource = `${event?.asset || 'model'}:${event?.file || ''}`;
|
||||
if (resource !== lastProgressResource) {
|
||||
lastProgressResource = resource;
|
||||
lastProgressPercent = -1;
|
||||
lastProgressMegabytes = -1;
|
||||
}
|
||||
if (event?.asset === 'runtime' && Number.isFinite(event.loaded) && event.loaded >= 0) {
|
||||
const file = /^[\w.-]+$/.test(event.file || '') ? event.file : 'WebAssembly-fil';
|
||||
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 WebAssembly-filen ${file}: ${percent} procent.`);
|
||||
} else {
|
||||
const megabytes = Math.floor((event.loaded / (1024 * 1024)) * 10) / 10;
|
||||
if (megabytes === lastProgressMegabytes) return;
|
||||
lastProgressMegabytes = megabytes;
|
||||
setState('PROCESSING', `Hämtar WebAssembly-filen ${file}: ${megabytes.toLocaleString('sv-SE')} MB hämtade.`);
|
||||
}
|
||||
return;
|
||||
}
|
||||
const stages = {
|
||||
'loading-runtime': 'Laddar WebAssembly-motorn för svensk uppläsning.',
|
||||
'loading-runtime-assets': 'Laddar WebAssembly-filer för svensk uppläsning.',
|
||||
'loading-runtime-assets': `Hämtar WebAssembly-filen ${event?.file || 'från servern'}.`,
|
||||
'reading-runtime-assets': `Läser in WebAssembly-filen ${event?.file || ''}.`,
|
||||
'loading-model-info': 'Hämtar information om den svenska röstmodellen.',
|
||||
'loading-model': 'Ansluter till servern för att hämta den svenska röstmodellen.',
|
||||
'reading-model': 'Läser in den svenska röstmodellen.',
|
||||
|
||||
Reference in New Issue
Block a user