diff --git a/chrome/content/zotero/xpcom/data/feeds.js b/chrome/content/zotero/xpcom/data/feeds.js index 12243569a..a337f42be 100644 --- a/chrome/content/zotero/xpcom/data/feeds.js +++ b/chrome/content/zotero/xpcom/data/feeds.js @@ -154,6 +154,7 @@ Zotero.Feeds = new function() { feed.name = json[feed.url][0]; feed.cleanupAfter = json[feed.url][1]; feed.refreshInterval = json[feed.url][2]; + delete json[feed.url]; } else { Zotero.debug("Feed " + feed.url + " does not exist in remote JSON. Deleting"); yield feed.erase(); diff --git a/chrome/content/zotero/xpcom/syncedSettings.js b/chrome/content/zotero/xpcom/syncedSettings.js index ab83f9756..64fce7fcc 100644 --- a/chrome/content/zotero/xpcom/syncedSettings.js +++ b/chrome/content/zotero/xpcom/syncedSettings.js @@ -230,7 +230,7 @@ Zotero.SyncedSettings = (function () { _cache[libraryID][setting] = { value, synced: !!synced, - version: version > 0 ? version : metadata.version + version: version > 0 || !hasCurrentValue ? version : metadata.version }; var conflict = metadata && !metadata.synced && metadata.version < version; diff --git a/test/tests/feedsTest.js b/test/tests/feedsTest.js index d7c0c43f6..fcc1ceab3 100644 --- a/test/tests/feedsTest.js +++ b/test/tests/feedsTest.js @@ -44,12 +44,12 @@ describe("Zotero.Feeds", function () { }); describe("#restoreFromJSON", function() { - var json = {}; - var expiredFeedURL, existingFeedURL; + var json, expiredFeedURL, existingFeedURL; beforeEach(function* () { yield clearFeeds(); + json = {}; for (let i = 0; i < 2; i++) { let url = "http://" + Zotero.Utilities.randomString(10, 'abcdefgh') + ".com/feed.rss"; json[url] = {