Find a file
Dan Stillman 74a3617e7e
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
Fix full-text indexing failing silently after periodic vacuum or backup
vacuum() and the APFS-cloning offline backup path both close and
reopen the SQLite connection, which drops all ATTACHed databases --
including the in-memory "indexing" alias used for the fulltextWords
scratch table set up in Fulltext.init(). Once the connection is
reopened, indexing queries fail with "no such table:
indexing.fulltextWords", and indexItems()'s ignoreErrors path
routes the error to logError(), so indexing silently stops working
for the rest of the session.

Add an onConnect() hook on Zotero.DBConnection for per-connection
state that doesn't persist across reopens, and use it from
Fulltext.init() to re-attach the indexing DB on each reconnect.

Regression sources:

- 67288047f3 ("Use APFS cloning for file copies on macOS") flips
  online idle backups to offline-with-clone on APFS, so every idle
  backup interval (24h default) closes and reopens the connection.
  Affects Mac users on APFS.
- b27c4cb023 ("Enable SQLite WAL mode and add periodic VACUUM
  INTO") adds the vacuum path, which closes and reopens on the
  first idle period in a session that passes the freelist/time
  gates. Affects all users with sufficient DB churn, roughly once
  per 14 days.

https://forums.zotero.org/discussion/131576/debug-id-d848621212-indexing-of-pdfs-fail-zotero-9-0-3
https://forums.zotero.org/discussion/131718/possible-bug-regression-report-search-unusable-on-macos-zotero-9-0-3-with-large-library
(cherry picked from commit 70c4cadab1)
2026-05-22 11:00:03 -04:00
.github/workflows CI: Deploy from version branches (9.0, 10.0, etc.) 2026-04-21 14:41:33 -04:00
app Suppress Crash Reports and RemoteSettings console spam 2026-05-21 10:06:39 -04:00
chrome Fix full-text indexing failing silently after periodic vacuum or backup 2026-05-22 11:00:03 -04:00
defaults/preferences Add support for clearing challenge in browser during translation 2026-05-05 09:51:03 -04:00
js-build Move file renaming strings to fileRenaming.ftl 2026-04-02 15:48:14 -04:00
note-editor@107ab75c32 Update note-editor submodule 2026-03-19 15:57:30 +00:00
pdf-worker@fd642b3828 Update pdf-worker submodule 2025-12-11 13:07:04 +00:00
reader@9643fac7a4 Update reader submodule 2026-05-21 10:22:44 -04:00
resource Update translators 2026-05-21 10:23:14 -04:00
scripts Add script for pulling Fluent translations 2026-01-25 22:15:29 -05:00
scss Add a icon for "Relate Items" (#5884) 2026-04-21 12:13:37 -04:00
styles@dff7452b24 Update translators, styles, CSL locales, and renamed-styles.json 2026-04-02 15:51:43 -04:00
test Fix full-text indexing failing silently after periodic vacuum or backup 2026-05-22 11:00:03 -04:00
translators@0a464bd98f Update translators 2026-05-21 10:23:14 -04:00
types/gecko fx140: Update type definitions 2025-07-30 22:30:37 -04:00
.babelrc Use production builds of react libraries (#4482) 2024-08-02 03:43:02 -04:00
.gitattributes Update Linux updater for Zotero 7 2023-05-20 10:51:47 +00:00
.gitignore Use user-provided codesign script for Windows signing 2024-04-08 10:12:58 +01:00
.gitmodules Remove chai-as-promised submodule 2025-03-05 22:59:49 -05:00
chrome.manifest Remove old citation dialogs (#5177) 2025-04-02 05:26:06 -04:00
CLAUDE.md CLAUDE.md: Clarify that Fluent should be used for all new strings 2026-03-09 14:45:43 -04:00
CONTRIBUTING.md Add "support questions" to CONTRIBUTING.md 2022-12-01 05:10:42 -05:00
COPYING Update COPYING 2018-03-26 11:27:48 +02:00
eslint.config.mjs Replace CSL validator with reproducible WASM build (#5525) 2025-08-29 00:40:41 -04:00
package-lock.json Update package-lock.json 2026-01-29 13:22:13 -05:00
package.json Upgrade ftl-tx. Fix #5671. 2025-12-20 02:22:23 +01:00
README.md "Zotero wiki" → "Zotero documentation" in app build README 2023-04-26 04:40:22 -04:00
update.rdf Update Fx minVersion to 45 2016-12-13 09:12:55 -05:00
version Update version 2026-05-21 10:05:31 -04:00

Zotero

CI

Zotero is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources.

Please post feature requests or bug reports to the Zotero Forums. If you're having trouble with Zotero, see Getting Help.

For more information on how to use this source code, see the Zotero documentation.