diff --git a/src/common/config/index.ts b/src/common/config/index.ts index 460fa471..2176bdd3 100644 --- a/src/common/config/index.ts +++ b/src/common/config/index.ts @@ -179,7 +179,11 @@ export default class Config extends EventEmitter { try { this.writeFile(this.configFilePath, this.localConfigData, (error: NodeJS.ErrnoException | null) => { if (error) { - throw new Error(error.message); + if (error.code === 'EBUSY') { + this.saveLocalConfigData(); + } else { + this.emit('error', error); + } } this.emit('update', this.combinedData); this.emit('synchronize'); diff --git a/src/main/main.ts b/src/main/main.ts index 4b32288b..ed946326 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -166,6 +166,9 @@ async function initializeConfig() { config.on('update', handleConfigUpdate); config.on('synchronize', handleConfigSynchronize); config.on('darkModeChange', handleDarkModeChange); + config.on('error', (error) => { + log.error(error); + }); handleConfigUpdate(configData); // can only call this before the app is ready