Merge pull request #4607 from nesquena/stage-4599

Release v0.51.556 — Indonesian Edge TTS voice + Listen button fix (#4599)
This commit is contained in:
nesquena-hermes 2026-06-21 01:46:22 -07:00 committed by GitHub
commit 3aaeea881b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 14 additions and 0 deletions

View file

@ -3,6 +3,16 @@
## [Unreleased]
## [v0.51.556] — 2026-06-21 — Release TO (Indonesian Edge TTS voice + Listen button state fix)
### Added
- **Indonesian Edge TTS voice (`Gadis`).** Added `id-ID-GadisNeural` to the Edge TTS voice allowlist and the voice picker. Thanks @latipun7.
### Fixed
- **The Listen (text-to-speech) button now reflects playing state for chunked Edge TTS playback.** It marks the speaking state at the start of playback so the button shows it's active instead of looking idle while audio plays. Thanks @latipun7.
## [v0.51.555] — 2026-06-21 — Release TN (mobile reloads recover after compression rotation)
### Fixed

View file

@ -13577,6 +13577,7 @@ def _handle_tts(handler, parsed):
"fr-CA-AntoineNeural", "fr-CA-JeanNeural",
"fr-CA-SylvieNeural", "fr-CA-ThierryNeural",
"fr-FR-DeniseNeural", "fr-FR-EloiseNeural", "fr-FR-HenriNeural",
"id-ID-GadisNeural",
}
if voice not in allowed:
from api.helpers import bad as _bad

View file

@ -7372,6 +7372,7 @@ async function loadSettingsPanel(){
{value:'zh-CN-YunyangNeural',label:'Yunyang (Chinese, Male)'},
{value:'en-US-AriaNeural',label:'Aria (English, Female)'},
{value:'en-US-GuyNeural',label:'Guy (English, Male)'},
{value:'id-ID-GadisNeural',label:'Gadis (Indonesian, Female)'},
];
ttsVoiceSel.innerHTML='<option value="">Default (Xiaoxiao)</option>';
edgeVoices.forEach(v=>{

View file

@ -6095,6 +6095,8 @@ function _buildBrowserUtterance(text, btn){
}
function _playEdgeTtsChunked(text, btn){
_ttsSpeaking=true;
if(btn) btn.dataset.speaking='1';
const chunks=_splitForTTS(text);
const _playOne=function(idx){
if(idx>=chunks.length){