feat: allow kgone-server.json to override the kgone server base url and soundfont base url

This commit is contained in:
Xiaohan-Tian
2026-04-17 16:32:55 -07:00
parent 206fa6fdf9
commit 71dc7d99e7
3 changed files with 48 additions and 10 deletions
+16 -1
View File
@@ -105,6 +105,7 @@ export class ConfigManager {
private storage: KGConfigStorage;
private isInitialized: boolean = false;
private kgoneServerManaged: boolean = false;
private soundfontServerManaged: boolean = false;
private defaultConfig: AppConfig | null = null;
private changeListeners: Set<(changedKeys: string[]) => void> = new Set();
@@ -558,7 +559,7 @@ export class ConfigManager {
}
/**
* Called at startup when kgone-server.txt is found.
* Called at startup when kgone-server.json contains a base_url field.
* Forces enabled=true and overrides base_url in-memory only (not persisted).
*/
public setKGOneManagedByServer(url: string): void {
@@ -572,6 +573,20 @@ export class ConfigManager {
return this.kgoneServerManaged;
}
/**
* Called at startup when kgone-server.json contains a soundfont field.
* Overrides general.soundfont.base_url in-memory only (not persisted).
*/
public setSoundfontManagedByServer(url: string): void {
this.soundfontServerManaged = true;
this.setInObject(this.config as Record<string, unknown>, 'general.soundfont.base_url', url);
this.notifyChangeListeners(['general.soundfont.base_url']);
}
public isSoundfontServerManaged(): boolean {
return this.soundfontServerManaged;
}
/**
* Get the default configuration
*/