Reload user settings when changed externally (#4097)

* Reload user settings when changed externally

* Fix to not use any

* Make sure listener doesn't already exist

* Fix up projects reloading

---------

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
This commit is contained in:
49fl
2024-10-07 23:07:18 -04:00
committed by GitHub
parent 7de0b74c16
commit 24cd1b2ea5
11 changed files with 151 additions and 79 deletions

View File

@ -177,14 +177,14 @@ export async function loadAndValidateSettings(
if (err(appSettingsPayload)) return Promise.reject(appSettingsPayload)
const settings = createSettings()
let settingsNext = createSettings()
// Because getting the default directory is async, we need to set it after
if (onDesktop) {
settings.app.projectDirectory.default = await getInitialDefaultDir()
}
setSettingsAtLevel(
settings,
settingsNext = setSettingsAtLevel(
settingsNext,
'user',
configurationToSettingsPayload(appSettingsPayload)
)
@ -199,8 +199,8 @@ export async function loadAndValidateSettings(
return Promise.reject(new Error('Invalid project settings'))
const projectSettingsPayload = projectSettings
setSettingsAtLevel(
settings,
settingsNext = setSettingsAtLevel(
settingsNext,
'project',
projectConfigurationToSettingsPayload(projectSettingsPayload)
)
@ -208,7 +208,7 @@ export async function loadAndValidateSettings(
// Return the settings object
return {
settings,
settings: settingsNext,
configuration: appSettingsPayload,
}
}