diff --git a/browser/lib/dataStore.js b/browser/lib/dataStore.js index b1121b58..48d00a27 100644 --- a/browser/lib/dataStore.js +++ b/browser/lib/dataStore.js @@ -110,12 +110,14 @@ export function getData () { } export function setArticles (articles) { + if (!_.isArray(articles)) throw new Error('Articles must be an array') let data = getData() data.articles = articles jetpack.write(getLocalPath(), data) } export function setFolders (folders) { + if (!_.isArray(folders)) throw new Error('Folders must be an array') let data = getData() data.folders = folders jetpack.write(getLocalPath(), data) diff --git a/browser/main/reducer.js b/browser/main/reducer.js index a1750996..b1f98d51 100644 --- a/browser/main/reducer.js +++ b/browser/main/reducer.js @@ -226,16 +226,16 @@ function articles (state = initialArticles, action) { let modifiedIndex = _.findIndex(state.modified, _article => articleKey === _article.key) if (modifiedIndex >= 0) state.modified.splice(modifiedIndex, 1) - dataStore.setArticles(state) + dataStore.setArticles(state.data) return state } case FOLDER_DESTROY: { let folderKey = action.data.key - state = state.filter(article => article.FolderKey !== folderKey) + state.data = state.data.filter(article => article.FolderKey !== folderKey) - dataStore.setArticles(state) + dataStore.setArticles(state.data) return state } default: