Commit graph

10344 commits

Author SHA1 Message Date
abaevbog
5bbf4fb664 avoid relation to self after merging related items (#5488)
When copying over relations during merge of items
that are related to one another, avoid relating the
chosen main item to itself.

Fixes: #5487
2025-08-16 11:26:58 -04:00
Abe Jellinek
6c390ad56c Handle invalid path when launching/revealing on macOS (#5485) 2025-08-16 11:26:45 -04:00
Abe Jellinek
d6f83e5f6c Clean up JSDoc comments and unused field (#5443) 2025-08-14 10:42:41 -04:00
Abe Jellinek
72c229eda4 Find Full Text: Simulate ProQuest redirect back to original page (#5443)
We don't follow JS redirects, so this is necessary in order for
us to get to a translatable page after authentication.
2025-08-14 10:42:26 -04:00
Abe Jellinek
1fa0824027 Attach CookieSandbox to Find Full Text requests and translation (#5443)
With a 24-hour validity per site (eTLD+1).
2025-08-14 10:42:21 -04:00
abaevbog
a899accd76 filter out trashed items in relatedBox (#5482)
If the item itself is trashed, all related items are displayed
(trashed or not).

Fixes: #1780
2025-08-14 10:32:16 -04:00
Dan Stillman
ea97c960cb Better method of unsetting and restoring Mozilla environment variables
Hopefully a better fix for #4981, which wasn't working properly on at
least some Linux systems because the variables were getting restored
before the subprocess launched. This delays a (debounced) second, to
give the subprocess time to start, and then automatically restores the
variables.

An explicit restart via app code also immediately restores the
variables, since restarts on Linux inherent the environment and don't
use our startup script. (An upgrade restart could still happen when the
variables were cleared, but you'd have to be extremely unlucky --
launching URLs or files while also performing a manual restart the same
second.)
2025-08-14 10:32:04 -04:00
Dan Stillman
1cf03e6f45 "Caching" → "Cached" in CSL.Engine cache debug line to clarify timing 2025-08-14 10:31:33 -04:00
Dan Stillman
cf91d62e59 Update citeproc.js to include Juris-M/citeproc-js#256 2025-08-14 10:31:24 -04:00
Dan Stillman
d1d62cb91d Update citeproc.js to latest build
Includes Juris-M/citeproc-js#253 and Juris-M/citeproc-js#254
2025-08-14 10:31:16 -04:00
Abe Jellinek
90d7082a5d Clear _blockingObserver field when it was never initialized
Follow-up to cc3fc42b0a
2025-08-14 10:31:09 -04:00
Abe Jellinek
75ce9f07b7 Catch BlockingObserver error when reader is closed immediately
https://forums.zotero.org/discussion/125841/cannot-open-a-pdf-file-in-a-new-tab
2025-08-14 10:31:01 -04:00
Adomas Venčkauskas
76c0c9d0ce Fix Google Docs integration breaking when cancelling edit bibliograpy
I've run into this randomly. It only occurs if the first operation on a
Google Doc since Zotero restart is the edit bibliography dialog which
you cancel. Due to how the HTTP integration client is implemented, the
missing await causes it to try to send another response to the Connector
(which is no longer waiting on the /response endpoint), failing and
causing a forever pending promise, which makes subsequent attempts to
interact with the Google Docs plugin no-op.

We get occassional reports from users about Google Docs getting stuck
that is fixed by Zotero restart, so hopefully this will reduce those.
2025-08-14 10:30:35 -04:00
Abe Jellinek
42ff572a6d Don't merge into a missing snapshot attachment (#5459) 2025-08-14 10:30:24 -04:00
abaevbog
ef5f8be920 fix subcollection not being copied to library root (#5464)
Fixes: #5463
2025-08-14 10:30:18 -04:00
Dan Stillman
8379bdc8cd ZFS: Don't retry download for canceled redirect with mtime/hash match
This was a regression from the switch to `Zotero.HTTP.download()`. 302
wasn't a success code, so `HTTP.download()` would throw, and since the
status wasn't set correctly on the `XMLHttpRequest` within
`HTTP.UnexpectedStatusException`, it would think it was an interrupted
S3 connection and trigger another download after a delay.
2025-07-26 01:32:22 -04:00
Dan Stillman
bd11fd7234 HTTP.download(): Don't save file for non-2xx response 2025-07-26 01:32:21 -04:00
Dan Stillman
cf44d4333d HTTP.request(): Return proper status for canceled redirect 2025-07-26 01:32:21 -04:00
Dan Stillman
8f673efdd6 Update styles and CSL locales 2025-07-25 02:42:10 -04:00
Abe Jellinek
c10bb6f318 If custom file handler is set to Zotero itself, use reader (#5407) 2025-07-25 02:42:10 -04:00
Abe Jellinek
176d8d7328 Cache CSL Engine for item pane header (#5405)
Once styles are initialized.
2025-07-25 02:42:10 -04:00
Adomas Venčkauskas
fa52445ae6 Server: Add support for UTF in server headers (RFC2047) 2025-07-25 02:42:10 -04:00
Abe Jellinek
81d9ed77e9 Unregister Zotero_Tabs observers when window is unloaded 2025-07-23 23:56:05 -04:00
Abe Jellinek
7b56a3eefe Cache CiteProc Engine instances, pre-cache for Quick Copy (#5399) 2025-07-23 23:56:05 -04:00
Dan Stillman
b95f9eea89 Use BrowserDownload for 403 when enforcing type in downloadFile()
Fixed regression (probably in 1f401f0897) causing Find Full Text not to
use BrowserDownload for a 403

https://forums.zotero.org/discussion/125581/zotero-suddenly-fails-to-retrieve-full-text-although-i-have-access
2025-07-23 23:56:05 -04:00
Northword
445737c261 Clear plugin cache on re-install (#5395) 2025-07-23 23:56:05 -04:00
SSCC
6dbefee007 fix the missing "yield" in line 158 of storageEngine.js (#5394)
Fix the issue where Zotero.Sync.Runner.sync({background: true}) cannot obtain the itemIDs
2025-07-23 23:56:05 -04:00
Tom Najdek
47f2821a3d Use a more universal method of checking the element name 2025-07-23 23:56:05 -04:00
Tom Najdek
78c1039a9f Fix auto-completion typo toLocaleLowerCase -> toLowerCase 2025-07-23 23:56:04 -04:00
Tom Najdek
7c662dd59d Fix incorrect context menu when renaming collection #5374 2025-07-23 23:56:04 -04:00
Dan Stillman
696a15816c More chicago-note-bibliography → chicago-shortened-notes-bibliography 2025-07-14 21:32:18 -04:00
Dan Stillman
f316b109e8 Update styles and CSL locales
Including new Chicago styles
2025-07-14 21:21:39 -04:00
Tom Najdek
c9efc33d9c
Re-implement "Create Parent Dialog" without using React for 7.0 (#5381)
* Fixed an issue where the window size did not match the content
* Replaced the semi-transparent progress bar with a spinner
* Fixed a problem that allowed triggering a search while one was already in progress
* Reduced code complexity
2025-07-14 21:21:07 -04:00
Tom Najdek
36e0c6469c Fix truncated content in the Create Parent dialog. Close #5365 2025-07-09 03:56:22 -04:00
Adomas Venčkauskas
cc43189cee Add a Connector version update warning for item saving changes (7.0) 2025-07-09 00:05:48 -04:00
Abe Jellinek
95550403a7 Register CookieSandbox observer at startup (#5358) 2025-06-25 23:58:30 -04:00
Abe Jellinek
12f344e03d Fix all cookies being lost during remote translation (#5358) 2025-06-25 23:58:15 -04:00
Abe Jellinek
556b571da2 RemoteTranslate: Fix request methods not sending cookies 2025-06-25 23:57:33 -04:00
Abe Jellinek
6a611179d1 Undo Scholaread changes to user.js (#5313)
And any other fileHandler changes
2025-06-21 12:13:26 -04:00
abaevbog
3aef6cddcb
qf: fix breakage with unloaded tab (#5347)
Properly load all item data for items opened in tabs
to account for the fact that they can belong to
libraries that are not yet loaded.

Similar fix as in 4421de63de
2025-06-20 00:19:17 -04:00
Tom Najdek
4cc52ec928 File renaming: Add pascal case. Fix unicode handling. (#4876) 2025-06-19 02:19:59 -04:00
Dan Stillman
0d5d43f930 Don't use Firefox user agent for files.zotero.net requests 2025-06-19 02:19:53 -04:00
Tom Najdek
7ffd1d4504 Unhide "title" column on "Restore Column Order" (#5299)
This actually checks for a "primary" column, so if an extension hides the "title" column but provides its own "primary" column, the "title" column remains hidden.
2025-06-19 02:18:24 -04:00
Adomas Venčkauskas
1c2ec3fd75 Fix Google Docs allowing to select note style (endnotes)
Report: https://forums.zotero.org/discussion/123928/zotero-citations-not-appearing-as-endnotes-despite-selected-setting
2025-06-19 02:16:53 -04:00
Abe Jellinek
7eeb666894 Skip invalid relative path when changing LABD (#5239) 2025-06-19 02:16:36 -04:00
Abe Jellinek
bd451196b0 Tags box: Disable Remove All Tags when not editable 2025-06-19 02:14:32 -04:00
abaevbog
a7e1035b77 a11y: clear aria-expanded on empty itemTree rows (#5201)
Per https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-expanded#treeitems
only treeitems that contain children should have
the aria-expanded attribute. This is instead of having
aria-expanded="false" on empty regular items or standalone
attachments, which erroneously indicates to screen readers
that the row has children but is collapsed.

Fixes: #5200
2025-06-19 02:13:58 -04:00
Dan Stillman
ec59f43a68 Mark locally missing files marked for upload for download instead
Z7 removed an `OS.File.open()` in `_checkForUpdatedFiles()` that would
throw on missing files and cause them to be marked for download in a
`catch`.

This likely caused the fix for #1753 not to work in Z7.
2025-06-19 02:13:02 -04:00
abaevbog
76b8556c16 runJS: better message if nothing is returned (#5181)
Display "===>undefined<=== (completed successfully)" instead
of current "===>undefined<=== (undefined)", which is a bit misleading.

Fixes: #5180
2025-06-19 02:05:23 -04:00
abaevbog
79feeaecb1 load all tabs items' data when restoring tab state (#5193)
This fixes the breakage in tabs menu on initial load
if one of the tab is for an item from not-loaded group.
Now, every component relying on tab items (e.g. tabs menu)
can just assume that items are all loaded.

Fixes: #5192
2025-06-19 02:05:05 -04:00