From 778fba60cb95198c59a70a0eae7db294d09690de Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 21 Mar 2023 16:01:29 -0400 Subject: [PATCH] Limit Everything full-text-word subsearch to current library This fixes an error using Everything if another library hasn't yet been loaded and should speed up Everything searches for people with multiple libraries. This is sort of an awkward fix, because it doesn't fix the underlying problem of `addCondition('libraryID', ...)` not working the same as `.libraryID =` for some search conditions that perform subsearches. But supporting `addCondition('libraryID', ...)` for those would get complicated, because there could technically be multiple such conditions, and applying those to a subsearch that used `AND` would get messy. So let's just fix the problem at hand. Fixes #3032 --- chrome/content/zotero/xpcom/collectionTreeRow.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/collectionTreeRow.js b/chrome/content/zotero/xpcom/collectionTreeRow.js index 5747a0e0a9..e976852c19 100644 --- a/chrome/content/zotero/xpcom/collectionTreeRow.js +++ b/chrome/content/zotero/xpcom/collectionTreeRow.js @@ -350,7 +350,7 @@ Zotero.CollectionTreeRow.prototype.getSearchObject = Zotero.Promise.coroutine(fu } else { var s = new Zotero.Search(); - s.addCondition('libraryID', 'is', this.ref.libraryID); + s.libraryID = this.ref.libraryID; // Library root if (this.isLibrary(true)) { s.addCondition('noChildren', 'true'); @@ -379,7 +379,7 @@ Zotero.CollectionTreeRow.prototype.getSearchObject = Zotero.Promise.coroutine(fu // Create the outer (filter) search var s2 = new Zotero.Search(); - s2.addCondition('libraryID', 'is', this.ref.libraryID); + s2.libraryID = this.ref.libraryID; if (this.isTrash()) { s2.addCondition('deleted', 'true');