Show Piper startup and download stages
Build and publish frontend / publish (push) Successful in 50s

This commit is contained in:
Ein Anderssono
2026-10-16 08:07:44 +02:00
parent 81990d7129
commit 89c238bcea
5 changed files with 41 additions and 11 deletions
+11 -6
View File
@@ -170,19 +170,24 @@
const value = document.querySelector('#speech-progress-value');
const label = container.querySelector('label');
const preparing = message.startsWith('Förbereder svensk uppläsning.');
const starting = message.startsWith('Startar svensk röstmotor och förbereder modellen.');
const phase = [
'Laddar WebAssembly-motorn för svensk uppläsning.',
'Laddar WebAssembly-filer för svensk uppläsning.',
'Hämtar information om den svenska röstmodellen.',
'Ansluter till servern för att hämta den svenska röstmodellen.',
'Läser in den svenska röstmodellen.',
'Röstmodellen är inläst. Skapar uppläsningen.',
].find(text => message.startsWith(text));
const match = message.match(/^Hämtar svensk röstmodell till enheten: (\d+) procent\.$/);
const bytesMatch = message.match(/^Hämtar svensk röstmodell till enheten: ([\d.,]+) MB hämtade\.$/);
if (!preparing && !starting && !match && !bytesMatch) {
if (!preparing && !phase && !match && !bytesMatch) {
container.hidden = true;
progress.removeAttribute('value');
value.textContent = 'Väntar på nedladdning';
return false;
}
container.hidden = false;
label.textContent = starting
? 'Startar och läser in den svenska röstmodellen'
: 'Hämtar svensk röstmodell till enheten';
label.textContent = phase || 'Hämtar svensk röstmodell till enheten';
if (match) {
const percent = Math.max(0, Math.min(100, Number(match[1])));
progress.value = percent;
@@ -195,7 +200,7 @@
return true;
}
progress.removeAttribute('value');
value.textContent = starting ? 'Startar röstmotorn…' : 'Förbereder…';
value.textContent = phase ? 'Pågår…' : 'Förbereder…';
return true;
}
function clearSpeechRecovery() {