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