From 6e2e48fa64d511dde6c5d1203b5dff784c75d3e8 Mon Sep 17 00:00:00 2001 From: asmsuechan Date: Thu, 10 Aug 2017 23:19:57 +0900 Subject: [PATCH] Fix ConfigManger to load the settings from localStorage properly --- browser/main/lib/ConfigManager.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/browser/main/lib/ConfigManager.js b/browser/main/lib/ConfigManager.js index 505e7abd..b7397f88 100644 --- a/browser/main/lib/ConfigManager.js +++ b/browser/main/lib/ConfigManager.js @@ -60,19 +60,18 @@ function _save (config) { } function get () { - let config = window.localStorage.getItem('config') + const storedConfig = window.localStorage.getItem('config') + let config = storedConfig try { const boostnotercConfig = RcParser.parse() - config = Object.assign({}, DEFAULT_CONFIG, JSON.parse(config)) - - config = Object.assign({}, DEFAULT_CONFIG, boostnotercConfig) - config = assignConfigValues(config, boostnotercConfig, config) + config = Object.assign({}, DEFAULT_CONFIG, JSON.parse(storedConfig)) + config = assignConfigValues(config, boostnotercConfig) if (!validate(config)) throw new Error('INVALID CONFIG') } catch (err) { - console.warn('Boostnote resets the malformed configuration.') + console.warn('Boostnote resets the invalid configuration.') config = DEFAULT_CONFIG _save(config) } @@ -131,12 +130,12 @@ function set (updates) { }) } -function assignConfigValues (config, rcConfig, originalConfig) { - config = Object.assign({}, DEFAULT_CONFIG, rcConfig, originalConfig) - config.hotkey = Object.assign({}, DEFAULT_CONFIG.hotkey, rcConfig.hotkey, originalConfig.hotkey) - config.ui = Object.assign({}, DEFAULT_CONFIG.ui, rcConfig.ui, originalConfig.ui) - config.editor = Object.assign({}, DEFAULT_CONFIG.editor, rcConfig.editor, originalConfig.editor) - config.preview = Object.assign({}, DEFAULT_CONFIG.preview, rcConfig.preview, originalConfig.preview) +function assignConfigValues (originalConfig, rcConfig) { + let config = Object.assign({}, DEFAULT_CONFIG, originalConfig, rcConfig) + config.hotkey = Object.assign({}, DEFAULT_CONFIG.hotkey, originalConfig.hotkey, rcConfig.hotkey) + config.ui = Object.assign({}, DEFAULT_CONFIG.ui, originalConfig.ui, rcConfig.ui) + config.editor = Object.assign({}, DEFAULT_CONFIG.editor, originalConfig.editor, rcConfig.editor) + config.preview = Object.assign({}, DEFAULT_CONFIG.preview, originalConfig.preview, rcConfig.preview) return config }