Commit graph

16289 commits

Author SHA1 Message Date
Dan Stillman
74a3617e7e Fix full-text indexing failing silently after periodic vacuum or backup
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
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
Dan Stillman
6881089b1b Update translators
Some checks are pending
CI / Build, Upload, Test (push) Waiting to run
2026-05-21 10:23:14 -04:00
Dan Stillman
c828f3405a Update reader submodule 2026-05-21 10:22:44 -04:00
Dan Stillman
841efcb5c6 Don't mark group attachment as unsynced when opened
For group items, attachmentLastRead is stored in a synced setting in My
Library rather than on the item itself, but since we didn't pass
skipSyncedUpdate, the item was being marked as needing sync, resulting
in a permission-denied error in read-only libraries.

https://forums.zotero.org/discussion/131717/opening-pdf-in-read-only-group-library-triggers-permission-denied-on-sync
(cherry picked from commit d2631cc614)
2026-05-21 10:08:07 -04:00
abaevbog
b5517e92c1 citation dlg: sort libraries by cited count (#5925)
In list mode, sort libraries by the count of their items
cited in the current document, falling back to alphabetic sorting
when counts are equal, with "My Library" always getting
priority over other groups.

Fixes: #5924
(cherry picked from commit 8f44172342)
2026-05-21 10:07:52 -04:00
Abe Jellinek
2a1779f5c1 Suppress Crash Reports and RemoteSettings console spam
(cherry picked from commit 714d4416f8)
2026-05-21 10:06:39 -04:00
Dan Stillman
3c131037da Close advanced search window in collectionViewItemTree notify() test
The test opened an advanced search window but never closed it, which
likely caused the intermittent failures in the ZoteroPane focus() test
"should shift-tab across the zotero pane".

(cherry picked from commit 504447de41)
2026-05-21 10:06:05 -04:00
Dan Stillman
d0168f91d4 Update version 2026-05-21 10:05:31 -04:00
Dan Stillman
451d96a824 Update version
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
2026-05-06 10:58:46 -04:00
Dan Stillman
75b55a5f06 Update Windows builds with Word template compatibility fix from #5904
(cherry picked from commit ddf2419e78)
2026-05-06 10:58:46 -04:00
Abe Jellinek
adacbb4010 Fix Find Full Text captcha loop on ScienceDirect (#5902)
Some checks are pending
CI / Build, Upload, Test (push) Waiting to run
2026-05-05 09:51:23 -04:00
Dan Stillman
df6efbfd8d Update translate submodule 2026-05-05 09:51:04 -04:00
Abe Jellinek
de5bc7c5c5 cookieContextId -> userContextId 2026-05-05 09:51:04 -04:00
Abe Jellinek
5ebe8ea15f Add support for clearing challenge in browser during translation 2026-05-05 09:51:03 -04:00
Abe Jellinek
b8611db419 Remove CookieSandbox, add new utility for cookie isolation (#5853) 2026-05-05 09:49:42 -04:00
Dan Stillman
5af27a0194 Update translators
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
2026-04-30 12:43:37 -04:00
Dan Stillman
bb832f1152 Update reader submodule 2026-04-30 12:19:27 -04:00
Dan Stillman
86ae532c37 Prefs: Localize "Data Directory:" label in Advanced pane
Hard-coded as "Data directory:" in the original commit. Move to Fluent
and fix the dara-dir-label typo on the id (and the matching
aria-describedby) while we're here.

https://forums.zotero.org/discussion/130868/untranslated-string-data-directory
https://forums.zotero.org/discussion/131212/translation-not-reflected
(cherry picked from commit a57cb6276f)
2026-04-30 12:19:00 -04:00
Abe Jellinek
08d43a512a Replace chai-as-promised assertions in server_connector tests
(cherry picked from commit 03d94060b4)
2026-04-30 12:18:49 -04:00
Abe Jellinek
33e6601a2e Server: Remove /connector/request endpoint
Never used.

(cherry picked from commit 13cb8d99b6)
2026-04-30 12:18:45 -04:00
Abe Jellinek
a50052a055 Server: Test new browser detection behavior
(cherry picked from commit 82b31574a8)
2026-04-30 12:18:42 -04:00
Abe Jellinek
9db626c929 Server: Close request without response when browser is detected
(cherry picked from commit bc2ede0459)
2026-04-30 12:18:38 -04:00
Abe Jellinek
8579339cde Server: Improve browser detection
(cherry picked from commit 2e19017d0e)
2026-04-30 12:18:35 -04:00
Abe Jellinek
094eb92f37 CasePreservingHeaders: Fix some Headers instances not being recognized
I guess the Headers class accessible from test code is different from
the Headers class in http.js (for the purposes of instanceof, at least).

(cherry picked from commit 2f38926da5)
2026-04-30 12:18:31 -04:00
Dan Stillman
ed5418b8f8 Validate Host header in connector server
Restores a check that was originally added in 10ad4c33 but lost in the
June 2024 server rewrite (#5148)

(cherry picked from commit 5dc817db44)
2026-04-30 12:18:28 -04:00
windingwind
5a745fcc9a Fix plugin FTL registration (#5896)
Use one registry to avoid competing of language detect between plugins,
as resources declared as optional is identical to resource missing and thus fails the check and returns null for the string (https://searchfox.org/mozilla-esr140/source/intl/l10n/rust/l10nregistry-rs/src/registry/asynchronous.rs#140)
Register the plugin FTL for all languages Zotero supports with proper fallback logic so that even resources are declared as required, the check doesn't fail when plugin doesn't provide the resource.
Fix Zotero.File.getResourceAsync to use NetUtil channel to handle jar: url with `@`.

(cherry picked from commit e13e85b2e5)
2026-04-30 12:18:03 -04:00
Mi Ramon
0ead864103 "Updating add-ons" → "Updating plugins" (#5893)
(cherry picked from commit 462357e49e)
2026-04-30 12:15:20 -04:00
Dan Stillman
fcebbb3798 Update Windows build to Firefox 140.10.0esr
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
(cherry picked from commit df6037ce0a)
2026-04-23 22:19:40 -04:00
Dan Stillman
b0459f7668 Update Mac and Linux builds to Firefox 140.10.0esr
(cherry picked from commit de69835419)
2026-04-23 22:19:33 -04:00
Dan Stillman
d27da1173a Offer to reset data directory on SQLite I/O error at startup
When a custom data directory is on a network share or in a cloud storage
folder, SQLite can fail to open with NS_ERROR_STORAGE_IOERR and the user
previously had to manually edit prefs.js to recover. Show a "Use Default
Location" button in the startup error dialog that resets the data
directory pref and restarts.

Addresses #4860

(cherry picked from commit 0b15b794e6)
2026-04-23 22:19:26 -04:00
Adomas Venčkauskas
3290ce2182 Update Word for Windows submodule
(cherry picked from commit e7ed0b2881)
2026-04-23 22:17:54 -04:00
Dan Stillman
28ae0ff644 Update version 2026-04-23 22:17:43 -04:00
Dan Stillman
8007ca065f CI: Deploy from version branches (9.0, 10.0, etc.)
Some checks failed
CI / Build, Upload, Test (push) Has been cancelled
And drop reference to fx128 branch

(cherry picked from commit e1cd83214f)
2026-04-21 14:41:33 -04:00
Dan Stillman
2cf46e5cc9 Update reader submodule 2026-04-21 12:52:03 -04:00
Dan Stillman
d4aeb53fb2 Update version 2026-04-21 12:22:57 -04:00
Dan Stillman
4b78c5bfc8 Update reader submodule (9.0 branch) 2026-04-21 12:21:28 -04:00
Tom Najdek
2d6268919b Fix tag paste to include existing field text at cursor position (#5873)
(cherry picked from commit 32e43cb8f1)
2026-04-21 12:20:55 -04:00
windingwind
3db96c9444 Fix plugin prefs.js change not taking effect after update (#5888)
Do not use cache for loading the prefs.js

(cherry picked from commit fa9a54b773)
2026-04-21 12:15:52 -04:00
Abe Jellinek
fc58c6872d Read Aloud: Fix network error string key
(cherry picked from commit 89ee4c21c0)
2026-04-21 12:15:46 -04:00
Adomas Venčkauskas
83ec579d3d Fix bad utilities submodule commit
(cherry picked from commit 26816b03e2)
2026-04-21 12:15:42 -04:00
Adomas Venčkauskas
3acb7e1f6b Update utilities submodule
(cherry picked from commit 07906931c1)
2026-04-21 12:15:37 -04:00
Dan Stillman
a3ff0f96e5 Work around Fluent issue leaving "{$version}" in post-upgrade banner
Some users see the literal "{$version}" placeholder in the banner,
likely due to some Fluent quirk triggered by plugin localizations.
(Missing localizations? Missing strings?) After translation, check the
version span and substitute manually if needed.

https://forums.zotero.org/discussion/129171/version-variable-is-displayed-in-zotero-8-upgrade-banner/p1
https://forums.zotero.org/discussion/130864/just-upgraded-to-zotero-9-on-debian-through-check-for-updates-and/p1
(cherry picked from commit 45596e70e9)
2026-04-21 12:14:41 -04:00
windingwind
e943914541 Fix removal logic for menu added by MenuManager (#5886)
Add the registered main key to menu class list so that they can be found when plugin is removed.
Add test for the fix.

(cherry picked from commit 55672ba933)
2026-04-21 12:14:04 -04:00
Abe Jellinek
6631250aa4 Read Aloud: Handle failure when trying to pause other tab
https://forums.zotero.org/discussion/130920/tts-breaks-after-automatic-theme-changes
(cherry picked from commit 488fd29978)
2026-04-21 12:13:58 -04:00
Mi Ramon
f2d76ab93b Add a icon for "Relate Items" (#5884)
(cherry picked from commit 676d609d0d)
2026-04-21 12:13:37 -04:00
Tom Najdek
9b20248a95 Fix CSS specificity causing tag swatches to render in reverse order
(cherry picked from commit ad4bb17db9)
2026-04-21 12:13:27 -04:00
abaevbog
272da7499b fix related item sometimes not selected on click (#5885)
https://forums.zotero.org/discussion/130887/clicking-related-fails-zotero-report-id-1418809492
(cherry picked from commit 683ecf1620)
2026-04-21 12:13:18 -04:00
Dan Stillman
68dff74298 Fix crash when annotation item is missing itemAnnotations row
Don't throw when updateDisplayTitle() retry fails after loading
annotation data for a corrupt item. Also add an integrity check to
delete annotation items without itemAnnotations rows.

Fixes https://forums.zotero.org/discussion/130872

(cherry picked from commit f20eb5b566)
2026-04-21 12:13:03 -04:00
Dan Stillman
fa10aef7df Switch to 9.0 branch for 9.0 releases
(cherry picked from commit 1ed1fab55b)
2026-04-21 12:12:44 -04:00
Dan Stillman
e22e2cd9dd Fix hardcoded version in post-upgrade banner 2026-04-10 11:21:20 -04:00