diff --git a/chrome/content/zotero/xpcom/data/library.js b/chrome/content/zotero/xpcom/data/library.js index 09d00d4858..d51bd27992 100644 --- a/chrome/content/zotero/xpcom/data/library.js +++ b/chrome/content/zotero/xpcom/data/library.js @@ -148,6 +148,12 @@ Zotero.defineProperty(Zotero.Library.prototype, 'libraryVersion', { set: function(v) this._set('_libraryVersion', v) }); + +Zotero.defineProperty(Zotero.Library.prototype, 'syncable', { + get: function () { return this._libraryType != 'feed'; } +}); + + Zotero.defineProperty(Zotero.Library.prototype, 'lastSync', { get: function() this._get('_libraryLastSync') }); diff --git a/chrome/content/zotero/xpcom/sync/syncEventListeners.js b/chrome/content/zotero/xpcom/sync/syncEventListeners.js index 8e1566f6b6..cbe38736f4 100644 --- a/chrome/content/zotero/xpcom/sync/syncEventListeners.js +++ b/chrome/content/zotero/xpcom/sync/syncEventListeners.js @@ -134,12 +134,16 @@ Zotero.Sync.EventListeners.AutoSyncListener = { let objectsClass = Zotero.DataObjectUtilities.getObjectsClassForObjectType(type); ids.forEach(id => { let lk = objectsClass.getLibraryAndKeyFromID(id); - if (lk) { + if (lk && Zotero.Libraries.get(lk.libraryID).syncable) { libraryIDs.add(lk.libraryID); } }); } + if (!libraryIDs.size) { + return; + } + Zotero.Sync.Runner.setSyncTimeout( this._editTimeout, false,