Commit graph

15828 commits

Author SHA1 Message Date
Abe Jellinek
e9dd050229 Item pane header: Only pre-cache CSL.Engine if set to bibEntry mode 2025-10-08 12:04:21 -04:00
Tom Najdek
5cb537274e
Fix a couple of issues with file renaming (#5562) (#5566)
* Fixed incorrect new name generation for attachments without a file extension and not present on disk
* Fixed invalid preview in certain edge cases
* Added tests covering file renaming in general and the above issues
2025-10-08 00:39:54 -04:00
abaevbog
1f04c55765
Relate converted embedded note to its attachment (#5559)
When an embedded attachment note is converted to
a standalone note, relate the standalone note to
the attachment and place it in the same collections
as the attachment.
2025-10-07 13:54:09 -04:00
abaevbog
e3926c657a
fix "Next" button not appearing in merge dialog (#5563)
On windows and linux.
Fixes: #5561
2025-10-07 12:48:22 -04:00
abaevbog
59742ccc8f
no find-as-you-type on 0 keypress in itemTree (#5564) 2025-10-06 22:32:13 -04:00
abaevbog
fefad8a9e3
Fix item sometimes not added to collection on cross-library drag-drop (#5547)
When drag-dropping items into a collection in another library,
perform the addition to collection in the same transaction
as creating a new item in the target library.

When the librariesCollectionsBox refreshes on the `modify` event
when a newly created group item is linked to the selected item,
it re-loads the data of the linked item via item.loadAllData().
This could happen after the item is added to the collection
but before this change is saved. In that case, item._changed.collections
would be cleared, and when the item is saved, there would be
no changes to collections to save.

Fixes: #5539

Also, cleanup leftover unused logic of restoring linked item
from trash on drop that was removed in 2dd16b44d6
2025-10-06 15:30:01 -04:00
Martynas Bagdonas
5a96e7c90f Fix test for Citavi annotation import 2025-10-02 17:17:37 +01:00
Dan Stillman
3089a4a534 Update locales from Transifex 2025-10-02 10:42:58 -04:00
Martynas Bagdonas
b48aed2fed Update reader, note-editor, and pdf-worker submodules 2025-10-01 17:37:48 +01:00
abaevbog
ac36b6d361
Display libraries and collections box for standalone notes and attachments (#5554)
Display Libraries and Collections box in the itemPane
for standalone notes and attachments.

Fixes: #5553
2025-09-29 14:44:18 -04:00
Dan Stillman
dd19cf58cc Hide file renaming banner if "Learn More" is clicked 2025-09-29 14:43:25 -04:00
abaevbog
b21e442c4f
maintain the size of tabs as they are being closed (#5548)
When a tab is closed via clicks on "X" button, record
and lock all tabs' widths. That way, the "X" button
of the tab that follows the one that was just deleted
will land under the mouse cursor, allowing one to
delete many tabs. In addition, preserve the scroll position
of the tab bar. If it's impossible because too many tabs
were deleted, add a spacer after the last tab.

Fixes: #5523
2025-09-29 14:28:30 -04:00
Tom Najdek
42b47c5453
Add missing Fluent strings for the reader 2025-09-29 19:59:37 +02:00
Dan Stillman
e27b58176d Update locales from Transifex and merge new English strings 2025-09-18 11:28:16 +02:00
Tom Najdek
516d230647
Fix "Rename from Parent" not visible after the parent item changes Close #5542 2025-09-15 22:56:52 +02:00
Northword
91a74ed063
Fix JSDoc return types of PluginAPIBase._unregisterByPluginID 2025-09-15 14:02:46 +02:00
windingwind
913d15632b Fix menu API async unregister and event listener 2025-09-15 10:07:46 +02:00
Dan Stillman
9ab9ccf79d Update English strings for Transifex 2025-09-13 18:27:45 -04:00
Dan Stillman
0d072f2945 Add "[one]" to localized string to make Transifex happy
Even though we would never use it, Transifex still wants both 'one' and
'other' for English
2025-09-13 18:27:45 -04:00
Dan Stillman
0125de3d06 Don't include "Settings…" link in file-renaming announcement banner 2025-09-13 02:31:41 -04:00
Dan Stillman
e3ab296a72 Updated Liquid Glass icon that fixes glitch in dark/tinted/clear modes 2025-09-13 02:29:17 -04:00
Dan Stillman
ceb32b3d8a Fix max-width on hardConfirmationDialog and reduce input font size 2025-09-13 01:31:12 -04:00
Tom Najdek
e3fc1e62a0 Display the number of items that would be deleted when replacing the online library (#5359)
And require checkbox or text challenge depending on the severity of the
action

---------

Co-authored-by: Dan Stillman <dstillman@zotero.org>
2025-09-13 01:31:10 -04:00
abaevbog
562fed6e7e
fx140: a11y fix voiceover not reading out menulist labels (#5540)
Post-fx140, menulist labels in chrome windows are not
announced by VoiceOver. Setting the menulist's role to 'combobox'
addresses this and gets VoiceOver to announce the labels again.
This is interesting because 'combobox' is supposedly
menulist's implicit role, so it's not clear why this helps.

It does slightly change the way VoiceOver announces
menulists: it announces "combobox" instead of "popup button",
but semantically combobox is still appropriate per
https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only

Fixes: #5424
2025-09-13 00:57:51 -04:00
Tom Najdek
e896fd0137
Add continuous-renaming functionality for attachment files (#3860)
Resolves #1685
2025-09-11 04:54:03 -04:00
Abe Jellinek
17bcb1e84c
Move New Group and New Feed directly under File menu (#5531) 2025-09-11 04:46:40 -04:00
Dan Stillman
c67e35c5ae Add Liquid Glass icon for macOS Tahoe
And preserve icon for previous macOS versions using
https://github.com/vslavik/TahoeIconsTests
2025-09-11 04:42:01 -04:00
Dan Stillman
eaf3f0c5df Use temporary download URL for Firefox 140.3.0esr candidate build
So we can address #5424 before the ESR is released on 9/16
2025-09-10 23:32:31 -04:00
Dan Stillman
cd8ae9308d Update Mac build to Firefox 140.3.0esr
Fixes #5424
2025-09-10 23:32:12 -04:00
abaevbog
8f5471d96b
fix zoteroSearch missing attachment conditions (#5538)
Fix regression after 4d803fe2cd
which caused the operator for condition to never get set.

Fixes: #5537
2025-09-09 22:19:28 -04:00
Bogdan Abaev
b3223dd94b Prefs: Small redesign of Cite → Style Manager table (#5518)
- Remove the delete button below the style table
- Make selected rows stand out less. They will only have an outline,
  like focused rows. This should remove the impression that this is the
  table where one selects the style for citations.
- Add minus icon buttons to each row to delete the style without having
  to select the row. The icon of the selected row is focusable, so it
  can be tabbed onto.
- improve labels and appearance of buttons to add a new style
- move "Reset Styles…" to "Cite" section and rename to "Restore Default
  Styles…"
2025-09-05 02:04:52 -04:00
Bogdan Abaev
5a7444f424 virt table: don't propagate pageUp/Down on macOS (#5518)
Same as on all other platforms. That way, if the parent
container is scrollable, it will not scroll.
2025-09-05 02:04:40 -04:00
Bogdan Abaev
015769a9f8 fx140: allow pointer events on cells in virt table (#5518)
Revert change from 8e2790e2d2.
Post fx140, dragstart fires fine on rows that are not
yet selected. This allows us to remove the workaround that
limited pointer events to the rows of virtualized table (vs its cells).
With it, we no longer need most of the manual handling
of the tooltip in virtualized table - just adding title attribute is enough.
We also don't need to add extra mouse events handling on
clickable button columns as in citationDialog - we can use
proper :hover and :activate effects, as well as attach
click handler directly to the button.
2025-09-05 02:04:15 -04:00
Abe Jellinek
41055ce0a1 Scaffold: Rename file when label changes 2025-09-04 10:09:50 -07:00
abaevbog
4ae1ea1daf
citation dlg: Don't remove bubbles on Backspace on Windows/Linux (#5526)
On non-macOS platforms, Delete (not Backspace) on a table row
will remove all of this item's bubbles from the citation.
This is to be consistent with similar delete operation
handling in other tables.

On macOS, this is still done via Backspace as before.

Per https://github.com/zotero/zotero/pull/5518#discussion_r2310293170
2025-09-04 03:50:50 -04:00
abaevbog
25a881255e
citation dlg: fix non-english locators wrong order (#5527)
Sort the locators alphabetically by their label
after constructing the popup.

https://forums.zotero.org/discussion/comment/497495/#Comment_497495
2025-09-04 03:48:47 -04:00
Abe Jellinek
afc02141ce
Replace CSL validator with reproducible WASM build (#5525) 2025-08-29 00:40:41 -04:00
Tom Najdek
cd82ab7c59
Enable support for Unicode features in file renaming by default (#5521) 2025-08-28 11:21:47 -04:00
Dan Stillman
86b9d28451 File sync: Use filtered filename when renaming from multi-file ZIPs
Follow-up to bab0237727
2025-08-28 03:50:08 -04:00
Dan Stillman
b4dc00eca1 Remove debug line in Zotero.File.rename() 2025-08-28 03:10:49 -04:00
Dan Stillman
b857283ed6 Fix skipItemUpdate logic in Item#relinkAttachmentFile()
We were skipping updating of `clientDateModified` in order to prevent an
attachment item upload, but that hasn't been used since Zotero 4. This
might mean that, in some rare situations (e.g., a filename that needed to
be shortened due to filesystem path length?), people in read-only or
non-files-editable groups may have ended up triggering access errors and
needing to reset local data after a file download.

Now, we properly skip marking the attachment item as unsynced.
2025-08-28 03:10:48 -04:00
Dan Stillman
f5010ce764 Don't update file mod time to force sync upload when renaming
We've always done this, but it's no longer necessary:

- If a file exists locally when a remote filename change comes in, we
  now rename the local file.
- If a file doesn't exist locally and it's a single file, we save the
  file with the new filename on the next file download.
- If a file doesn't exist locally and it's an old multi-file snapshot,
  we now try to find the primary HTML file and rename it.
2025-08-28 03:10:46 -04:00
Dan Stillman
bab0237727 File sync: Rename single HTML file within multi-file ZIP to known name
If a file was renamed remotely and a new copy wasn't uploaded for some
reason, the ZIP wouldn't contain the new filename. We already renamed a
single file within the ZIP to match the new filename, but now we also
rename a single HTML file in old multi-file snapshot ZIPs. If there are
multiple HTML files for some reason (old-style ZIP with iframes?), we
let the user fix it.

And then we can stop reuploading files after renames.
2025-08-28 03:06:52 -04:00
Dan Stillman
33bd1327a0 Remove unnecessary file stat in Item#attachmentModificationTime 2025-08-28 03:06:52 -04:00
Dan Stillman
11d17c5803 Rename file on remote filename change during sync
Previously, the local file wasn't renamed, so it would become unlinked.
Since we currently force reuploading/reregistering of files when they're
renamed, opening the attachment would then redownload the modified
remote file, but there's no need for the file to become unlinked in the
first place.
2025-08-28 03:06:52 -04:00
Abe Jellinek
7abc35bc02
Notes context pane: Create context menus locally (#5508) 2025-08-27 00:41:21 -04:00
Abe Jellinek
e4e6b4189c
Keep Zotero in the User-Agent, add Firefox (#5500) 2025-08-27 00:40:08 -04:00
abaevbog
31e2e95452
itembox: restore unsaved input value after refresh (#5517)
If itemBox refresh happens when an input is focused and
has some unsaved changes, restore the value of the input
after the refresh.

Potential solution for:
https://forums.zotero.org/discussion/126273/bug-data-that-is-input-is-not-saved-and-needs-to-be-entered-again
2025-08-26 23:43:02 -04:00
Abe Jellinek
23567b0395
ESMify feed processing code (#5520) 2025-08-26 23:42:00 -04:00
Abe Jellinek
5c95c35743 Style installation: Don't prompt on validation error in silent mode 2025-08-26 00:44:14 -04:00