Reference: Semi broken tts before refactoring

This commit is contained in:
2025-04-05 17:23:01 +00:00
parent e8eb93ae1b
commit e5a3016846
9 changed files with 909 additions and 333 deletions
+29 -29
View File
@@ -321,7 +321,7 @@ class OptionsUIModule extends BaseModule {
elevenLabsApiUrl.addEventListener('change', (e) => {
const persistenceManager = this.getModule('persistence-manager');
if (persistenceManager) {
persistenceManager.updatePreference('tts', 'elevenlabs_api_base_url', e.target.value);
persistenceManager.updatePreference('tts', 'elevenlabs_api_url', e.target.value);
// Notify TTS system that API URL has changed
document.dispatchEvent(new CustomEvent('tts:api:urlChanged', {
@@ -377,7 +377,7 @@ class OptionsUIModule extends BaseModule {
openaiApiUrl.addEventListener('change', (e) => {
const persistenceManager = this.getModule('persistence-manager');
if (persistenceManager) {
persistenceManager.updatePreference('tts', 'openai_api_base_url', e.target.value);
persistenceManager.updatePreference('tts', 'openai_api_url', e.target.value);
// Notify TTS system that API URL has changed
document.dispatchEvent(new CustomEvent('tts:api:urlChanged', {
@@ -854,7 +854,6 @@ class OptionsUIModule extends BaseModule {
loadPreferences() {
if (!this.persistenceManager || !this.elements) return;
// Wait for dependencies
this.waitForDependencies().then(() => {
const prefs = this.persistenceManager.getAllPreferences();
@@ -936,7 +935,7 @@ class OptionsUIModule extends BaseModule {
// ElevenLabs API Base URL
if (this.elements.elevenLabsApiUrl) {
this.elements.elevenLabsApiUrl.value = prefs.tts.elevenlabs_api_base_url;
this.elements.elevenLabsApiUrl.value = prefs.tts.elevenlabs_api_url;
}
// OpenAI API Key
@@ -946,7 +945,7 @@ class OptionsUIModule extends BaseModule {
// OpenAI API Base URL
if (this.elements.openaiApiUrl) {
this.elements.openaiApiUrl.value = prefs.tts.openai_api_base_url;
this.elements.openaiApiUrl.value = prefs.tts.openai_api_url;
}
});
}
@@ -1065,17 +1064,17 @@ class OptionsUIModule extends BaseModule {
const elevenLabsApiKey = this.elements.elevenLabsApiKey.value;
this.persistenceManager.updatePreference('tts', 'elevenlabs_api_key', elevenLabsApiKey);
// Save ElevenLabs API Base URL
// Save ElevenLabs API URL
const elevenLabsApiUrl = this.elements.elevenLabsApiUrl.value;
this.persistenceManager.updatePreference('tts', 'elevenlabs_api_base_url', elevenLabsApiUrl);
this.persistenceManager.updatePreference('tts', 'elevenlabs_api_url', elevenLabsApiUrl);
// Save OpenAI API Key
const openaiApiKey = this.elements.openaiApiKey.value;
this.persistenceManager.updatePreference('tts', 'openai_api_key', openaiApiKey);
// Save OpenAI API Base URL
// Save OpenAI API URL
const openaiApiUrl = this.elements.openaiApiUrl.value;
this.persistenceManager.updatePreference('tts', 'openai_api_base_url', openaiApiUrl);
this.persistenceManager.updatePreference('tts', 'openai_api_url', openaiApiUrl);
}
setupEventListeners() {
@@ -1157,40 +1156,41 @@ class OptionsUIModule extends BaseModule {
// Set up ElevenLabs API URL
if (this.elements.elevenLabsApiUrl) {
const savedUrl = persistenceManager.getPreference('tts', 'elevenlabs_api_url');
const defaultUrl = 'https://api.elevenlabs.io/v1';
// Always set the input value to the saved or default URL
this.elements.elevenLabsApiUrl.value = savedUrl || defaultUrl;
// Save default to persistence if not already set
if (!savedUrl) {
const defaultUrl = 'https://api.elevenlabs.io/v1';
console.log('Options UI: Setting default ElevenLabs API URL:', defaultUrl);
this.elements.elevenLabsApiUrl.value = defaultUrl;
persistenceManager.updatePreference('tts', 'elevenlabs_api_url', defaultUrl);
// Also dispatch the change event to notify the handler
window.dispatchEvent(new CustomEvent('tts:api:urlChanged', {
detail: {
provider: 'elevenlabs',
url: defaultUrl
}
}));
}
}
// Set up OpenAI API URL
if (this.elements.openaiApiUrl) {
const savedUrl = persistenceManager.getPreference('tts', 'openai_api_url');
const defaultUrl = 'https://api.openai.com/v1';
// Always set the input value to the saved or default URL
this.elements.openaiApiUrl.value = savedUrl || defaultUrl;
// Save default to persistence only if not already set
if (!savedUrl) {
const defaultUrl = 'https://api.openai.com/v1';
console.log('Options UI: Setting default OpenAI API URL:', defaultUrl);
this.elements.openaiApiUrl.value = defaultUrl;
persistenceManager.updatePreference('tts', 'openai_api_url', defaultUrl);
// Also dispatch the change event to notify the handler
window.dispatchEvent(new CustomEvent('tts:api:urlChanged', {
detail: {
provider: 'openai',
url: defaultUrl
}
}));
}
}
// Make sure API keys are initialized if not already set
if (!persistenceManager.getPreference('tts', 'elevenlabs_api_key')) {
persistenceManager.updatePreference('tts', 'elevenlabs_api_key', '');
}
if (!persistenceManager.getPreference('tts', 'openai_api_key')) {
persistenceManager.updatePreference('tts', 'openai_api_key', '');
}
}
}