Fix model/voice localStorage persistence on page refresh
Remove race condition where syncDropdownsAndQueryString() was called before dropdowns were populated, causing empty values to overwrite localStorage. Model and voice restoration now happens only in populateModelDropdown() and populateVoiceDropdown() after async fetch completes.
This commit is contained in:
parent
38da58c33e
commit
ff9d8011a6
1 changed files with 5 additions and 14 deletions
|
|
@ -431,6 +431,7 @@ document.addEventListener('DOMContentLoaded', (event) => {
|
|||
if (initialVoice) {
|
||||
voiceSelectDesktop.value = initialVoice;
|
||||
if (voiceSelectMobile) voiceSelectMobile.value = initialVoice;
|
||||
console.log(`Voice restored from localStorage: ${initialVoice}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -499,20 +500,10 @@ document.addEventListener('DOMContentLoaded', (event) => {
|
|||
userHasScrolledUp = distanceFromBottom > 5;
|
||||
});
|
||||
|
||||
// Load model and voice from localStorage only (not URL)
|
||||
const storedModel = localStorage.getItem('selectedModel') || "None";
|
||||
const storedVoice = localStorage.getItem('selectedVoice');
|
||||
|
||||
// Set initial model and voice from localStorage or defaults
|
||||
const initialModel = storedModel;
|
||||
const initialVoice = storedVoice;
|
||||
|
||||
modelSelectDesktop.value = initialModel;
|
||||
// Voice is set by populateVoiceDropdown after voices are fetched
|
||||
modelSelectMobile.value = initialModel;
|
||||
|
||||
// Initial sync to ensure localStorage is updated with current values
|
||||
syncDropdownsAndQueryString();
|
||||
// NOTE: Model and voice restoration happens in populateModelDropdown() and
|
||||
// populateVoiceDropdown() AFTER the async fetch completes. Don't set values
|
||||
// here or call syncDropdownsAndQueryString() - that would overwrite localStorage
|
||||
// with empty values before the dropdowns are populated.
|
||||
|
||||
// Add event listeners for desktop dropdowns
|
||||
modelSelectDesktop.addEventListener("change", () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue