From b6efbe880ef76831a466e69461b4d9b027e8a6d2 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Sun, 23 Aug 2026 12:08:58 -0400 Subject: [PATCH] Pass save options through in Zotero.Collection::removeItems() addItems() passes its options to Zotero.Item::save(), but removeItems() dropped everything but skipEditCheck, so callers couldn't batch the resulting notifications. --- chrome/content/zotero/xpcom/data/collection.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/chrome/content/zotero/xpcom/data/collection.js b/chrome/content/zotero/xpcom/data/collection.js index 520ab91923..ae650b1bd7 100644 --- a/chrome/content/zotero/xpcom/data/collection.js +++ b/chrome/content/zotero/xpcom/data/collection.js @@ -456,6 +456,8 @@ Zotero.Collection.prototype.removeItem = function (itemID, options = {}) { * Does not require a separate save() */ Zotero.Collection.prototype.removeItems = async function (itemIDs, options = {}) { + options.skipDateModifiedUpdate = true; + if (!itemIDs || !itemIDs.length) { return; } @@ -473,10 +475,7 @@ Zotero.Collection.prototype.removeItems = async function (itemIDs, options = {}) let item = await this.ChildObjects.getAsync(itemID); item.removeFromCollection(this.id); - await item.save({ - skipDateModifiedUpdate: true, - skipEditCheck: options.skipEditCheck - }) + await item.save(options); } };