webui: fix --webui-config-file settings not applied on load (#20823)

* webui: fix --webui-config-file settings not applied on load

* chore: update webui build output
This commit is contained in:
Pascal
2026-03-23 11:25:35 +01:00
committed by GitHub
parent 177c75852a
commit c44a932cf4
3 changed files with 91 additions and 2 deletions
@@ -287,8 +287,12 @@ class SettingsStore {
*/
resetParameterToServerDefault(key: string): void {
const serverDefaults = this.getServerDefaults();
const webuiSettings = serverStore.webuiSettings;
if (serverDefaults[key] !== undefined) {
if (webuiSettings && key in webuiSettings) {
// UI setting from admin config: write actual value
setConfigValue(this.config, key, webuiSettings[key]);
} else if (serverDefaults[key] !== undefined) {
// sampling param known by server: clear it, let server decide
setConfigValue(this.config, key, '');
} else if (key in SETTING_CONFIG_DEFAULT) {
@@ -327,6 +331,17 @@ class SettingsStore {
}
}
// webui settings need actual values in config (no placeholder mechanism),
// so write them for non-overridden keys
const webuiSettings = serverStore.webuiSettings;
if (webuiSettings) {
for (const [key, value] of Object.entries(webuiSettings)) {
if (!this.userOverrides.has(key) && value !== undefined) {
setConfigValue(this.config, key, value);
}
}
}
this.saveConfig();
console.log('User overrides after sync:', Array.from(this.userOverrides));
}
@@ -338,8 +353,14 @@ class SettingsStore {
*/
forceSyncWithServerDefaults(): void {
const propsDefaults = this.getServerDefaults();
const webuiSettings = serverStore.webuiSettings;
for (const key of ParameterSyncService.getSyncableParameterKeys()) {
if (propsDefaults[key] !== undefined) {
if (webuiSettings && key in webuiSettings) {
// UI setting from admin config: write actual value
setConfigValue(this.config, key, webuiSettings[key]);
} else if (propsDefaults[key] !== undefined) {
// sampling param: clear it, let server decide
setConfigValue(this.config, key, '');
} else if (key in SETTING_CONFIG_DEFAULT) {
setConfigValue(this.config, key, getConfigValue(SETTING_CONFIG_DEFAULT, key));