From 6edcb8c2159a87bf316b5f3fbed5e1e4dd2205e2 Mon Sep 17 00:00:00 2001 From: ifedan-ed Date: Tue, 31 Mar 2026 16:15:41 +0000 Subject: [PATCH] Fix TTS preview for 'Server default' voice option - Allow empty voice value to preview server default - Display 'server default' in preview text - Clears user preference (sets to null) when testing default --- public/js/voicePreferences.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/public/js/voicePreferences.js b/public/js/voicePreferences.js index 2e4ff63..bdc24d5 100644 --- a/public/js/voicePreferences.js +++ b/public/js/voicePreferences.js @@ -159,13 +159,9 @@ var ttsSelect = document.getElementById('tts-voice-select'); var voice = ttsSelect ? ttsSelect.value : null; - if (!voice || voice === '') { - showToast('Please select a voice from the dropdown first', 'info'); - return; - } - - // Temporarily save preference, generate preview, then restore - var text = 'Hello, this is a preview of the ' + voice + ' voice. This is how your read-aloud feature will sound.'; + // Allow "Server default" (empty value) to preview + var displayVoice = voice || 'server default'; + var text = 'Hello, this is a preview of the ' + displayVoice + ' voice. This is how your read-aloud feature will sound.'; var btnPreview = document.getElementById('btn-preview-voice'); if (btnPreview) { @@ -173,11 +169,11 @@ btnPreview.innerHTML = ' Loading...'; } - // Save current preference temporarily + // Save current preference temporarily (or clear it if "server default" selected) fetch('/api/user/preferences', { method: 'POST', headers: getAuthHeaders(), - body: JSON.stringify({ tts_voice: voice }) + body: JSON.stringify({ tts_voice: voice || null }) }) .then(function() { // Generate audio with new voice