Commit graph

9164 commits

Author SHA1 Message Date
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
Dan Stillman
861d5787d8 Mendeley online import: Fix error if downloaded file doesn't exist
If a file attached to an item with a URL wasn't found in the temp
directory, it would trigger an error that stopped the sync. (I'm not
sure how a file wouldn't exist.)
2021-05-20 03:15:15 -04:00
J. Ryan Stinnett
d3d2212a0f Start tab title tooltips on mousemove
By changing to `mousemove` to start the tab title tooltip, the behavior matches
applications like Firefox more closely: you can always get the latest tooltip
back after changing state by nudging the mouse (without having to exit and
re-enter anything).
2021-05-18 14:43:09 +01:00
J. Ryan Stinnett
b27ac6649e Hide tab title tooltips whenever the tab bar changes
This hides tooltips (such as the tab title tooltip) whenever the tab bar state
changes, such as when adding or removing a tab, to ensure we don't leave any
tooltips behind that no longer match reality.

Fixes https://github.com/zotero/zotero/issues/2060
2021-05-18 14:42:56 +01:00
J. Ryan Stinnett
5b7e01dff6 Rename tab event handlers to clarify target 2021-05-18 13:31:32 +01:00
Dan Stillman
e7f93cb548 Fix appearance of error report text in dark mode on Linux
Closes #2021
2021-05-16 05:08:44 -04:00
Dan Stillman
3815197b92 Don't allow site-specific Quick Copy setting without domain
And remove existing blank entry in schema update step

Closes #2053
2021-05-16 05:08:44 -04:00
Dan Stillman
1b2a6c13a8
Merge pull request #2016 from Dylan-Evan/master
Fix dark theme on Item Type
2021-05-16 04:25:54 -04:00
Dan Stillman
7217cd407a
Merge pull request #2009 from WesleyFord/master
Fix background color of the dropdown menu.
2021-05-16 04:22:03 -04:00
Dan Stillman
3880687d2b
Merge pull request #2039 from HollandeP/master
Made About page text visible across default Linux themes
2021-05-16 04:15:17 -04:00
Dan Stillman
675184f7a7 Update locales from Transifex and merge new English strings 2021-05-15 15:21:21 -04:00
Dan Stillman
2799dfef5b Clarify sync-to-empty-database warning
Closes #1959
2021-05-15 15:09:33 -04:00
Dan Stillman
3aa355a8b4 Add Zotero.DB.path property 2021-05-15 15:09:33 -04:00
Dan Stillman
146e1af189 Update submodules 2021-05-14 22:44:33 -04:00
Dan Stillman
6834c6062b Fix auto-sync timeout in notes
Regression in 7ace5ea29
2021-05-14 05:13:19 -04:00
Dan Stillman
53f53779a3 Mendeley import: Don't show local import option
It's still possible to trigger a local import from a 1.18 database by
selecting the .sqlite file directly from the file option, but don't
offer it in the dialog.
2021-05-14 04:27:19 -04:00
Dan Stillman
7e23cfef96 Fix invalid imported Mendeley annotation color
After fix in 808b71832e

And require annotation colors to be 6-char hex colors going forward
2021-05-14 04:20:50 -04:00
Dan Stillman
f925f0e402 Don't cache SQL statements during initialization
From executeSQLFile()
2021-05-14 04:20:50 -04:00
Dan Stillman
d2b36c4218 Deduplicate libraryIDs passed to setSyncTimeout() for an auto-sync 2021-05-14 04:20:50 -04:00
Dan Stillman
5eb6935842 Deduplicate queued sync options
E.g., if a sync is ongoing and there are multiple item saves that would
trigger auto-sync with the same options, only queue a single sync.

7ace5ea29e fixed the main cause of this, but in case some other
saves end up happening during a sync, this will prevent them from
triggering multiple sync loops with the same options.
2021-05-14 04:20:36 -04:00
Dan Stillman
7ace5ea29e Fix unnecessary sync looping after downloading items
An extra sync loop would be performed for every object downloaded, so a
download to an empty database could result in a huge number of
unnecessary loops. This was a regression from 52932b6eb, which started
queuing auto-syncs while a sync was in progress. The fix here is to skip
auto-sync for all objects saved from a sync download.

There are two new mechanisms involved:

- Event-level notifier options that get passed to passed to notify() at
  the top level of extraData rather than being included with every
  object (e.g., because `skipAutoSync` should apply to an entire save
  transaction)
- The ability to pass event-level notifier options when initializing
  a Zotero.Notifier.Queue, such as the one used for sync downloads
2021-05-14 03:49:26 -04:00
Dan Stillman
5b0f02a12b Trigger auto-sync after item deletion
It looks like this has been broken for years.
2021-05-14 03:49:26 -04:00
Dan Stillman
9a47f74787 Specify note auto-sync timeout in save call, not in sync event listener
This will allow other operations to specify a longer timeout.
2021-05-14 03:49:26 -04:00
Tom Najdek
808b71832e Fix rgb to hex color conversion 2021-05-13 15:52:54 -04:00
Tom Najdek
833ee10516 Mendeley import: Switch to authorisation code flow via proxy 2021-05-10 14:32:02 -04:00
Dan Stillman
d3a78982f0 Add attr()/text() to search translators 2021-05-07 14:57:55 -04:00
Dan Stillman
d27b622f9f Mendeley import: Fill in Publication field on existing items if empty
It was skipped in online imports before eef0fc6fa8.
2021-05-06 15:59:46 -04:00
Dan Stillman
eef0fc6fa8 Mendeley online import: Fix "Journal" → "Publication" mapping 2021-05-06 15:46:35 -04:00
Dan Stillman
6d5b00e94c Fix descendant collections not skipping delete log
If a collection was deleted with `skipDeleteLog: true`, descendant
collections still ended up in the delete log, which could cause
constant "Reset Group and Sync" prompts.

https://forums.zotero.org/discussion/89485/warning-when-syncing-group-library
2021-05-06 03:34:09 -04:00
J. Ryan Stinnett
74b9604c7b Show full tab title on hover
Fixes https://github.com/zotero/zotero/issues/2033
2021-05-05 01:20:42 -04:00
J. Ryan Stinnett
12b100fd4b Hide tab bar for single tab case on Windows and Linux
This hides the tab bar on Windows and Linux, where it currently takes up a lot
of vertical space below the menu bar. On macOS, the tab bar remains always shown
since we don't have the menu bar and can move tabs in the window there.

Fixes https://github.com/zotero/zotero/issues/2019
2021-05-03 17:24:05 -04:00
Martynas Bagdonas
a74c012b65 Improve contextPane notes list performance 2021-05-03 21:41:41 +03:00
Dan Stillman
83a12bca89 Update locales from Transifex and merge new English strings 2021-04-30 07:34:01 -04:00
Dan Stillman
48d5ec240e Mendeley import: Tweak intro text 2021-04-30 07:14:19 -04:00
Dan Stillman
3877563abe Mendeley import: Clear cookies when closing OAuth window 2021-04-30 07:10:58 -04:00
Dan Stillman
911e1637f2 Update locales from Transifex and merge new English strings 2021-04-29 03:34:56 -04:00
Dan Stillman
57fbe61f93 Use notifier queue during Mendeley import
This dramatically speeds up Mendeley imports by avoiding UI updates.
Regular imports in fileInterface have done this for a while, but the
Mendeley importer used a fake translation object that didn't use the
passed queue.

After this change, a 10,000-item import goes from 9m30s to 2m45s, a 71%
decrease.
2021-04-29 00:46:18 -04:00
Dan Stillman
bb75fcd784 Fix support link in encrypted Mendeley database message
It started being flattened at some point.
2021-04-29 00:46:18 -04:00
Dan Stillman
3032cc6a02 Increase default basicViewer height to 700
Though this is currently persisted, so it stops being relevant as soon
as one instance of the basic viewer is resized, which maybe we don't
want.
2021-04-29 00:45:52 -04:00
Dan Stillman
d35719d0e8 Mendeley online import tweaks
- Add "(online import)" and "(local import)" next to "Mendeley Referance
  Manager" and "Mendeley Desktop", respectively
- Adjust size of OAuth window
- Use bound parameter instead of string literal for Fx78 compatibility
2021-04-29 00:45:23 -04:00
Tom Najdek
962222a5f5 Mendeley import: Import annotations from matching files in groups
All annotations in all groups are fetched and hashes are compared to
detect annotations created on the same file while it was in a group
library. Annotations created by other users are filtered out.
2021-04-29 00:40:44 -04:00
Tom Najdek
d4d2080a31 Mendeley online importer 2021-04-29 00:40:44 -04:00
Martynas Bagdonas
8799de5284 Display embedded images in item reports
Fixes #2002
2021-04-28 13:05:43 +03:00
Martynas Bagdonas
65329dbf27 Improve popup actions when read-only or multiple annotations selected
Fixes #2046
2021-04-28 12:45:53 +03:00
Martynas Bagdonas
3c3c1ba88a Add "Show in Library" option to PDF reader file menu #2032 2021-04-27 12:50:13 +03:00
Martynas Bagdonas
09125277ac Focus note-editor faster 2021-04-27 11:01:23 +03:00
Martynas Bagdonas
0b219ed8a7 Prevent opening multiple PDFs in windows when shift isn't pressed 2021-04-26 22:49:52 +03:00
Martynas Bagdonas
e7eae06d8d Optimize contextPane notes list rendering 2021-04-26 22:08:11 +03:00
Dan Stillman
76d8818bed Don't count missing annotation values as changed if empty string passed
Similar to 0d377a1c4a, this fixes an unnecessary annotation reload and
loss of unsaved typing on auto-sync immediately after an annotation is
created.
2021-04-26 03:49:59 -04:00
Dan Stillman
0d377a1c4a Clear changed state of annotation after saving color change
This was resulting in an extra 'modify' event after each sync upload.
2021-04-24 19:49:08 -04:00
Dan Stillman
ea42789206 Avoid memory leaks from caching unique DB statements
Many DB statements that were being cached included embedded ids or temp
table names, so they would permanently use memory and never get reused.
During large imports, this could result in hundreds of megabytes of
extra memory usage.

This commit marks many more statements as `noCache`, adds `noCache`
support for column and value queries, adds a log line at DB shutdown in
source builds with the number of cached statements, and adds
Zotero.DB.getCachedStatements() for auditing of cached statements.

Addresses #1531
2021-04-22 02:53:29 -04:00
Dan Stillman
12045a7cf8 Add Zotero.isSourceBuild
This should be used sparingly, since it risks missing problems in
released builds.
2021-04-21 21:37:56 -04:00
Martynas Bagdonas
1eb888d026 Fix missing itemData when creating a note from annotations 2021-04-21 16:55:44 +03:00
Martynas Bagdonas
3de7b6c5ec Trim whitespace from highlights and comments when creating a note 2021-04-21 16:52:19 +03:00
Dan Stillman
6eed0876de Update locales from Transifex and merge new English strings 2021-04-20 17:24:34 -04:00
Dan Stillman
78920f0aca Missing string changes from 7065dacee 2021-04-20 16:32:42 -04:00
Dan Stillman
7065dacee8 Move About pane strings and URLs to ZOTERO_CONFIG 2021-04-19 18:30:21 -04:00
Dan Stillman
749e28dc1f Fix alphabetical sorting of child attachments in new databases
Broken after global schema introduction
2021-04-18 01:44:39 -04:00
Martynas Bagdonas
633710c90b Improve note-editor:
- Allow to format citations inside note-editor
- Allow quickFormat dialog to display and pick already cited items, even if an item no longer exists
- Watch and automatically update citation itemData in metadata container and re-format citations in body in opened notes
- Reorganize note metadata container handling and improve resistance to accidentally breaking it in further development
- Improve performance when typing in larger notes
- Rewrite note saving mechanism to support automatic note changes and reduce complexity for further development
- Cleanup and comment some core parts or note-editor as the preparation for further development
- Prepopulate quickFormat dialog with the currently opened PDF parent #1984 (doesn't include the currently scrolled page label yet)
2021-04-16 17:55:05 +03:00
HollandeP
4ab6fe8c59 Made About page text visible across default Linux themes 2021-04-13 11:46:56 -04:00
Adomas Venčkauskas
ffab4d5243 Add an optional callback for Integration.initPipe(). Addresses #2031 2021-04-12 12:35:51 +03:00
Dan Stillman
52932b6eb0 Reduce auto-sync timeout to 3 seconds and optimize auto-sync process
Reduce timeout after an object change from 15 seconds to 3 seconds,
ecxept for individual notes. We should probably kick off an auto-sync
3 seconds after a note is blurred, but that's not implemented.

We also now skip file syncing and full-text content syncing altogether
unless an attachment has changed.

Reindexing an item now kicks off auto-sync, whereas before it didn't.
2021-04-06 05:09:42 -04:00
Adomas Venčkauskas
8bff4cff42 Fix the attempt to display the delay citation updates dialog breaking updates
Since 2b3669afd
2021-04-05 16:23:43 +03:00
Adomas Venčkauskas
a6fc2cb206 Fix embedded item citing (since 2e9e6554)
I don't know how this has not been reported yet
2021-04-05 16:23:43 +03:00
Martynas Bagdonas
bbb0f8bca4 Do not strip abstract from citation items data in notes 2021-04-05 09:00:28 +03:00
Martynas Bagdonas
c3a74a22d7 Update signature for _serializeAnnotations and return object instead 2021-04-03 11:08:57 +03:00
Martynas Bagdonas
20022a5d7c Properly check schema version in note editor tests 2021-04-02 21:57:35 +03:00