Commit graph

10057 commits

Author SHA1 Message Date
Abe Jellinek
52e8fa8995 Prune Monaco distribution, fix JS acting like TS in Scaffold
We don't need most of the bundled languages or localizations, so they were just
taking up disk space pointlessly.
2022-09-12 14:06:17 -07:00
Dan Stillman
88869f43ae Merge new English strings 2022-09-12 15:54:11 -04:00
Dan Stillman
a63c634e3f Add "Create Note from Annotations" option to items list context menu
To allow creation of a standalone note with annotations from all the
selected top-level items and/or attachments. Annotations will be sorted
by the order of the items in the items list.

"Add Note from Annotations" remains when a single regular item or one or
more attachments under a single regular item are selected.
2022-09-12 15:54:03 -04:00
Dan Stillman
e81b43be98 Add collectionID option to EditorInstance.createNoteFromAnnotations()
For adding a standalone note to the current collection
2022-09-12 15:54:03 -04:00
Dan Stillman
39e45221b1 Rename Zotero.Items::keepParents() to keepTopLevel()
So that it works for more than two levels of items

Also fix a bug where the parent item could be returned more than once if
multiple child items were selected.
2022-09-12 15:54:03 -04:00
Dan Stillman
497d6376c8 Add Zotero.Item::topLevelItem and Zotero.Items.getTopLevel(items) 2022-09-12 15:54:03 -04:00
Martynas Bagdonas
f70ec29881 EditorInstance.createNoteFromAnnotations(): Handle multiple attachments 2022-09-12 15:54:03 -04:00
Abe Jellinek
dbbc6a2f44 fx-compat: Basic viewer: Restore loadURI() for Zotero.openInViewer() 2022-09-09 13:46:19 -07:00
Martynas Bagdonas
20aa40c5d2 Adjust PDF reader and context pane UI based on font size pref
Fixes #2809

(cherry picked from commit 64897455f4)
2022-09-09 18:10:25 +03:00
Abe Jellinek
94392fce96 fixup: Option-P was supposed to push, not type pi 2022-09-07 11:17:47 -04:00
Abe Jellinek
df9d8d593c fx-compat: Fix sync button tooltip
XULTooltipElement now prepends a <description> node, so the nodes we were
getting were off by one. Just use class names for all the children.
2022-09-07 11:15:55 -04:00
Martynas Bagdonas
9f9dde511e fx-compat: Flex grow note-editor when using in contextPane 2022-09-07 17:26:12 +03:00
Martynas Bagdonas
7317b61425 fx-compat: Fix note-editor initialization 2022-09-07 17:26:12 +03:00
Martynas Bagdonas
9d584152f0 fx-compat: Fix contextPane after b5bdae3d 2022-09-07 17:26:12 +03:00
Abe Jellinek
74051576dd
Hide "Find Available PDF" for feed items (#2807) 2022-09-06 18:46:13 -04:00
Martynas Bagdonas
04120099fb Allow inserting images over context menu
Fixes #2759

(cherry picked from commit f893206dfd)
2022-09-06 17:11:41 +03:00
Martynas Bagdonas
75a080b7cb fx-compat: Tweak image copying to clipboard 2022-09-06 17:05:52 +03:00
Martynas Bagdonas
80385ff893 Add context menu options to copy/save image from pdf-reader/note-editor
Fixes #2664
2022-09-06 16:48:13 +03:00
Abe Jellinek
dbc65faecb Preferences: Don't add IDs to pane containers
Built-in panes were creating a semi-invalid DOM in which the pane container and
the root element of the pane's XHTML got the same ID. There's no reason to give
containers IDs in the DOM, since we already have a Map of IDs to pane objects,
so let's just not.
2022-09-02 11:22:50 -04:00
Abe Jellinek
5d6ad703c1 Preferences: Fix tests, improve clarity, and more
- Fix sync and advanced preferences tests; use a new waitForFirstPaneLoad()
  functions instead of the old paneload event listener
- Remove empty preferences_searchTest.js
- Rename some Zotero_Preferences members/functions for better clarity and
  public/private differentiation
- Reorder, also for clarity
- Fix tabIndex parameter causing an error if invalid
- Remove window.sizeToContent() call in Sync.displayFields()
    - So *that's* why the window resized every time the sync pane was loaded...
- Deprecate openURL() and simplify openInViewer()
2022-09-02 11:01:37 -04:00
Martynas Bagdonas
11b0afc0bd Add missing noteEditor.mathBlock string
(cherry picked from commit a3b45a74e9)
2022-08-31 16:00:01 +03:00
Dan Stillman
a4f802806c Use items-list sort order for report from collection or saved search
https://forums.zotero.org/discussion/99284/exporting-a-report-sorted-by-first-date

Regression from HTML tree
2022-08-30 16:22:53 +02:00
Abe Jellinek
0fe394082c fx-compat: Scaffold: Prevent Space from scrolling translator list 2022-08-30 10:07:15 -04:00
Dan Stillman
00b24f85c9 Fix HTTP.request() 5xx handling with errorDelayMax=0
This was causing delay-less infinite loops for OPTIONS requests to Box,
which are returning 502 errors.
2022-08-29 23:46:58 +02:00
Abe Jellinek
63864f2f86
duplicateAndConvertSelectedItem: Don't copy abstracts (#2799) 2022-08-29 16:15:31 -04:00
Martynas Bagdonas
09ba429723 Update note-editor submodule and strings for math and table insertion
(cherry picked from commit d156bef42a)
2022-08-25 14:27:42 +03:00
Adomas Venčkauskas
4f0b07505a Fix SingleFile snapshot saving stalling in Firefox Connector
Update SingleFile submodule
2022-08-24 11:49:45 +03:00
Abe Jellinek
92095314c6 fx-compat: Preferences: Use our edit menu overlay
So text context menu actually works.
2022-08-22 16:46:50 -04:00
Abe Jellinek
c2254f3783 fx-compat: Scaffold: Native checkboxes, dropmarker 2022-08-22 16:20:28 -04:00
Abe Jellinek
d653ec817c fx-compat: Add by Identifier: Prevent expand after invalid ID input 2022-08-22 12:51:35 -04:00
Abe Jellinek
85e13dc3ee Zotero.PreferencePanes: Auto-generate ID, rearrange params
A manual pane ID isn't often necessary, since you can just give a manual ID to
the root element in your XHTML. Let's make things a bit simpler for the caller
and reduce the potential for conflicts.
2022-08-22 10:52:25 -04:00
Dan Stillman
170f1962ad Don't repeatedly upload relations
Fixes #2772
2022-08-22 01:15:21 -04:00
Tom Najdek
454368e3d3 Make citavi annotations importer more resilient 2022-08-19 12:05:30 -04:00
Tom Najdek
cff02b04a0 Fix importing Citavi annotations in some cases 2022-08-19 12:05:30 -04:00
Dan Stillman
e9e1add9b8 Fixed filed items with annotations appearing in Unfiled Items
Fixes #2771

Regression from 20c6fe67
2022-08-19 12:05:30 -04:00
Abe Jellinek
22b00c33de Empty Trash: Visually remove deleted items, refresh icon (#2606)
There were a few problems causing the incorrect behavior:
1. Rows were being removed only if they had no non-deleted children, which
   wasn't the right check. We want to remove all rows with no *deleted*
   children.
2. Children of the removed rows weren't being removed with them.
3. We weren't invalidating the tree (which _removeRows() doesn't do).

Also:

* Erase trashed annotation after getAnnotations() test

Because ItemTree#notify() doesn't yet correctly handle refresh events on
parent items that are themselves children (three-level nesting: item ->
attachment -> annotation), this test was causing a failure in
itemTreeTest.js.
2022-08-19 09:14:24 -04:00
Martynas Bagdonas
40ae2e3246 Fix navigation to annotation when opening an unloaded PDF reader tab
Regression from 142e3b09
2022-08-18 04:12:44 -04:00
Martynas Bagdonas
8ca7356489 Fix regression for broken "Snow in Page"
Fixes #2764
Regression from 7ec54fd
2022-08-18 04:12:44 -04:00
Abe Jellinek
0eaf5887ea fx-compat: Scaffold: Use platform keys like zoteroPane 2022-08-17 16:47:39 -04:00
Abe Jellinek
f5f49c7b1d fx-compat: Scaffold: Non-async detectWeb and async scrape by default
We don't usually want an async detectWeb, since HTTP requests should only be
used there in very exceptional cases. We do usually want an async scrape (and we
were already - mistakenly - awaiting it).
2022-08-17 16:31:30 -04:00
Dan Stillman
f7b8d25e75 Update localized string for pdf-reader 2022-08-17 03:47:30 -04:00
Dan Stillman
c3ee588bfe Match parent attachments for annotation tags
Expose annotation tags in tag selector and match parent attachments when
filtering/searching

This also fixes searching for annotation text or comments when using
Everything quick search.

This is temporary until we display annotations in the items list
directly.
2022-08-17 03:35:28 -04:00
Dan Stillman
6cd1a41a32 Fix importing of standalone attachments without URLs
And allow `importSnapshotFromFile()` without `parentItemID` or
`libraryID`, which is more consistent with other attachment functions

Follow-up to 318e4852e9

https://forums.zotero.org/discussion/comment/414802/#Comment_414802
2022-08-16 06:09:00 -04:00
Abe Jellinek
b03657add3 fx-compat: Use DOMParser constructor in _eventToEventTitle 2022-08-15 10:38:11 -04:00
Dan Stillman
676abca671 Fix importing of standalone attachments
Maybe has been broken for years?

https://forums.zotero.org/discussion/99020/warning-data-loss-when-exporting-collections
2022-08-13 16:24:14 -04:00
Dan Stillman
d546caca4c Don't relate book sections to each other when creating from book
Fixes #2757
2022-08-13 05:46:04 -04:00
Dan Stillman
344a10421a Fix copying of standalone attachments between libraries
Regression in f684984b07 (maybe a race condition)
2022-08-13 02:04:07 -04:00
Abe Jellinek
30197a09d2 Revert mistaken change from 26069a580a
Shouldn't have made it into that commit.
2022-08-12 15:36:54 -04:00
Abe Jellinek
fc86bdb55c fx-compat: Fix error when Edit menu is shown 2022-08-12 15:34:27 -04:00
Abe Jellinek
26069a580a fx-compat: Fix Quit when main window is closed
Application menu items, contrary to the comment I added in a654ad291f,
actually *do* belong in hiddenWindow.xhtml so that they still work when
zoteroPane.xhtml is closed. They just can't be split between there and
zoteroPane.xhtml. This commit moves all of them to hiddenWindow.xhtml and
reimplements openPreferences() in a non-Zotero-object-dependent way.

Fixes #2738
2022-08-12 15:34:26 -04:00
Abe Jellinek
333cf8cc2a
Add Book -> Book Section and Book Section -> Book to context menu (#2754) 2022-08-11 16:28:32 -04:00
Martynas Bagdonas
4f52eb9be3 Fix PDF reader selector popup that was never opening
(cherry picked from commit e4e3c72036)
2022-08-11 14:22:52 +03:00
Martynas Bagdonas
d1550a3fd5 Fix regression preventing opening PDF reader window when the tab is open
(cherry picked from commit 0857cefb0c)
2022-08-11 14:22:52 +03:00
Adomas Venčkauskas
d6909ec8e5 Update SingleFile config for current version
They got updated upstream and the backwards-compat code
does not run for the way we execute singlefile

See https://github.com/gildas-lormeau/SingleFile/issues/1021
Addresses https://github.com/zotero/zotero-connectors/issues/398
2022-08-11 14:00:40 +03:00
Adomas Venčkauskas
2dd54fddf4 Prevent singlefile config from overwriting the Zotero.SingleFile namespace 2022-08-11 13:51:57 +03:00
Dan Stillman
c90f8415b3 Improve test for event-title substitution
And add comments

Follow-up to 20d0f103f
2022-08-11 03:57:25 -04:00
Dan Stillman
7eab91a160 Automatically substitute event-title for event in styles
Stopgap until styles are updated in citation-style-language/styles#6151
2022-08-11 03:57:15 -04:00
Dan Stillman
57b91a0add Move item box comment from 87455d28c3
The code seems to have already been applied on the fx102 branch
2022-08-11 03:56:46 -04:00
Abe Jellinek
678a6101b3 Advanced Search: Make sure items are loaded (#2743) 2022-08-11 03:53:39 -04:00
Dan Stillman
72d4cdd3a3 Don't preselect Act for multiple sources in classic citation dialog
"Multiple Sources…" wasn't properly handled by 629892b0b8

https://forums.zotero.org/discussion/98877/act-instead-of-page
https://twitter.com/drezvera99/status/1554521940684984320
2022-08-11 03:53:34 -04:00
Martynas Bagdonas
098886bcb6 Select existing unloaded tab instead of opening a new one
Fixes #2740
2022-08-11 03:52:53 -04:00
Martynas Bagdonas
9190eb8f34 Allow to scroll tabs with mouse wheel
Fixes #2724
2022-08-11 03:52:45 -04:00
Abe Jellinek
1f9e518581 Duplicates Merge: Preserve embedded annotations (#2728) 2022-08-11 03:52:40 -04:00
Adomas Venčkauskas
63148dff3b Do not load-timeout on browser PDF download during content load
Closes #2726
2022-08-11 03:52:31 -04:00
Martynas Bagdonas
d595b3f195 Freeze note schema version to 8
We can do it because it was only used to create a note from annotations.

No need to update schema version in Zotero client, unless using new
features when creating a note from annotations.
2022-08-11 03:50:06 -04:00
Martynas Bagdonas
44ef4cd35a Fix regression that prevents showing the last selected tab on startup
Fixes #2723
2022-08-11 03:50:01 -04:00
Martynas Bagdonas
b02ad0dc83 Fix regression that prevents showing new notes in contextPane notes list 2022-08-11 03:49:52 -04:00
Adomas Venčkauskas
1955427d62 Fixes some assets not being saved with SingleFile snapshots
Part of zotero/zotero-connectors#394

When saving an item (e.g. on arxiv) with a site translator, the
translator may add a custom snapshot attachment URL which does not match
the translation URL (the URL in the browser where translation was
initiated) in which case Zotero handles snapshot saving. Zotero loads
the page in a background browser. By default images are not loaded in
this browser. SingleFile due to CORS restrictions has to refetch all
resources that are not from the same domain or subdomain, but uses
pre-loaded resources (images) from the same domain. Before this change
any images that were from the same domain as the saved website were not
saved in the snapshot. This commit fixes that.
2022-08-11 03:49:52 -04:00
Adomas Venčkauskas
3ba78dec78 Changes for updated SingleFile submodule 2022-08-11 03:49:52 -04:00
Dan Stillman
f46c0986d3 Localize "Export PDF…" menu option
Fixes #2710
2022-08-11 03:49:52 -04:00
Dan Stillman
a33775d2a1 Update translate submodule 2022-08-11 03:49:52 -04:00
Dan Stillman
54a7211a45 Update locales from Transifex 2022-08-11 03:47:00 -04:00
Dan Stillman
8bce2b1fdd Increase Mendeley API timeout to 60 seconds
To see if we can fix the 30-second timeout here:

https://forums.zotero.org/discussion/comment/412750/#Comment_412750
2022-08-11 03:46:51 -04:00
Dan Stillman
393b1f8369 Add warning in toolbar for 'dev' channel builds 2022-08-11 03:43:03 -04:00
Martynas Bagdonas
7089ce8fc7 Use Quick Copy (Markdown) for direct plain-text copying from note-editor
Fixes #2505
2022-08-11 02:49:07 -04:00
Abe Jellinek
bd18339797 Prevent deleting My Publications
Previously showed a blank confirmation dialog and logged an error.
2022-08-11 02:48:59 -04:00
Martynas Bagdonas
221aa25e00 Prevent delayed context pane expansion and pdf-reader rerender/resize when switching from library tab 2022-08-11 02:48:54 -04:00
Martynas Bagdonas
4ab154c4bf Don't include quotes when {{highlight}} is placed in a blockquote
Fixes #2697
2022-08-11 02:48:49 -04:00
Martynas Bagdonas
fcb63465ac Include quotation marks for highlights by default, but allow to disable
Fixes #2697
2022-08-11 02:48:44 -04:00
Dan Stillman
d3942ad1f0 Better fix for errors from invalid sort fields
Just catch the error from `ItemTree::sort()` and clear the
secondary-sort and fallback-sort prefs so that sorting works on the next
attempt.

Replacement for a8ed30ce80

https://groups.google.com/g/zotero-dev/c/kc0-C6-SA74/m/bhHniGceAQAJ
2022-08-11 02:48:35 -04:00
Dan Stillman
d747da7c65 Revert "Validate fields in ItemTree::getSortFields()"
This reverts commit a8ed30ce80 and related
commits.

We'll address breakage from invalid sort fields another way, without
inconveniencing plugin authors.

https://groups.google.com/g/zotero-dev/c/kc0-C6-SA74/m/bhHniGceAQAJ
2022-08-11 02:48:31 -04:00
Dan Stillman
9dc8995ba8 Sort empty rows last for Date/Year columns when descending
Date columns start in descending order, so put empty rows at end

Also remove a seemingly unnecessary exception for Title when not the
primary sort and just always sort it with empty rows first
2022-08-11 02:48:26 -04:00
Dan Stillman
e25ec0d981 Fix sorting of attachments and notes columns
Regression from a8ed30ce80
2022-08-11 02:48:22 -04:00
Dan Stillman
3ab661b628 Fix sorting by Item Type and feed item itemID
Regression from a8ed30ce80
2022-08-11 02:48:16 -04:00
Dan Stillman
5620dc96bd CookieSandbox: Fix error setting request cookies
Regression from 6af3b0276a, showing up as "trackedBy is undefined" error

https://forums.zotero.org/discussion/98322/no-snapshot-or-pdf-autosaved-using-zotero-connector-on-safari
2022-08-11 02:48:06 -04:00
Dan Stillman
74f00e60c7 Merge new English strings 2022-08-11 02:47:51 -04:00
Dan Stillman
2c11aadc57 Add localized string for timestamp CSL locator
Not included in the CSL locales:

https://forums.zotero.org/discussion/comment/412060/#Comment_412060
2022-08-11 02:47:46 -04:00
Dan Stillman
c4c940722b Merge new English strings 2022-08-11 02:47:38 -04:00
Dan Stillman
7b247e73df Tweak confirmation message for recursive collection-item removal
I guess the "its" is technically a little clearer, but it's a bit
awkward, and I think it's reasonably implied.
2022-08-11 02:47:33 -04:00
Abe Jellinek
b18967fba4 recursiveCollections: Remove from all subcollections on delete (#2689) 2022-08-11 02:47:28 -04:00
Dan Stillman
cac0e7ee50 Update locales from Transifex 2022-08-11 02:47:19 -04:00
Dan Stillman
387e4dd958 Add CSL 1.0.2 locators and switch to CSL locales for localization
And move Page to middle of list, while still selecting by default

https://forums.zotero.org/discussion/comment/396602/#Comment_396602
2022-08-11 02:47:15 -04:00
Dan Stillman
92a1a43cbb Validate fields in ItemTree::getSortFields()
To avoid startup hang if a plugin does something bad:

https://forums.zotero.org/discussion/comment/411843/#Comment_411843

Fixes #2692
2022-08-11 02:47:04 -04:00
Tom Najdek
a7c5f78107 Improve log output for multiple Mendeley imports
Helps with debugging cases where new import is started while previous
one is still being cancelled
2022-08-11 02:46:47 -04:00
Tom Najdek
9acf1ac42e Lint code related to Mendeley importer 2022-08-11 02:46:42 -04:00
Tom Najdek
141258d564 Fix a bug in regex extracting fields to "extra"
Because regex is built using a template string, \s* is actually escaped
into s*, i.e. literal "s" appearing 0 or more times. In most cases this
would mean that output can have spacing slightly off. In extreme case,
when identifier starts with letter "s", this could this could lead to
identifier being stored incorrectly.

Also adjusted tests to be more strict and mock data to cover this case.
2022-08-11 02:46:37 -04:00
Tom Najdek
c9400c565c Mendeley import: detect win close, better feedback
* Detect wizard cancel/close and interrupt import. This will still
  have to wait for current fetch (file or metadata) to complete but will
  then advance to the cleanup stage
* Advance progress bar during metadata fetch
* Add some extra logging
2022-08-11 02:46:31 -04:00
Tom Najdek
4b86c2a3fd Don't try to remove temporary dir after import
Previously we had a structure that also created folders in temp dir,
that has since changed but code in cleanup phase to remove containing
dir has been accidentally left unremoved.
2022-08-11 02:46:26 -04:00
Martynas Bagdonas
5f6d6da154 Fix disabled "Add to Note" when a child note is open
Fixes #2687
2022-08-11 02:46:17 -04:00
Dan Stillman
01dc397afd Update global schema and utilities for CSL 1.0.2 2022-08-11 02:43:53 -04:00