Offer speech retry after iOS playback errors
Build and publish frontend / publish (push) Successful in 43s

This commit is contained in:
Ein Anderssono
2026-10-16 00:40:52 +02:00
parent cc17b501cc
commit c5c0fb6b03
3 changed files with 17 additions and 3 deletions
+6 -2
View File
@@ -240,7 +240,7 @@
currentUtterance = null;
setState('IDLE');
};
utterance.onerror = () => {
utterance.onerror = event => {
if (token !== generation) return;
if (speechTimer !== null) win.clearTimeout(speechTimer);
if (speechStartTimer !== null) win.clearTimeout(speechStartTimer);
@@ -248,7 +248,11 @@
speechStartTimer = null;
currentUtterance = null;
generation += 1;
setState('IDLE', 'Uppläsningen avbröts. Dialogen finns kvar som text.');
const blocked = event?.error === 'not-allowed' || event?.error === 'service-not-allowed';
const message = blocked
? 'Safari blockerade uppläsningen. Tryck på Läs senaste repliken för att starta ljudet.'
: 'Uppläsningen avbröts. Tryck på Läs senaste repliken för att försöka igen. Dialogen finns kvar som text.';
setState('IDLE', message);
};
setState('SPEAKING', 'Läser upp dialog.');
currentUtterance = utterance;