From 3a1d4cde525a31466dd40af6723cb6e73778b1b5 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Sat, 28 Mar 2026 12:38:58 -0400 Subject: [PATCH] skip TTS endpoint fetch when TTS is disabled --- public/src/uncloseai-embed-modal.js | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/public/src/uncloseai-embed-modal.js b/public/src/uncloseai-embed-modal.js index 9a3c2a6..5d329f0 100644 --- a/public/src/uncloseai-embed-modal.js +++ b/public/src/uncloseai-embed-modal.js @@ -738,8 +738,8 @@ async function openUncloseaiEmbeddedModalNew() { voiceSection.appendChild(voiceSelect); - // Load voices asynchronously - loadVoices(); + // Load voices asynchronously (skip when TTS disabled) + if (isTTSEnabled()) loadVoices(); // Language preference section const languageSection = document.createElement("div"); @@ -975,13 +975,12 @@ async function openUncloseaiEmbeddedModalNew() { button.disabled = true; // Use allSettled to handle partial failures - const [modelsResult, voicesResult] = await Promise.allSettled([ - loadModels(), - loadVoices(), - ]); + const promises = [loadModels()]; + if (isTTSEnabled()) promises.push(loadVoices()); + const [modelsResult, voicesResult] = await Promise.allSettled(promises); const modelsOk = modelsResult.status === "fulfilled"; - const voicesOk = voicesResult.status === "fulfilled"; + const voicesOk = isTTSEnabled() && voicesResult?.status === "fulfilled"; // Build status message const statusParts = []; @@ -993,11 +992,13 @@ async function openUncloseaiEmbeddedModalNew() { statusParts.push(`❌ Models: ${errMsg}`); } - if (voicesOk) { - statusParts.push(`✅ ${loadedVoicesCount} voices`); - } else { - const errMsg = voicesResult.reason?.message || "error"; - statusParts.push(`❌ TTS: ${errMsg}`); + if (isTTSEnabled()) { + if (voicesOk) { + statusParts.push(`✅ ${loadedVoicesCount} voices`); + } else { + const errMsg = voicesResult?.reason?.message || "error"; + statusParts.push(`❌ TTS: ${errMsg}`); + } } button.textContent = statusParts.join(", ");