Root cause 1 (v1.12.18): `window.loadVoiceLibrary = () => loadVoiceLibrary()` overwrites the global binding the arrow function references, causing immediate RangeError: Maximum call stack size exceeded on every call. Changed to direct assignment `window.loadVoiceLibrary = loadVoiceLibrary`. Root cause 2 (v1.12.18): `loadSettings()` called `renderSettingsAbout()` which lives in conversation.js (batch E), loaded after init.js. Guard added with typeof check; nav.js already calls it safely when the About section opens. Also (v1.12.18): s-library.html duplicated cl-book-filter / cl-search / cl-grid from s-characters.html, breaking getElementById. Characters panel in Library now redirects to s-characters instead of duplicating its DOM nodes. Also (v1.12.19): engines.js triggers a second loadVoiceLibrary() after nav.js already rendered voices, blanking the list briefly. Second call now silently re-fetches without clearing the list when voices are already present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| s-characters.html | ||
| s-clone.html | ||
| s-connect.html | ||
| s-conversation.html | ||
| s-design.html | ||
| s-library.html | ||
| s-llms.html | ||
| s-performance.html | ||
| s-reader.html | ||
| s-rehearser.html | ||
| s-routing.html | ||
| s-settings.html | ||
| s-studio.html | ||
| s-tryout.html | ||
| s-voices.html | ||