Commit graph

9230 commits

Author SHA1 Message Date
Abe Jellinek
5bfdeb36ca
Exclude unmergeable types by name, not by ID (#2137)
Excluding by ID obscured which types were being excluded. IDs drifted
and we ended up blacklisting artwork and encyclopediaArticle.
2021-07-30 16:15:10 -04:00
Adomas Venčkauskas
0e2073b251 Revert removal of Utilities.Internal.itemToExportFormat() (since c929055) 2021-07-30 14:28:14 +03:00
Adomas Venčkauskas
4d497afea0 Use Translator Tester code from shared repo for Scaffold 2021-07-28 15:46:07 +03:00
Adomas Venčkauskas
8f90cfbcfd Remove obsolete files after shared code modularization 2021-07-28 15:46:07 +03:00
Adomas Venčkauskas
7814efcfe2 Use zotero/translate and zotero/utilities for shared code 2021-07-28 15:46:07 +03:00
Adomas Venčkauskas
c929055571 Refactor utilities code in preparation to move to external repo 2021-07-28 15:46:07 +03:00
Martynas Bagdonas
e0bc873bce Improve embedded note image loading and deletion:
- Delete unused embedded images when note is closed.
- Load images as soon as they are downloaded.
- Introduce new notification for download event, and a test for it.
- Prevent simultaneous downloads of the same attachment.
2021-07-28 13:49:04 +03:00
Martynas Bagdonas
3c658fc672
Copy embedded images, downloaded when needed or show a warning (#2129) 2021-07-26 13:04:38 +03:00
Martynas Bagdonas
a40ac2907e Open PDF files over viewAttachment() to reuse its logic (download, etc.) 2021-07-22 17:54:46 +03:00
Martynas Bagdonas
415973d83c Update citations only on note edit to avoid sync loops 2021-07-21 21:30:53 +03:00
Martynas Bagdonas
aa11c36a64 Little fixes to note editor:
- Fix invalid selector
- Filter itself sent postMessage messages
2021-07-21 21:20:20 +03:00
Dan Stillman
6a6e4fa92c Don't update retractions on bundled file update notification 2021-07-21 03:45:25 -04:00
Dan Stillman
2dd16b44d6 Ignore items in target library trash for cross-library drags
Just don't consider items in the trash to be linked items in
item.getLinkedItem(). I'm not totally sure why we didn't do this many
years ago, since it's one of the biggest sources of confusion in Zotero.

This addresses #1648 and closes #1610, though not by undeleting and
overwriting the item in the trash. When deleting an item and then
re-dragging it from another library, I think most people would expect
the item in the trash to still exist (possibly with notes, etc.), rather
than having been automatically restored and overwritten with new data.
2021-07-20 23:45:40 -04:00
J. Ryan Stinnett
6b8bbaf980 Rename metaOrCtrl to cmdOrCtrl
Since we're already testing for macOS, let's go for clarity and call the meta
key Cmd here, since that's what it is.
2021-07-15 09:26:36 +01:00
Tom Najdek
ec2ad91938
Mendeley import: Add "★" tag for favourite items (#2122)
Also ensure that "★" tag is added to an existing item on re-import
where appropriate.
2021-07-13 06:28:05 -04:00
Abe Jellinek
d2db842938
Scaffold: Add action to open test URL in internal browser (#2117) 2021-07-13 03:33:57 -04:00
J. Ryan Stinnett
738d449bea Add MetaOrCtrl-1 through 9 tab navigation 2021-07-11 02:28:25 +01:00
J. Ryan Stinnett
051a84686f Add Ctrl-Tab / Ctrl-Shift-Tab tab navigation 2021-07-11 02:28:25 +01:00
J. Ryan Stinnett
3a95e2e303 Add Cmd-Shift-[ / ] tab navigation on macOS only 2021-07-11 02:28:25 +01:00
J. Ryan Stinnett
28b34bb958 Add stop propagation to existing tab navigation 2021-07-11 01:32:17 +01:00
J. Ryan Stinnett
9afc6e8f47 Tweak existing tab navigation style 2021-07-11 01:29:42 +01:00
J. Ryan Stinnett
d231a03308 Move tab navigation above from and document checks
This ensure tab navigation functions are always available throughout Zotero.
2021-07-11 01:03:10 +01:00
Abe Jellinek
f942c224f5
Scaffold: Run/delete tests with the keyboard (#2118) 2021-07-09 03:42:08 -04:00
Dan Stillman
fb01339c6b Implement library.isGroup property, which was never properly implemented
And since `Zotero.Libraries.isGroupLibrary()` just checked that
property, that hasn't worked either since `isGroup` was added in 2015.

There's no test for `.isGroup`, and the test for `isGroupLibrary()` used
`if()` instead of `it()`, so it never actually ran.

Also:

- Remove old code block in search.js that called `isGroupLibrary()`.
  Since `isGroupLibrary()` didn't work, this block was unused, and its
  logic was previously added elsewhere.
2021-07-07 01:43:22 -04:00
Dan Stillman
314f66c84a Fix comment on Zotero.Item::clone() 2021-07-07 00:17:29 -04:00
Martynas Bagdonas
9e7ab68fb4 Localize color names in pdf-reader 2021-07-06 16:57:47 +03:00
Martynas Bagdonas
28f5fed509 Increase pdf-reader default sidebar width 2021-07-06 16:52:47 +03:00
Martynas Bagdonas
3b6c31319d Tweak pdf-reader and note-editor read-only mode code 2021-07-06 16:52:46 +03:00
Martynas Bagdonas
de7ede5d9b Properly disable read-only actions in notes list context menus 2021-07-01 14:14:43 +03:00
Martynas Bagdonas
0e76c31608 Add Zotero.enablePDFBuildForGroups switch 2021-06-30 17:30:24 +03:00
Martynas Bagdonas
26d784ca0f Allow read-only note editing in a separate window in PDF build 2021-06-30 17:03:10 +03:00
Martynas Bagdonas
ee9ebc6152 Fix contextPane note regression that unpurposely enables read-only mode 2021-06-30 17:03:10 +03:00
Martynas Bagdonas
f4e7c8293b Don't allow to create/delete notes in contextPane in read-only libraries 2021-06-29 17:27:27 +03:00
Martynas Bagdonas
ab200cc60b Improve annotations insertion into notes:
- Properly transform HTML tags flavored plain-text into actual HTML
- Add support for multiline comments and highlights
- Insert newline before citation/comment when necessary
2021-06-29 16:03:54 +03:00
Martynas Bagdonas
f2a440185b Filter i, b, sub, sup tags from annotation comment when exporting to PDF 2021-06-29 13:49:36 +03:00
Dan Stillman
fdcd4e51c5 Handle additional cases of conflicting translators
And fix test failure from bde9a74f9d in CI, where the file list order is
different
2021-06-26 20:17:57 -04:00
Dan Stillman
06075a25c0 Fix regression in b8ad18e96d
We're relying on Bluebird's synchronous promise inspection for noWait
translate mode (as used in Quick Copy). We should decide if we want to
keep the Bluebird dependency or rewrite this to use native promises
(e.g., with a separate synchronous `_loadTranslator()` function for
noWait mode), but for now just restore the `Zotero.Promise.method()`.
2021-06-26 17:51:17 -04:00
Dan Stillman
ebc21742dd Update locales from Transifex and merge new English strings 2021-06-26 17:51:17 -04:00
Dan Stillman
261bb7ee91 Dictionary handling improvements
- Fix installation of dictionaries on Windows
- Use version in XPI download URL (zotero/zotero-build@c3308c7a4)
- Improve display of download errors
2021-06-26 17:09:23 -04:00
Martynas Bagdonas
425daa3622 Make pdf-reader read-only when item is in trash or read-only group 2021-06-25 19:21:39 +03:00
Dan Stillman
b8ad18e96d Fix broken detection after error loading a translator's code
The bug fixed in bde9a74f9d was triggering an error getting code for a
deleted search translator, which due to this bug caused a double
complete() call that got detection all out of sync, which caused some
search translators to be skipped, which resulted in ISBN lookup
failures.
2021-06-25 06:49:54 -04:00
Dan Stillman
bde9a74f9d Clear caches properly when deleting duplicate translator
Among other things, if the name of a translator was changed, until
restart Zotero.Translators.getAllForType() would return the old cache
entry pointing to a file that no longer existed.
2021-06-25 06:49:18 -04:00
Martynas Bagdonas
d9eb45bf0e Don't show note-editor replace bar by default, rename input to "Replace"
Fixes #2107
2021-06-24 13:53:40 +03:00
Dan Stillman
f80ba89971 Massively speed up tests
- Make a copy of the database after first initialization that can be
  swapped in when reinitializing in resetDB()
- Avoid unnecessary one-second delay on every reset

Probably more that can be done, but this should take minutes off the
test runs
2021-06-24 06:10:40 -04:00
Martynas Bagdonas
88280641ac Avoid setTimeout call on every note-editor context menu popup
Fixes #2111
2021-06-24 11:32:43 +03:00
Dan Stillman
3fc7ce8e7d Update locales from Transifex and merge new English strings 2021-06-23 22:06:31 -04:00
Martynas Bagdonas
e3758dc581 Delay popup with spell checker initialization to fix missing checkmark 2021-06-23 21:56:11 -04:00
Dan Stillman
9a7016ad64 Spell checker improvements
- Add/Remove Dictionaries window
- Better account for the (unlikely) possibility that a dictionary could
  be replaced by another more popular dictionary provided by a different
  extension id (tested)
- Better account for the (very unlikely) possibility that an extension
  could bundle multiple dictionaries (untested)
- Use toolkit version comparator for proper extension version
  comparisons
- Localize strings
- Add tests for updating
2021-06-23 21:56:11 -04:00
Dan Stillman
7f2296b1fb Tweak a couple error messages for HTTP.BrowserOfflineException 2021-06-23 21:56:11 -04:00
Dan Stillman
1e2ad01f99 Zotero.File.download(): Throw error on non-200 response 2021-06-23 21:56:07 -04:00
Martynas Bagdonas
814cbc0ee3 Introduce spell checker context menu and dictionaries managing 2021-06-23 19:25:46 -04:00
Dan Stillman
02db8e620e Update locales from Transifex and merge new English strings 2021-06-22 16:06:04 -04:00
Martynas Bagdonas
ac47578a7b Add an option to remove previously set annotation colors in note-editor
Fixes #2106
2021-06-22 12:25:45 +03:00
Martynas Bagdonas
6c16d7625a Redesign find-replace bar 2021-06-22 09:34:37 +03:00
Dan Stillman
5c5b3c8565 Updates locales from Transifex and merge new English strings 2021-06-22 01:24:09 -04:00
Dan Stillman
00a0231e4f Remove "\n" from localized string for note annotation header
Follow-up to 47f897fe8c
2021-06-22 01:13:17 -04:00
Dan Stillman
91ebbc1bc9 Changes to colored tag toggling via keyboard
- Update Date Modified when toggling tags via keyboard
  (https://forums.zotero.org/discussion/90371/bug-toggling-a-colored-tag-with-number-keys-doesnt-update-date-modified)
- If any selected items don't have the tag, add it to all items, instead
  of deciding based on the first item
  (https://forums.zotero.org/discussion/79900/minor-issue-related-to-colored-tags)
2021-06-22 01:01:51 -04:00
Dan Stillman
42b4b173f3 Store lastCompatibleVersion during schema initialization
Otherwise switching back to release from beta doesn't show the last-used
version if the beta hasn't gone through at least one
compatibility-breaking schema update.
2021-06-21 01:16:18 -04:00
Abe Jellinek
e285415451
Make resolveURL available to translators (#2101) 2021-06-18 15:18:44 -04:00
Martynas Bagdonas
47f897fe8c Use two lines for extracted annotation header and fix title extraction
Fixes #2095
2021-06-18 13:03:25 +03:00
Martynas Bagdonas
b5edc0d9c1 Reorganize note-editor toolbar 2021-06-17 14:07:09 +03:00
Dan Stillman
7a4b27e774
Merge pull request #2071 from jryans/feed-processor
Import feed processor
2021-06-17 03:27:36 -04:00
J. Ryan Stinnett
eaa01901ef Wire up new feed processor to Zotero's feed reader
This connects the new feed processor to Zotero's existing feed reader. The new
feed processor assumes a content window environment, so a sandbox in a parent
window is used to load it.
2021-06-16 20:59:57 +01:00
J. Ryan Stinnett
af6029b854 Convert feed processor to native URLs 2021-06-16 20:59:57 +01:00
J. Ryan Stinnett
be80598c6b Convert feed processor data away from XPCOM
This changes the feed processor XPCOM array and property bags to native arrays
and objects.
2021-06-16 20:59:57 +01:00
J. Ryan Stinnett
088483b776 Fix lint issues in feedReader.js 2021-06-16 20:59:57 +01:00
Tom Najdek
f1414731da
Blur active field in switchCreatorMode #2087 (#2088) 2021-06-14 17:33:55 -04:00
Abe Jellinek
f83559feb8
Correct creator fields in OpenURL (#2079)
There is no isInstitution field, so OpenURL search was producing invalid
data for items with institutional authors. Instead we use the name field
in API JSON and the isInstitution flag in internal JSON.
2021-06-14 14:49:49 -04:00
qqobb
5359db39d0
Run JavaScript: Improve await regex (#2083)
Tests: https://regex101.com/r/eQYCIp/1
2021-06-12 02:44:39 -04:00
Tom Najdek
864b135da4
Mendeley import: Simplify filename logic #2067 (#2085) 2021-06-11 13:35:09 -04:00
Martynas Bagdonas
3beb858275 Upgrade note-editor schema to v3:
- No longer store `text` property in highlight annotation
- Remove `text` property when modifying a note
2021-06-09 17:48:55 +03:00
Martynas Bagdonas
43bd1af3e9 Prepare read-only check for group library annotations 2021-06-08 10:10:21 +03:00
Martynas Bagdonas
87ef6ceacc Fix notesList more button notes count 2021-06-04 18:27:43 +03:00
Martynas Bagdonas
6d0067b806 Do not escape existing HTML entities when citing note 2021-06-04 11:49:11 +03:00
Dan Stillman
2fd46157f3 Enable Basque locale 2021-06-04 02:16:20 -04:00
Dan Stillman
3cfc31c445 Add TODO to pass libraryID in advanced search autocomplete
This will probably conflict with an open PR, but that should be fixed to
do the same.
2021-06-04 02:15:16 -04:00
Dan Stillman
07eda894f3 Don't trigger 'redraw' event on attachment download 404
There's no need to refresh the attachments column of the item row if
nothing was downloaded.

Also remove some unnecessary logging
2021-06-03 23:39:52 -04:00
Martynas Bagdonas
a5fe49b866 Remove sync buttons from PDF reader toolbar
Fixes #2045
2021-06-02 20:39:44 +03:00
Martynas Bagdonas
a418d5ae8d Fix RTL mode in pdf-reader, note-editor, contextPane 2021-06-01 11:37:07 +03:00
Dan Stillman
1bf7b1e88e Fix updating of attachment title in right-hand pane when changed
https://forums.zotero.org/discussion/88225/attached-file-name-doesnt-change-immediately-at-5-0-97-beta-2-8b1b2ee56
2021-05-31 03:26:06 -04:00
Dan Stillman
1daf4b0413 Update locales from Transifex and merge new English strings 2021-05-28 02:58:53 -04:00
Martynas Bagdonas
ded077dc8e Use Zotero.appName for localization in note-editor
Fixes #2073
2021-05-27 13:38:09 +03:00
Dan Stillman
6be797bc14 Fix additional imported Mendeley annotation color ("#000")
This is going to start redacting people's PDFs until we change the
default opacity.
2021-05-27 05:30:39 -04:00
Martynas Bagdonas
cf344335ed Use item display title for PDF reader tabs 2021-05-25 19:48:35 +03:00
Martynas Bagdonas
bb40928720 Localize formatted citations in notes
Fixes #2040
2021-05-25 13:07:24 +03:00
Martynas Bagdonas
faec1f1dee Provide filename for recognizer server 2021-05-25 10:30:54 +03:00
Martynas Bagdonas
b2acb5e339 Fix missing title in PDF reader standalone window 2021-05-21 17:20:12 +03:00
Martynas Bagdonas
eb085f2bbe Reorganize View menu, add checkmarks, introduce Go menu
Fixes #2037
Fixes #1997
2021-05-21 17:20:11 +03:00
Martynas Bagdonas
39b56a66dc Fix blank standalone PDF reader window issue 2021-05-21 15:44:38 +03:00
Martynas Bagdonas
1e0b5272a4 Add missing Page and Read-only localizations 2021-05-21 15:24:56 +03:00
Martynas Bagdonas
a7c6979e75 Add space between items in multi-item citation 2021-05-21 15:24:56 +03:00
Dan Stillman
cdf1f3c856 Mendeley import: Use bytes for path/filename limits on Windows
It's not totally clear how it's calculated, but it doesn't seem to be
just characters.

And make the path limit 255, which is the File Explorer limit, even if
the filesystem can allow up to 260.
2021-05-21 03:02:41 -04:00
Abe Jellinek
06660d04f0
Scaffold: Update year and add spacing in template (#2066) 2021-05-21 00:53:19 -04:00
Dan Stillman
bec42fe2a5 Handle multibyte characters in Zotero.File.truncateFileName()
Filesystems care about byte length, not character length, so treat
maxLength as the byte length limit and truncate accordingly.

This will also now remove entire emoji characters without corrupting
them.
2021-05-20 19:25:57 -04:00
Dan Stillman
b511e452a8 Mendeley import: Only limit paths to 260 characters on Windows 2021-05-20 19:25:15 -04:00
Tom Najdek
7582147dd5
Mendeley Import: Prevent tmp path > 260 chars 2021-05-20 12:53:34 +02:00
Tom Najdek
63205a73e8
Improve truncateFileName logic for edge cases 2021-05-20 12:41:49 +02:00
Tom Najdek
89d81cee41
Mendeley import: Sanitize names of fetched files 2021-05-20 12:41:44 +02:00
Tom Najdek
faf094f0aa
Mendeley import: shorten tmp file path 2021-05-20 11:18:23 +02:00
Martynas Bagdonas
5497598c63 Localize pdf-reader and note-editor 2021-05-20 10:49:03 +03:00