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>
2 lines
8 B
Plaintext
2 lines
8 B
Plaintext
1.12.19
|