fix: setting http port from admin would lose https port
Massimo Melina committed
Feb 13, 2022 at 17:49 UTC
e1c07782fdb5a1afd26f031822183e122d833a18
1 file changed
+4
-6
src/config.ts
+4
-6
@@ -18,7 +18,7 @@ let state: Record<string, any> = {}
18
const emitter = new EventEmitter()
19
emitter.setMaxListeners(10_000)
20
const path = argv.config || process.env.HFS_CONFIG || PATH
21
-const { save } = watchLoad(path, values => setConfig(values, false), {
21
+const { save } = watchLoad(path, values => setConfig(values||{}, false), {
22
failedOnFirstAttempt(){
23
console.log("No config file, using defaults")
24
setConfig({}, false)
@@ -71,17 +71,15 @@ export function getWholeConfig({ omit=[], only=[] }: { omit:string[], only:strin
71
72
// pass a value to `save` to force saving decision, or leave undefined for auto
73
export function setConfig(newCfg: Record<string,any>, save?: boolean) {
74
- if (!newCfg)
75
- newCfg = {}
74
for (const k in newCfg)
75
check(k)
78
- const oldKeys = Object.keys(state)
79
- oldKeys.push(...Object.keys(configProps))
76
if (save) {
77
saveConfigAsap().then()
78
return
79
}
84
- for (const k of oldKeys)
80
+ if (started) return
81
+ // first time we emit also for the default values
82
+ for (const k of Object.keys(configProps))
83
if (!newCfg.hasOwnProperty(k))
84
check(k)
85
started = true