Commit graph

15406 commits

Author SHA1 Message Date
Abe Jellinek
03b33d995e Reorder _openTagsPopup() to clarify logic
And only remove the keydown listener when the top-level popup hides.
2025-05-03 01:38:18 -04:00
Abe Jellinek
68aff7b23e Hide leftover popups when switching tabs (#5251) 2025-05-03 01:38:18 -04:00
abaevbog
22996da722
open annotation in new window on Shift+Enter (#5253)
Per https://forums.zotero.org/discussion/123944/shift-enter-to-open-the-annotations-in-separate-windows-of-the-reader
2025-05-03 01:35:46 -04:00
abaevbog
929bacaac7
Fix unintentional title transfer between attachments on item switch (#5245)
Also added similar test for item details table

Fixes #5244
2025-05-03 01:34:06 -04:00
abaevbog
3fc8e4d02e
Fix leftover annotation rows and disappearing attachment rows after drag-drop (#5248)
- collapse all rows before removing them. It makes
  sure that annotation rows will be cleaned up properly
  when an attachment row is moved into another parent.
- refactor conditionals to handle changes of parent
  regardless of whether the item is a container
  (attachment with annotations) or not (a note).
- added tests for itemTree's handling of changing the
  parent of attachments and notes, as well as ensuring
  there are no leftover annotation rows in Unfiled Items.

Fixes: zotero#5246
2025-05-03 01:30:50 -04:00
Dan Stillman
a7964f7116 Fix duplicate attachment row after retrieving metadata
https://forums.zotero.org/discussion/123939/double-pdf-file-after-doing-a-retrieve-metadata-operation-on-a-standalone-pdf-file

Regression from 48fd23ccec
2025-05-01 02:48:42 -04:00
Adomas Venčkauskas
d9b9046201 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-04-30 16:47:25 +03:00
Martynas Bagdonas
36d979f71e Update build scripts for note-editor, pdf-worker, and reader:
- Finalize renaming of pdf-reader to reader
- Remove client- prefixes from URL paths
- Update pdf-worker to use the new document-worker path in preparation for repository rename #5052
- Ensure note-editor properly uses the ZIP build instead of silently falling back to a local rebuild
- Log errors to console
2025-04-30 13:46:32 +03:00
Dan Stillman
d7d1d03b8b Update reader submodule 2025-04-30 01:51:15 -04:00
Abe Jellinek
230e3d8065
Skip invalid relative path when changing LABD (#5239) 2025-04-30 01:06:40 -04:00
abaevbog
4521f750a4
ItemTree annotations: miscellaneous fixes (#5232)
- disable context menu on collapsible-sections of annotations in `itemPane`
- fix `arrowRight`/`arrowLeft` being able to expand/collapse annotation sections when they are focused
- set proper aria-label and aria-description on annotation cards
- fix misaligned annotation icons

Fixes: #5231
Fixes: #5234
Fixes: #5240
2025-04-30 00:54:45 -04:00
windingwind
bd9735baf3
Fix v-table selector dataKey escape (#5238)
Regression after 0b8b4c0
Fix https://forums.zotero.org/discussion/123877
DataKey from custom columns may include unexpected chars
2025-04-29 09:32:33 -04:00
Abe Jellinek
54006b7c8c
Make hidden readers inactive, firing visibilitychange (#5225) 2025-04-28 04:16:16 -04:00
Dan Stillman
70af1165a5 Update reader submodule 2025-04-28 04:12:32 -04:00
abaevbog
48fd23ccec
annotations showing in itemTree (#3416)
- Annotations are displayed in itemTree under their file attachments
  on a third level. The annotation spans the entire row.
- The title is constructed on the go. When possible, it
  includes annotation quote and comment as pseudo-columns
  of the row. The comment occupies about twice as much space as
  the quote. Otherwise, (if there is no quote) only the annotation
  comment
  is included as the "title" part of the row
- Non-CJK segments of the quote part of the annotation row are
  italicized. CJK segments are left as is. If CJK segments are present,
  there is more padding between quote and comment parts.
- Search matches the actual attachment instead of its parent file.
- Can create child notes from annotations of the same item or
  standalone notes from annotations across different items from
  the context menu or the header button.
- When an annotation (or multiple annotations) are selected, the
  annotationItemPane component is displayed where annotations are
  grouped by their top-level item. Annotations are displayed fully,
  without having their content cut off.
- Special treatment for annotations to always prompt
  to erase the item regardless of what collectionTree row
  is selected (e.g., if a collection is selected, we
  still want one to be able to delete the annotation).
  This only applies if all selected items are annotations.
  If multiple items are selected, some annotations and
  some not, do nothing. This is until the trash is
  ready. In the future, we may send annotations to trash
- strip all HTML tags from annotation for now, until the logic to
  properly render annotation markup is copied over from the reader
  (applies to both annotation-row component and the annotation
  item rendered in the itemTree)
- Added a generalized "expandToItem" function to itemTree to
  expand all ancestors of a given item, similar to "expandToCollection"
  from collectionTree
- add annotation conditions to advanced search
- show [Image not available] if no annotation file for ink or image
  annotations
- only keep annotation-specific context menu options when some
  annotations are selected in itemTree
- enable Quick Copy of annotations from itemTree via drag-drop,
  shortcut key, or Edit → Copy Annotation
- Minor refactoring of Zotero.Annotation.toJSON() to pull out async code
  that handles ink and image annotations, so that
  Zotero.Annotation.toJSONsync() for highlight, underline, and note
  annotations does not have to be awaited. Since ink and image
  annotation don't seem to work for drag-drop Quick Copy, they are just
  skipped for now.
2025-04-28 04:10:28 -04:00
Dan Stillman
3144314d20 Use parent app CFBundleIdentifier as prefix for Safari extension
Instead of org.zotero.SafariExtensionApp.

I don't know if this will help with spurious signature failures, but it
can't hurt.
2025-04-24 02:15:17 -04:00
windingwind
a63cb647ff
Fix item pane test after #5214 (#5220) 2025-04-23 17:09:24 -04:00
Abe Jellinek
d74db17cf1
Select Items dialog: Fix scrollbars and padding, add title (#5213) 2025-04-22 23:37:38 -04:00
windingwind
97f8d942a0
Keep item pane scroll position after refresh (#5214) 2025-04-22 23:35:30 -04:00
Abe Jellinek
56b4c15de9 Scaffold: Don't warn about \u2028/\u2029 in tests 2025-04-22 15:06:29 -04:00
Abe Jellinek
e80615eab8 Scaffold: Don't show deleted line for base-mapped title field
And remove dead code.
2025-04-22 12:23:31 -04:00
Adomas Venčkauskas
1655265189 Add a Connector version update warning for item saving changes (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
f2a86e4af9 Rename attachments imported from stream (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
cc87ff3af6 Remove old and unused Connector Server endpoints (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
2cd4ba205a Update Connector Server tests (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
69dcbda1a0 Misc test fixes (#5148)
Remove redundant and wrong call to changeCollectionTreeRow() in
advancedSearch which triggers test errors sometimes, and disable prompt
button delay when running tests everywhere, not just CI
2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
9579aa154a Do not return recognizer promises early (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
d6d01f66b9 Update recognizer tests to use sinon stub pattern (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
5b1ed9ac8b Save session library switching with filesEditable support (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
5e18337cc6 Simple attachment saving via Connector (instead of Zotero) (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
d781151b9a Make server.js use mozilla httpd and support application/octet-stream (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
6d206f98bb Remove old Z4-fx connector switching code (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
67b5a0bb19 Use the bundled mozilla httpd (#5148) 2025-04-22 09:47:58 -04:00
Adomas Venčkauskas
db1c542a50 Remove unused connector server code (#5148) 2025-04-22 09:47:58 -04:00
abaevbog
e690b0b18e
Expand collectionTree containers on dragover (#5024)
- when something is dragged over a collapsed collection
or group, it will be expanded to reveal children
so one could drop the dragged item/collection/ into them
- when drag is over, the expanded collections will
collapse, except for the ancestors of the newly selected
collection
- trigger collapse of expanded collections on dragend
on the entire document (in case dragend happens not over
the collection tree), or from onDrop handler, from where
we will wait for selection to change before collapsing
rows

Fixes: #4952
2025-04-22 00:17:56 -04:00
Abe Jellinek
1c089bf448 Fix broken spellchecking when only en-US is installed
Regression in 26221b6786
2025-04-21 10:51:28 -04:00
abaevbog
dc084b6961
Move note-editor popup a11y strings to Fluent (#5212)
Per https://github.com/zotero/zotero/pull/5205#issuecomment-2809055908
2025-04-18 00:14:26 -04:00
Abe Jellinek
a7778b93e8 Tags box: Disable Remove All Tags when not editable 2025-04-16 10:29:40 -04:00
Abe Jellinek
b067e0d940 Scaffold: Add tags to item preview 2025-04-16 10:29:40 -04:00
abaevbog
173660d5c7
add string for note-editor a11y link popup message (#5205)
String read out by screen readers when the link popup
appears instructing users to navigate it.

Addresses: #5199
2025-04-16 02:42:42 -04:00
abaevbog
1459ca210d
new collection dlg: fix menu keyboard nav on win (#5208)
Fixed non-working selection of collections in the
dropdown via keyboard on Windows.

Fixes: #5202
2025-04-16 01:57:13 -04:00
abaevbog
f568363098
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-04-16 01:53:54 -04:00
windingwind
0bff70b186
Fix item pane blank (#5207)
This is caused by the persisted splitter state value to be blank from either older versions of client or plugins.
Resetting the empty values fixes this bug.
2025-04-16 01:53:03 -04:00
Abe Jellinek
246005a097
Accept length-7 sortIndexes for snapshots (#5209) 2025-04-16 01:52:09 -04:00
Abe Jellinek
2db51eb0e5 Scaffold: Don't collapse item preview sections
Fixes sections disappearing when collapsed in the main window's item
pane.
2025-04-15 13:01:01 -05:00
Abe Jellinek
71a4742092 Scaffold: Fix code completion not working until pref changes 2025-04-14 11:21:30 -06:00
Dan Stillman
8c7ab1eb6a Remove unnecessary DB resets in storageLocal tests 2025-04-14 04:22:16 -04:00
Dan Stillman
f616d41546 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-04-14 04:22:16 -04:00
abaevbog
060a15fe78
Do not switch to library tab while changing target collection in connector (#5020)
Do not switch to library tab while changing target
collection in connector.

Deprecate inLibraryRoot as an independent boolean
param in ZoteroPane.selectItems to instead have
a composite options param { inLibraryRoot, noTabSwitch }

Fixes: #4262
2025-04-10 07:27:20 -04:00
Tom Najdek
cef26fae09
Tweak column behaviour on visibility and order changes (#5162) 2025-04-10 06:23:09 -04:00