mirror of
https://github.com/zotero/zotero.git
synced 2026-10-06 02:50:03 +00:00
Mirror of https://github.com/zotero/zotero.git
On macOS, SQLite chooses locking methods based on the filesystem containing the database, and network filesystems (e.g., SMB, NFS), read-only volumes, and filesystems without byte-range locking get methods without shared-memory support, which WAL requires. Opening a database with an adjacent WAL file on those crashes -- Mozilla's VFS wrapper hides the missing shared-memory methods from SQLite's WAL support check -- so the first Zotero 10 run converted the database to WAL and every launch after that segfaulted during connection initialization. On macOS, mirror SQLite's method selection and use a rollback journal when shared memory isn't available, converting an existing WAL database before opening it: an empty WAL by reverting the header format versions in place, and a non-empty WAL by replaying it into a temporary copy on local disk that replaces the database file only after passing an integrity check. A WAL file next to an already-converted database (e.g., from an interrupted conversion) goes through the same conversion. Also use openNotExclusive during integrity checks and corruption recovery, which otherwise fail on SMB shares with an I/O error from the exclusive open lock. This corrects |
||
|---|---|---|
| .github/workflows | ||
| app | ||
| chrome | ||
| defaults/preferences | ||
| document-worker@6d0c0ce45d | ||
| js-build | ||
| note-editor@acec74d09b | ||
| reader@132bb78793 | ||
| resource | ||
| scripts | ||
| scss | ||
| styles@dff7452b24 | ||
| test | ||
| translators@56eaac33b1 | ||
| types/gecko | ||
| .babelrc | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| chrome.manifest | ||
| CLAUDE.md | ||
| CONTRIBUTING.md | ||
| COPYING | ||
| eslint.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| update.rdf | ||
| version | ||
Zotero
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.