diff --git a/src/renderer-settings.ts b/src/renderer-settings.ts index df8e868..1640935 100644 --- a/src/renderer-settings.ts +++ b/src/renderer-settings.ts @@ -88,6 +88,11 @@ function applyTemplatePreset(preset: string): void { byId('partsFilenameTemplate').value = selected.parts; byId('defaultClipFilenameTemplate').value = selected.clip; validateFilenameTemplates(); + // Programmatic .value = ... does not trigger the 'input' event the + // template inputs listen on for debounced save, so the preset click + // would otherwise look applied but never persist until the user + // types into one of the inputs. Schedule the save explicitly. + scheduleSettingsAutoSave(); } async function refreshRuntimeMetrics(showLoading = true): Promise {