Commit graph

8494 commits

Author SHA1 Message Date
Dan Stillman
09b7fa8a6d Fix time zone handling of CSL JSON export of date-only access date
Since 9c0f5998a3, depending on your timezone the day could be off by
one if the access date didn't have a timestamp (so only for manual
entries or imports).
2019-03-20 21:52:57 -04:00
Dan Stillman
62ea7e970a Don't use RegExp for tag filter (Reactification regression)
Using a regexp meant that an invalid regexp pattern would crash the tag
selector, and even if we caught that it would produce unexpected results
for some searches (e.g., anything with a period).
2019-03-20 07:15:55 -04:00
Dan Stillman
42667e7090 Switch to Search component in tag selector and support X/Esc to clear
This moves debouncing into the search component and adds cancel behavior
from the XUL search textbox. For now, this uses the X button from
Firefox.
2019-03-20 07:15:55 -04:00
Dan Stillman
bf4deeff8f Map podcast to CSL broadcast
Closes citation-style-language/zotero-bits#83
2019-03-19 20:08:17 -04:00
Dan Stillman
67febb2f45 Clarify debug lines for tag selector updating 2019-03-18 04:52:48 -04:00
Dan Stillman
b2d5b9a2f3 Fix incorrect call in 3463e3b5ab 2019-03-17 19:15:34 -04:00
Dan Stillman
3463e3b5ab Don't initialize tag selector if closed at startup (React regression)
Even after cdf9d7ff32, the tag selector was still being initialized if
it was closed at startup, which meant that keeping it closed didn't fix
performance problems in large libraries. This hopefully finally brings
the tag selector in line with pre-Reactification behavior.

This also moves initIntlStrings() logic to Zotero.Intl so that strings
are accessible from React components in separate windows, and it moves
container initialization to ZoteroPane since most of what it does will
need to interact with ZoteroPane anyway.
2019-03-17 05:11:07 -04:00
Dan Stillman
c44b864923 Fix error switching creator field mode if a creator is open 2019-03-16 03:21:10 -04:00
Dan Stillman
9d564f022d Fix creator overwrite using move option on open field
https://forums.zotero.org/discussion/76423/bug-when-moving-authors-to-top-in-beta
2019-03-16 01:53:35 -04:00
Dan Stillman
cdf9d7ff32 Unregister tag selector when closed
This restores the pre-Reactification behavior.
2019-03-15 15:42:22 -04:00
Dan Stillman
94ccba45b9 Avoid unnecessary tag queries (regression from React tag selector) 2019-03-15 12:46:27 -04:00
Dan Stillman
cd55aebbc0 Fix detection of WebDAV settings on Windows and Linux
Fixes #1291, hopefully for real this time
2019-03-13 02:45:31 -04:00
Dan Stillman
435e628973 Fix high CPU during file syncing (regression from React tag selector) 2019-03-12 06:45:25 -04:00
Dan Stillman
99cfddaf18 Add separator above "Delete All Automatic Tags in This Library…" 2019-03-09 16:28:20 -05:00
Dan Stillman
c735423996 Don't show PDF icon for linked-URL PDFs (regression from 8cd5b09053) 2019-03-08 20:23:00 -05:00
Dan Stillman
c7698a2324 Restore disabling of automatic tag deletion option when no such tags 2019-03-07 04:08:45 -05:00
Dan Stillman
85c6ec0ca4 Actually change code that deletes automatic tags
Follow-up to d7dc5670d5
2019-03-07 03:35:37 -05:00
Adomas Venčkauskas
72fb67d15b Restore "Delete All Automatic Tags" menu option for tag selector. Closes #1660 2019-03-06 16:22:05 +02:00
Adomas Venčkauskas
d01038b13b Fix missing react localization in tests. Closes #1661 2019-03-06 14:35:38 +02:00
Adomas Venčkauskas
e8f186479f Address tag selector tests race conditions. Addresses #1659 2019-03-06 13:13:40 +02:00
Dan Stillman
9cdfe8e01c Update submodules 2019-03-05 21:17:14 -05:00
Dan Stillman
123f82571e Update locales from Transifex 2019-03-05 21:15:27 -05:00
Dan Stillman
ae9c54b76d Fix "Move to Top" logic for creators 2019-03-05 19:15:50 -05:00
Dan Stillman
d7dc5670d5 When clearing automatic tags, don't delete manual tags with same name 2019-03-05 07:55:00 -05:00
Dan Stillman
fc43514ff0 Deselect tags when deleted (regression from Reactification) 2019-03-05 07:55:00 -05:00
Dan Stillman
3c6ab77e44 Update locales from Transifex 2019-03-04 07:31:36 -05:00
Dan Stillman
8cd5b09053 Add icon for linked PDF files 2019-03-04 03:20:37 -05:00
Dan Stillman
e2c4e3e86a Use "PDF" attachment title for all individual PDFs from Mendeley import
https://forums.zotero.org/discussion/comment/327390/#Comment_327390
2019-03-03 04:52:39 -05:00
Dan Stillman
88f39cba80 Merge new English strings 2019-03-02 06:24:33 -05:00
Dan Stillman
04779d8d1c Add import option for storing or linking files
This allows files in Mendeley imports to be stored and files in
RIS/BibTeX/etc. to be linked.

Closes #329
2019-03-02 06:24:33 -05:00
Martynas Bagdonas
ca859e7aa4 Fix unescapeHTML on node.js 2019-03-01 09:59:21 +02:00
Dan Stillman
ad27e0c5fa Update locales from Transifex and merge new English strings 2019-02-26 22:30:29 -05:00
Dan Stillman
d0f7fd6df7 Add separate "Rename linked files" pref for auto-renaming
Defaulting to false

People who've been relying on auto-renaming of linked files for the last
year will have to turn this back on.
2019-02-26 22:23:43 -05:00
Adomas Venčkauskas
caac984345 Fix this.collectionTreeRow undefined errors in tag selector 2019-02-25 12:21:26 +02:00
Adomas Venčkauskas
891524b4ed Fix selected tags not clearing when switching collections. Closes #1646 2019-02-25 12:20:35 +02:00
Adomas Venčkauskas
6d82ac3970 Fix window.name being unset when loading include.js. Closes #1645 2019-02-25 11:45:42 +02:00
Dan Stillman
6929125708 Updates locales from Transifex and merge new English strings 2019-02-24 00:11:27 -05:00
Dan Stillman
df494415d7 Add "Move to Top" option in creator type menu
Drag-and-drop will be a better solution, but this should be useful in
some situations (and, unlike drag-and-drop, can be accessible).
2019-02-24 00:01:58 -05:00
Dan Stillman
945c413c42 Closes #1644, Allow selecting multiple items with zotero://select
This adds selectItems() to ZoteroPane and collectionTreeView and removes
the ancient, unused 'expand' argument to selectItem(), which didn't
really make sense there. It also includes a new
itemTreeView::ensureRowsAreVisible() that tries to scroll to an
appropriate place (or, better yet, not scroll at all) given the
specified rows and page size.
2019-02-23 17:35:09 -05:00
Dan Stillman
663acccbc2 Tweak debugging for missing-key sync error 2019-02-19 04:10:25 -05:00
Dan Stillman
1061893998 "Attachment Content" search improvements
- Fix incorrect results for ANY search with multiple "Attachment
  Content" conditions and no other conditions
- Dramatically speed up single-word searches by avoiding unnecessary
  text scans (which probably addresses #1595)
- Clean up code
2019-02-19 04:10:25 -05:00
Dan Stillman
977eb8d965 Fix "Show Automatic Tags" in tag selector 2019-02-18 15:00:18 -05:00
Dan Stillman
950e9de80f Make starting from Mac disk image fatal 2019-02-18 14:36:53 -05:00
Dan Stillman
0ea03ce72c Switch to services domain for recognizer requests
The recognizer endpoint can be customized by setting either
recognize.url (used directly) or services.url (used with a 'recognizer/'
suffix).
2019-02-18 14:30:54 -05:00
Frank Bennett
30b6bf6da7 Set processIndices for each processor return 2019-02-13 08:40:50 +02:00
Adomas Venčkauskas
6672efef0a Revert "Revert "Update citeproc-js to 1.1.215""
This reverts commit db56f002a5.
2019-02-12 10:30:33 +02:00
Adomas Venčkauskas
9410094ad8 Update citeproc usage logic. See #1638 2019-02-12 10:30:24 +02:00
Adomas Venčkauskas
a931c2ba51 Tidy up Integration.Session.addCitation() 2019-02-11 11:01:53 +02:00
Adomas Venčkauskas
0539deb58b Make sure citation edits are not treated as citation duplication 2019-02-11 11:01:01 +02:00
Adomas Venčkauskas
6ee87056b1 Fix integration previewFn providing wrong citationsPost data
See #1638
2019-02-11 10:45:07 +02:00
Adomas Venčkauskas
de4ce57768 Fix wrong httpIntegrationClient #convert call signature 2019-02-08 13:03:27 +02:00
Dan Stillman
db56f002a5 Revert "Update citeproc-js to 1.1.215"
This reverts commit d301fb6e43.
2019-02-06 14:59:27 -05:00
Dan Stillman
ff008d4bc1 Update locales from Transifex 2019-02-05 21:36:51 -05:00
Dan Stillman
d301fb6e43 Update citeproc-js to 1.1.215 2019-02-03 05:08:13 -05:00
Dan Stillman
98aa71655b RunJS tweaks
- Display result string directly instead of running through varDump()
- Better detect use of `await`
- Fix ESLint error
2019-02-02 14:17:14 -05:00
Dan Stillman
b1fad505d7 Fix sorting of colored tags after Reactification
Regressed to alphabetic sorting instead of number-key sorting
2019-01-29 22:18:49 -05:00
Dan Stillman
c2a637472e Fix foreign key constraint error for collections with all-numeric keys
This was like a lottery where instead of winning something your library
stopped syncing.
2019-01-29 05:09:00 -05:00
Adomas Venčkauskas
8bd35ee0d4 Fixes tag selector toggling via hotkey leaving gray area. Closes #1629 2019-01-28 16:35:20 +02:00
Dan Stillman
8b4bb62efc Don't load linked URLs during import
Regression from 5a6a772ca2, I think
2019-01-26 00:20:26 -05:00
Adomas Venčkauskas
a532af6114 Fix sync client tests that depend on stubbing concurrentCaller Promise.
Regression since f5c4fb06
2019-01-22 13:49:00 +02:00
Dan Stillman
8f58560751 Run JavaScript: Automatically switch to async mode if await is used
This will allow examples from the documentation to work without the
async option being explicitly chosen.
2019-01-22 04:44:32 -05:00
Dan Stillman
39eb2962a6 Run JavaScript: Support await and show errors
Adds a "Run as async function" checkbox that wraps the code in an async
function and displays the value returned by a `return` statement.

This also properly catches errors and displays them in the results pane.
2019-01-22 01:29:05 -05:00
Dan Stillman
f918e27e46 Add window for running arbitrary privileged JavaScript
This is a replacement for the Execute JS extension that could be used
with Zotero for Firefox.

To enable, go to the Config Editor in the Advanced pane of the
preferences and set devtools.chrome.enabled to true, and then restart
Zotero. A "Run JavaScript" option will appear in the Tools menu.
2019-01-22 00:12:34 -05:00
Dan Stillman
eb5d28b626
Merge pull request #1606 from adomasven/feature/reactify
Reactified Tag Selector
2019-01-21 04:07:28 -05:00
Adomas Venčkauskas
0e8788aca1 Update tag selector styling for Windows 2019-01-21 11:01:33 +02:00
Adomas Venčkauskas
fc41326319 Update tag selector styling for macOS 2019-01-21 11:01:33 +02:00
Adomas Venčkauskas
f5c4fb06e1 Ensure high-dpi icons are loaded in React components 2019-01-21 11:01:32 +02:00
Adomas Venčkauskas
90a70f7c31 Fix a /saveItems session management race condition bug 2019-01-21 11:01:32 +02:00
Adomas Venčkauskas
a24cada451 React Tag Selector polish, i18n and tests
- Added icon-button UI code for the menubutton
- Upgrade to React 16 to allow non-standard attrs, such as `tooltiptext`
to support XUL tooltips
- Add i18n support for React UI elements
- Update tests for reactified tag selector
2019-01-21 11:01:27 +02:00
Philipp Zumstein
97e53c5230 Fix some typos found by codespell (#1570)
$ codespell --skip="./.git,./styles,./translators,./chrome/locale,./resource,./chrome/content/zotero/xpcom/xregexp,./chrome/content/zotero/xpcom/rdf,./chrome/content/zotero/xpcom/citeproc.js,./test/resource,./node_modules" -q 2 -i 3 -w
2019-01-20 20:39:27 -05:00
Dan Stillman
4861b2e841 Update citeproc-js to 1.1.212 2019-01-19 02:38:56 -05:00
Dan Stillman
1c32d3856b Include item URI in translator item object for notes and attachments
This allows for related items, referenced by URI in
`.relations['dc:relation']`, to be included in the export.
2019-01-14 00:35:00 -05:00
Dan Stillman
0d5abb018a Ignore invalid paths during export
Invalid paths, including Windows UNC paths on other OSes, caused exports
to fail. Now they're ignored, which is what we do for other missing
attachment files.

Fixes #1622
2019-01-12 02:34:31 -05:00
Dan Stillman
9c0f5998a3 Use correct time-zone offset for access dates in bibliographies
Fixes #1069
2019-01-10 03:14:28 -05:00
Dan Stillman
bd78cacf24 Update locales from Transifex 2019-01-10 00:42:00 -05:00
Dan Stillman
ccdcb1bf72 Fix adding new advanced search row with More field selected
Broken in 28aa86eb79
2019-01-08 04:28:28 -05:00
Dan Stillman
5a6a772ca2 Fix linked-URL attachments not being saved to groups without files
It looks like this may have been broken for years.
2019-01-08 03:45:26 -05:00
Tom Najdek
897e74c7f1 Reactify the Tag Selector 2019-01-07 15:33:45 +02:00
Dan Stillman
506ed313da Fix moving item via connector to library with files from one without
Broken in ce5be0bc75 for non-webpage items
2019-01-07 05:16:17 -05:00
Brenton M. Wiernik
cf66cc6424 Print highlight colors in Reports (#1618) 2019-01-03 16:11:09 -05:00
Dan Stillman
5fa608e379 Deprecate DB.getNextName() in favor of Utilities.Internal.getNextName() 2018-12-27 07:12:26 -05:00
Dan Stillman
7575cd8b29 Don't accept keyboard input before new-collection prompt appears
Fixes #1613
2018-12-27 07:11:15 -05:00
Dan Stillman
4bc8fab4f5 Allow translators to specify that attachment URLs shouldn't be proxied
Translators can include `proxy: false` in the attachment object to
indicate that the URL should be used as is, without further proxying.
This generally isn't necessary, but sometimes it is (e.g., on
EBSCOhost), and in theory we should start using this whenever a PDF URL
is extracted from the page instead of being constructed manually by the
translator.

Closes #1612
2018-12-26 06:23:26 -05:00
Dan Stillman
b58def7bc4 Expose Zotero.Notes for translation-server/Node
Needed for CSL JSON export of notes, which is pointless but better than
throwing an error, I guess.
2018-12-21 02:40:18 -05:00
Dan Stillman
559881b896 Update submodules 2018-12-18 21:17:48 -05:00
Dan Stillman
f9c0e9a571 Update locales from Transifex 2018-12-18 19:46:43 -05:00
Dan Stillman
7594fe1800 Fix advanced search test failure after 13d55910e 2018-12-17 05:36:14 -05:00
Dan Stillman
e82283494b Update locales from Transifex and merge new English strings 2018-12-17 05:21:38 -05:00
Dan Stillman
bd5243221b Fix another typo in c81961a9be 2018-12-16 22:41:32 -05:00
Dan Stillman
adcae4b902 Fix typo in previous commit (c81961a9be) 2018-12-16 21:36:59 -05:00
Dan Stillman
c81961a9be Move Z.Items.getFirstCreatorFromItemJSON() to Z.Utilities.Internal
Needed for COinS export in translation-server
2018-12-16 21:26:16 -05:00
Dan Stillman
f4bf918f35 Remove ": a novel" from book titles
Closes #1581
2018-12-16 03:00:15 -05:00
Dan Stillman
6125d65bc2 Support duplicating saved searches
Closes #1431
2018-12-16 02:24:21 -05:00
Dan Stillman
c73e664312 Fix logged error when dragging collection to another library
"Collection ID '1234' is not an integer (string)"
2018-12-16 02:24:21 -05:00
Dan Stillman
13d55910ed Simplify cloning of collections and searches 2018-12-16 02:24:21 -05:00
Dan Stillman
5f07f36ae5 Allow Zotero.Item instance instead of itemID in Collection.hasItem() 2018-12-16 02:24:21 -05:00
Dan Stillman
80f6b857f6 Add Utilities.Internal.getNextName(name, existingNames)
Function to get the next available name when duplicating something
2018-12-16 02:24:21 -05:00
Dan Stillman
bf6f1432c5 Move Utilities.Internal.escapeSQLExpression() to Zotero.DB 2018-12-16 02:10:15 -05:00
Dan Stillman
28aa86eb79 Default to previous condition when creating new advanced search row
Fixes #1533
2018-12-15 23:52:57 -05:00
Dan Stillman
1c47d21937 Expose Zotero.Cite for translation-server/Node 2018-12-13 02:06:10 -05:00
Adomas Venčkauskas
ffbe44a159 Fix snapshot saves refetching page instead of using passed html 2018-12-12 10:59:58 +02:00
Dan Stillman
9ed8bed778 Find direct PDF from page URL if Content-Type includes invalid parameter
The 'application/pdf' Content-Type shouldn't have any parameters, but a
site was returning 'application/pdf;charset=ISO-8859-1', so instead just
look for the 'application/pdf' prefix.
2018-12-11 16:02:57 -05:00
Dan Stillman
368e225ab8 Update locales from Transifex and merge new English strings 2018-12-05 03:35:55 -07:00
Adomas Venčkauskas
a13e788a60 Change Word permission prompt to reference Zotero instead of Terminal
This should have been obvious, but we've been seeing Terminal when testing
because we're launching Zotero from the Terminal. Users with installed
Zotero version actually see 'Zotero' in instead of Terminal.
2018-12-05 12:14:18 +02:00
Dan Stillman
0706430609 Add setRequestHeaders() method to Translate.Web
For use in zotero/translation-server#16 to pass Accept-Language through
to translation web requests
2018-12-04 02:50:40 -07:00
Dan Stillman
a6fb0b35c3 Update processDocuments() signature for allow passing headers
Also:

- Actually use the cookie sandbox passed to processDocuments()

For zotero/translation-server#16, we want to include Accept-Language
(and maybe other headers) from the client request in upstream requests,
which requires passing it to both non-translate processDocuments().
translation-server's non-translate processDocuments() is defined in that
repo, but it's called by the cross-repo translate processDocuments() in
utilities_translate.js, so the signature needs to be changed in both
repos.

We also apparently weren't using the cookieSandbox in client
processDocuments() calls, though I think that only would've affected
translator testing.
2018-12-04 01:42:56 -07:00
Dan Stillman
223f582aa7 Fix search error on nonexistent collection in recursive mode
And don't return results for a nonexistent parent search
2018-11-28 15:31:57 -07:00
Dan Stillman
6137aeddb8 Follow meta redirects for Find Available PDF
This fixes direct and VPN-based retrieval of PDFs for Elsevier (e.g.,
ScienceDirect) items that have a DOI but no URL, since Elsevier resolves
DOIs through an intermediate page.
2018-11-26 00:57:48 -07:00
Dan Stillman
7d9b94c79e Fix autocomplete for tags beginning with _ or %
Addresses #1598
2018-11-25 00:36:04 -07:00
Adomas Venčkauskas
b1e3195b5a Adds translatorTester nodejs compatibility code that doesn't break Scaffold 2018-11-13 13:25:01 +02:00
Dan Stillman
b80c405da4 Revert "Changes for translator tester compatibility with translation server"
This reverts commit e526a8fa89.

This is a repeat of a0ca67d879. The reverted changes break Scaffold.
This will need to be fixed in a way that allows Scaffold to continue to
work.
2018-11-12 00:40:30 -05:00
Dan Stillman
173d24cce5 Update locales from Transifex 2018-11-11 23:57:58 -05:00
Dan Stillman
30291328ed Update locales from Transifex and merge new English strings 2018-11-06 01:42:31 -05:00
Dan Stillman
382c11104f Tweak Word 2011 permissions text 2018-11-06 01:42:26 -05:00
Adomas Venčkauskas
6d63a47e70 Add an i18n string for Word versions pre 2016 2018-11-05 16:50:48 +02:00
Adomas Venčkauskas
057bb3d037 Reduce citation style listbox size to make it fit on smaller displays 2018-11-05 15:14:38 +02:00
Adomas Venčkauskas
51d7959ccd Revert "Ensure the doc prefs window is smaller than screen height"
This reverts commit 0fd28959bf.
The change causes citation style listbox to fail displaying bottom
entries, a flexed listbox xul bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=413336
2018-11-05 15:14:38 +02:00
Adomas Venčkauskas
0bdebbd64c Revert "Remove old style conversion code"
We got multiple requests from users that use custom 0.8 styles
so we'll have to keep this code for now

This reverts commit a59ce2c343.
2018-10-31 14:01:11 +02:00
Adomas Venčkauskas
e526a8fa89 Changes for translator tester compatibility with translation server 2018-10-31 11:32:33 +02:00
Philipp Zumstein
8fdccb828f Fix comment in ItemProgress.prototype.setIcon (#1591) 2018-10-27 03:26:16 -04:00
Adomas Venčkauskas
8d61e30a93 Update translatorTester for use in translation server 2018-10-26 16:30:08 +03:00
Dan Stillman
91bac0e052 Add 2x icons for attachment-snapshot and conferencePaper 2018-10-26 00:54:40 -04:00
Dan Stillman
f26c2c52d8 Update locales from Transifex 2018-10-24 01:27:32 -04:00
Dan Stillman
7fb20a8882 Update locales from Transifex 2018-10-23 17:08:13 -04:00
Dan Stillman
6abfd3b5b0 Fix 'req is undefined' error after consecutive S3 failures 2018-10-22 05:30:20 -04:00
Dan Stillman
053599993b Add successCodes argument to translator doGet/doPost
In 2652fac24 we started failing the translator if doGet/doPost returned
a >=400 status code, but at least one translator (Primo) relied on doGet
continuing after a 404. This allows translators to specify the status
codes that are allowed, similar to the same argument in
Zotero.HTTP.request().

(We'll clean up the signature at some point or just get rid of these
functions, but this is a quick fix for Primo.)
2018-10-21 06:01:06 -04:00
Dan Stillman
a0ca67d879 Revert part of 5b3b1f0f1 to fix Scaffold breakage
I didn't look into the details, but `this` isn't defined when this file
is loaded within Scaffold, so this line caused an error and the
translator tester was broken.
2018-10-21 05:37:03 -04:00
Dan Stillman
28e1d7dfb6 Update submodules 2018-10-21 02:17:57 -04:00
Dan Stillman
c7915e5bc2 Don't add four spaces when tabbing to indent list in note
Fixes #1236
2018-10-20 03:39:26 -04:00
Adomas Venčkauskas
206b4d7005 Catch translation select callback errors 2018-10-19 14:59:16 +03:00
Adomas Venčkauskas
5b3b1f0f1b Update translatorTester for translation server support 2018-10-19 13:47:44 +03:00
Adomas Venčkauskas
9d98f765b2 Point doc help to general word processor help page. Closes #1585 2018-10-18 13:34:26 +03:00
Dan Stillman
fc1f737986 Throw proper error for "key must be an 8-character string" error 2018-10-18 04:35:18 -04:00
Dan Stillman
4aaec5f091 Fix note being read-only after viewing note in trash 2018-10-14 23:35:05 -04:00
Adomas Venčkauskas
f7e9067660 Fix imports with missing attachments not closing progress window. Closes #1583 2018-10-12 13:48:20 +03:00
Dan Stillman
6bf31b274f Update locales from Transifex and merge new English strings 2018-10-10 21:53:03 -04:00
Dan Stillman
00a680b692 Clean up Mac Word permission error text 2018-10-10 21:47:38 -04:00
Dan Stillman
1e3608e82e Add zotero://select support for collections
zotero://select/(library|groups/:groupID)/collections/:collectionKey
2018-10-10 21:38:10 -04:00
Dan Stillman
2d38a0102c Show "Find Available PDFs" even if non-regular items are selected 2018-10-10 21:38:10 -04:00
Dan Stillman
33a7cc57ea Fix popup when no items are eligible for "Find Available PDFs" 2018-10-10 21:38:10 -04:00
Adomas Venčkauskas
e0630d16c2 Add i18n strings for the Mac Word SB Permission dialog 2018-10-10 15:51:00 +03:00
Adomas Venčkauskas
1beab1d3a7 Don't attempt to fetch daySuffixes in Connector/Bookmarklet 2018-10-10 14:25:24 +03:00
Dan Stillman
bd5fca3c23 Skip empty tags from connector 2018-10-10 06:03:41 -04:00
Adomas Venčkauskas
c65ca34afe Permit /connector/delaySync for the bookmarklet 2018-10-10 12:41:16 +03:00
Dan Stillman
ab27dd154e Fix status indicator for successful PDF retrieval in progress window 2018-10-09 18:24:53 -04:00
Dan Stillman
f6448c5de4 Update locales from Transifex 2018-10-09 17:51:05 -04:00
Dan Stillman
be8db4fc50 Don't show progress window for PDF recognition if only one file 2018-10-08 02:46:13 -04:00
Dan Stillman
1b9811c31d Fix test failures after 18f79f9796 2018-10-06 01:38:32 -04:00
Dan Stillman
7630a8a054 Update locales from Transifex and merge new English strings 2018-10-06 00:32:38 -04:00
Dan Stillman
18f79f9796 Use progress dialog for PDF retrieval 2018-10-06 00:22:57 -04:00
Dan Stillman
a2f13c9043 Allow setting custom status line and hiding Minimize in progress dialog 2018-10-06 00:16:15 -04:00
Dan Stillman
4a6501c198 Update comments for PDF retrieval functions 2018-10-05 01:57:13 -04:00
Martynas Bagdonas
ae7ef109b7 Add universal progress queues (#1573) 2018-10-05 01:56:46 -04:00
Adomas Ven
b6065a7af6 Changes for bookmarklet update to current codebase (#1579) 2018-10-04 04:16:31 -04:00
Martynas Bagdonas
ec5424d5ae Follow meta redirects and use the final URL when processing documents (#1568) 2018-10-03 22:24:39 -04:00
Adomas Venčkauskas
a59ce2c343 Remove old style conversion code 2018-10-03 15:48:27 +03:00
Dan Stillman
e57e297156 Update submodules 2018-09-26 19:00:05 -04:00
Dan Stillman
a97bbc6ab2 Update locales from Transifex 2018-09-26 18:59:01 -04:00
Dan Stillman
3a8fd4d942 Fix additional translatorCache problems at startup 2018-09-25 06:24:17 -04:00
Dan Stillman
10ca281c47 Update locales from Transifex 2018-09-23 02:45:40 -04:00
Dan Stillman
d899134e7c Automatically delay between PDF retrieval requests to the same domain
Delay requests to the same domain by 1 second, respect a Retry-After
header if present for 429 and 503, and delay for 10 seconds on 429 or
5xx otherwise.
2018-09-22 04:03:25 -04:00
Dan Stillman
536c07e9f4 Pass URL to Zotero.HTTP.UnexpectedStatusException
This allows the URL to be retrieved at .url in the thrown error.
2018-09-22 04:03:25 -04:00
Dan Stillman
b25d2d9c56 Update Zotero.HTTP.request() documentation 2018-09-22 04:03:25 -04:00
Dan Stillman
b782120840 Add followRedirects: false option to Zotero.HTTP.request()
Currently only .status and .getResponseHeader() (for getting 'Location')
are available in the returned object, but we could make the body
available if necessary.
2018-09-22 04:03:25 -04:00
Dan Stillman
b8db83af08 Split out a couple helper functions for PDF retrieval 2018-09-21 21:12:15 -04:00
Dan Stillman
c6a2af7ab5 Use 'load' instead of 'pageshow' in Zotero.HTTP.loadDocuments()
This seems to fix snapshots in Twitter, which need to wait for a
JS-based self-redirect [1].

[1] https://blog.twitter.com/engineering/en_us/topics/insights/2018/twitter_silhouette.html
2018-09-21 21:12:15 -04:00
Philipp Zumstein
2957db2aa1 Delete two duplicate switch cases (#1569) 2018-09-14 17:01:47 -04:00
Dan Stillman
f4ac511b50 Copy items across libraries in batches of 100
This will hopefully fix failures when copying huge numbers of items.
2018-09-14 04:14:08 -04:00
Adomas Venčkauskas
0cb683ab18 Ensure we don't maintain document sessions across different doc processors 2018-09-10 08:40:48 +03:00
Maecenas Li
dd9ee66212 Add support for marginnoteapp:// URI protocol (#1567)
https://forums.zotero.org/discussion/comment/316070/#Comment_316070
2018-09-08 06:01:02 -04:00
Dan Stillman
d8b2d24524 Better fix for invalid file localUrl in Mendeley DB 2018-09-07 01:22:09 -04:00
Dan Stillman
3f2ee35d59 Tweak debug line 2018-09-06 17:22:03 -04:00
Dan Stillman
6b7c161bce Update locales from Transifex and merge new English strings 2018-09-06 16:57:20 -04:00
Dan Stillman
7cf466a0b6 Save OA PDFs when the DOI resolves directly to the file 2018-09-06 16:44:11 -04:00
Dan Stillman
18821984e0 Accept a Blob as input in Zotero.File.putContentsAsync() 2018-09-06 16:44:11 -04:00
Dan Stillman
36afb34cf6 Show warning if Zotero is started from Mac disk image
Doing so can cause the Word for Mac extension not to load, and possibly
other problems.

https://forums.zotero.org/discussion/73470/word-could-not-communicate-with-zotero-with-three-full-uninstalls-and-reinstalls
2018-09-06 00:53:50 -04:00
Dan Stillman
4b64cc312c Handle possible null file URL in Mendeley import 2018-09-05 14:41:13 -04:00
Dan Stillman
01e2f32d03 Updates locales from Transifex 2018-09-04 14:59:43 -04:00
Dan Stillman
03a15d47af Remove redundant OA PDF search in Add Item by Identifier 2018-09-04 14:15:25 -04:00
Adomas Venčkauskas
66ed33b9fb Fix must insert citation prompt in new doc with copied fields. Closes #1564 2018-09-04 16:37:46 +03:00
Dan Stillman
6061bbdfd8 Update locales from Transifex 2018-08-30 21:35:49 -04:00
Dan Stillman
05d8e7a8a3 Check Extra field for DOIs for PDF retrieval
E.g., a book with a DOI in Extra

Closes #1551
2018-08-30 16:52:24 -04:00
Adomas Venčkauskas
944188fa63 Fix RTF dontUpdate=true citations updating on LO. Closes #1561 2018-08-30 10:55:54 +03:00
Dan Stillman
5a008cf861 Don't save collections from Scaffold
Fixes zotero/scaffold#60
2018-08-27 17:45:42 -04:00
Dan Stillman
d0af622490 Add localized strings for Google Docs download warning 2018-08-27 17:14:22 -04:00
Dan Stillman
4eb4490723 Don't limit PDF retrieval to dev builds 2018-08-25 17:00:53 -04:00
Dan Stillman
862ac5ab40 Handle missing 'attachments' array in /connector/saveItems 2018-08-25 16:55:13 -04:00
Dan Stillman
9e1b9937e1 Update locales from Transifex and merge new English strings 2018-08-25 16:55:12 -04:00
Dan Stillman
e7e681c113 Set retrieved OA PDF title to reflect version
"Full Text", "Accepted Version", or "Submitted Version"
2018-08-25 16:48:17 -04:00
Dan Stillman
1860b57802 Update locales from Transifex and merge new English strings 2018-08-21 22:45:18 -04:00
Dan Stillman
abc4cd9dfe Clear translatorCache table when resetting translators 2018-08-21 22:36:20 -04:00
Dan Stillman
91a3c27235 Fail schemaUpdatePromise and show alert on initialization failure
This will also cause the word processor plugin to throw an error isntead
of hanging if there was a problem loading translators or styles.

Closes #1557
2018-08-21 22:36:20 -04:00
Dan Stillman
475bd17b71 Fix 'title is null' error
Not sure why item.title would ever be null, but this was in a user's
error report and seemed to be causing a restart error.
2018-08-21 22:36:20 -04:00
Dan Stillman
1c8607d661 Update locales 2018-08-20 23:01:11 -04:00
Dan Stillman
6fe4c84b3d Fix "Checking (null) items" for PDF retrieval 2018-08-20 17:26:37 -04:00
Adomas Venčkauskas
0fd28959bf Ensure the doc prefs window is smaller than screen height
Dynamically resizes the style picker up to the window height of 700px
2018-08-20 12:42:45 +03:00
Dan Stillman
8d5338db2d Additional debug output for setting base directory 2018-08-19 22:49:09 -04:00
Dan Stillman
4f98ad9567 Vacuum database automatically after clearing full-text index 2018-08-19 04:06:04 -04:00
Dan Stillman
926e2f7317 Reduce memory consumption of full-text index clear 2018-08-19 04:05:38 -04:00
Dan Stillman
18021d1aeb Disable rebuild/clear buttons in Search prefs while in progress 2018-08-19 03:51:00 -04:00
Dan Stillman
c9e80319bb Support "Show File" on evicted iCloud Drive files 2018-08-19 02:41:45 -04:00
Dan Stillman
ec76575645 Trigger downloading and opening of evicted iCloud Drive files 2018-08-19 01:44:49 -04:00
Dan Stillman
e48a1a2abb Remove lots of old Zotero for Firefox code
We still run tests in Firefox, so not everything can be removed.
2018-08-17 03:17:08 -04:00
Dan Stillman
c2ca70055c Merge branch 'electron' 2018-08-16 19:16:46 -04:00
Dan Stillman
6d898e4774 Add extra debug logging for file merging 2018-08-16 17:09:14 -04:00
Martynas Bagdonas
7a3dc61892 Add an utility to fix author name capitalization (#1550) 2018-08-16 05:22:39 -04:00
Dan Stillman
1ffc34a8ac Don't try to retrieve PDFs when importing from a file 2018-08-16 05:21:00 -04:00
Dan Stillman
6d5abb55f0 Fix regression from 9fec063f4e 2018-08-16 05:20:03 -04:00
Adomas Venčkauskas
50a4bae945 Remove unused ZP.addItemFromPage() 2018-08-16 11:48:48 +03:00
Adomas Venčkauskas
044b08c9af Fix broken DataDirectory.removeSubdirectory() (regression 7f2d83a6) 2018-08-16 11:48:48 +03:00
Adomas Venčkauskas
2cf940763f Remove usage of HTTP.loadDocuments() in electron shared code 2018-08-16 11:48:48 +03:00
Dan Stillman
8d105a7b18 Update locales from Transifex and merge new English strings 2018-08-16 04:12:30 -04:00
Dan Stillman
9fec063f4e Tweak display of attachment status lines in connector for PDF retrieval
Generally speaking, don't show a status line unless we have reason to
believe we'll be saving something.
2018-08-16 04:04:20 -04:00
Dan Stillman
ce5be0bc75 Automatically download open-access PDFs when saving via the connector
If there's no translated PDF or the translated PDF fails and the item
has a DOI, check Zotero's Unpaywall mirror for possible sources and try
to download one of those.

Unlike with "Add Item by Identifier" and "Find Available PDF" in the
item context menu, this does not try the DOI/URL page, since it would
result in more data leakage and most of the time you'd be saving from
the DOI page already. We could consider offering it as an option, but
for it to be useful, you'd have to have an institutional subscription,
be on-campus or connected via VPN (for now), and be saving from
somewhere other than the main page.

A new connector endpoint, sessionProgress, takes the place of
attachmentProgress. Unlike attachmentProgress, sessionProgress can show
new attachments that have been added to the save, and with a little more
work should also be able to show when a parent item has been recognized
for a directly saved PDF.

This also adds support for custom PDF resolvers, available to all PDF
retrieval methods. I'll document those separately.

Closes #1542
2018-08-16 00:57:22 -04:00
Dan Stillman
7a646a292b Pass response data to Zotero.WebProgressFinishListener callback
Pass an object with 'status' and 'contentType' if available
2018-08-16 00:57:22 -04:00
Dan Stillman
bcf94942f9 Don't include "Zotero" in User-Agent sent to non-Zotero sites 2018-08-16 00:57:22 -04:00
Dan Stillman
65bdef42a1 Fix double PDF when adding arXiv paper with Add Item by Identifier 2018-08-16 00:57:22 -04:00
Dan Stillman
f5beb5be7d Update locales from Transifex 2018-08-15 21:32:12 -04:00
Dan Stillman
e38725cf65 Localize new PDF retrieval strings
Closes #1541
2018-08-15 21:32:12 -04:00
Adomas Venčkauskas
850d2d2977 Expose private Attachments functions for electron 2018-08-15 17:11:30 +03:00
Adomas Venčkauskas
01f3159b2f Ensure all failing integration tests are fixed (8d8410ff). Closes #1546 2018-08-14 11:40:19 +03:00
Dan Stillman
11f8bd20d6 Fix title display when installing style via connector (broken in 0f1687f1c7) 2018-08-13 18:17:35 -04:00
Martynas Bagdonas
51996b537d Force description when submitting a recognizer report (#1547) 2018-08-13 11:14:18 -04:00
Dan Stillman
5ad2a83b61 Fix possible restart error with invalid Quick Copy setting
If you had Quick Copy set to a missing translator, had a site-specific
Quick Copy setting, and loaded a page in the browser, the next click on
an item would result in a restart error.
2018-08-12 19:06:28 -04:00
Dan Stillman
6112002003 Fix breakage from ea8b15a44a 2018-08-12 04:09:26 -04:00
Dan Stillman
6d299f85f8 Merge new English strings 2018-08-12 02:45:55 -04:00
Dan Stillman
ff8df06c75 Improve error messages on certificate and connection errors
- Show a clearer message on a certificate error that includes the
  underlying error, which should make debugging much simpler. (No more
  checking in a browser and hoping it's the same connection.)
- Mention proxy server in message on startup proxy-check failure
- Include link to connection-error KB page on sync connection failure

Closes #1191
Closes #1513
2018-08-12 02:38:44 -04:00
Philipp Zumstein
ea8b15a44a Replace getTargets with getStatementsMatching (#768)
As suggested in the same file `getTargets` is deprecated since 2.1
2018-08-11 14:36:43 -04:00
Dan Stillman
a97abed533 Extra logging for restart error 2018-08-11 06:29:09 -04:00
Dan Stillman
d278437a81 Only try 6 URLs from Unpaywall for a given DOI
Hard to imagine needing more than that many tries, and some DOIs appear
to have a huge number of URLs by mistake.
2018-08-11 06:17:28 -04:00
Dan Stillman
7cf6634764 Fix progress window hang if Find Available PDF fails 2018-08-10 17:36:04 -04:00
Adomas Venčkauskas
0f1687f1c7 Fix invalid document citation style recovery. Closes #1543 2018-08-10 11:00:07 +03:00
Dan Stillman
1274d5a4fe Updates locales from Transifex and merge new English strings 2018-08-09 15:56:15 -04:00
Dan Stillman
c5890a2479 Remove unused WebDAV methods 2018-08-09 15:45:15 -04:00
Dan Stillman
276bb99fc9 Don't percent-encode periods in usernames in WebDAV requests
For some reason nsIURL encodes periods in usernames, even though RFC3986
says not to [1]. (It also says servers should normalize them, and most
seem to, but apparently not all [2].)

[1] https://tools.ietf.org/html/rfc3986#section-2.3
[2] https://forums.zotero.org/discussion/73127/zotero-will-convert-the-into-2e-in-the-name-of-the-webdav
2018-08-09 15:45:15 -04:00
Dan Stillman
168bc78f1a Show error icon at startup if proxy check fails
If a proxy is required and we can't connect to S3, show the (sync) error
icon. For SSL certificate errors, which are the most common cause of
this, the panel includes a link to the SSL cert troubleshooting page.
2018-08-09 15:45:15 -04:00
Dan Stillman
0f19872a8d Show 'https://' in SSL certificate error message 2018-08-09 06:10:55 -04:00
Dan Stillman
2b6d24bc75 Only show "Find Available PDF" in dev builds 2018-08-09 04:39:28 -04:00
Dan Stillman
c7076ab935 Add Zotero.isDevBuild 2018-08-09 04:36:36 -04:00
Dan Stillman
bb46d72fd1 Add DB integrity check repair step for TEXT userID
Follow-up to 26056c87f1
2018-08-09 04:18:30 -04:00
Dan Stillman
c45c9cc23b Fix error backing up database
Broken since f7e411d561. This affected automatic backups and DB
integrity check repairs (which do a backup first).
2018-08-09 04:17:45 -04:00
Dan Stillman
63d8d57f83 Add userID fix to earlier schema update
Since the userID is used in relations updates moving from Zotero 4 to 5
2018-08-09 03:42:28 -04:00
Dan Stillman
26056c87f1 Fix non-integer userID in settings table
A submitted database had a text userID with a trailing "A0. Not sure how
that happened -- it doesn't appear to be possible in current code -- but
it caused group permissions not to be properly synced.
2018-08-09 03:30:47 -04:00
Dan Stillman
8d8109dbac Rename/move some of the PDF retrieval functions 2018-08-07 15:40:52 -04:00
Dan Stillman
b00704f54c Add context-menu icon for "Find Available PDF" 2018-08-07 15:39:31 -04:00
Dan Stillman
43ba06fbc5 Update locales from Transifex and merge new English strings 2018-08-07 04:58:15 -04:00
Dan Stillman
679a6d5cc7 PDF retrieval improvements
- Add the ability to extract a PDF URL from a given webpage using the
  translation framework
- Add the ability to get open-access PDFs from landing pages from
  Unpaywall data in addition to direct PDF URLs
- Use the above functionality to improve PDF retrieval for "Add Item by
  Identifier"
- Add "Find Available PDFs" option to the item context menu to retrieve
  PDFs for existing items from the DOI or URL page or using Unpaywall
  data. The option appears for single items with a DOI or URL and no PDF,
  and it always appears when selecting multiple top-level items (but
  skips ineligible items).

PDF extraction from DOI/URL pages will currently only work with
unauthenticated access (i.e., on-campus or VPN, but not via a web-based
proxy).

Supersedes and closes #948
2018-08-07 04:58:15 -04:00
Adomas Venčkauskas
51e181cb81 Fix some XPCOM Zotero breakage from previous commits 2018-08-06 12:24:17 +03:00
Sylvester Keil
a8dce25cef
Deprecate Z.File.getBinaryContents 2018-08-03 22:37:09 +02:00
Sylvester Keil
fa7a330b0e
Use Services.wm getter 2018-08-03 13:29:08 +02:00
Sylvester Keil
ad0c8aad53
Use Z.File.getResourceAsync to load local resources 2018-08-03 13:22:22 +02:00
Sylvester Keil
b0fe7d546d
Make Z.Styles.validate more portable 2018-08-03 13:21:12 +02:00
Sylvester Keil
07464d5c84
Make File.getResource expect full URLs
This change makes is easier to support different URL schemes
when overriding on other platforms.
2018-08-03 10:49:15 +02:00
Sylvester Keil
6fd25419a9
Use Services.io getter 2018-08-02 23:05:17 +02:00
Sylvester Keil
dc688a876f
Keep returning nsIFile from old directory getters 2018-08-02 17:56:57 +02:00
Sylvester Keil
91ddec5bd9
Move lazy, spawn, and serial to Utilities.Internal 2018-08-02 17:20:09 +02:00
Sylvester Keil
95559a0c62
Use Services.io getter 2018-08-02 13:11:15 +02:00
Sylvester Keil
7f2d83a602
Move data dire getters to Z.DataDirectory
Add Z.DataDirectory.getSubdirectory which, optionally, creates
the directory.

Add async Z.DataDirectory.removeSubdirectory and use it for
Z.removeTempDirectory (was sync call before!).
2018-08-02 13:02:28 +02:00
Sylvester Keil
fc8037a83b
Accept strings in File.createDirectoryIfNecessary 2018-08-02 12:52:04 +02:00
Sylvester Keil
e9e6a8313d
Move prviliged public methods to Utilities.Internal
Moving flattenArguments, setFontSize and getAncestorByTagName
2018-08-02 11:59:58 +02:00
Sylvester Keil
caaaed0af1
Move privileged public functions to Z.Utilities 2018-08-01 23:57:02 +02:00
Adomas Venčkauskas
e6d5be755a Move some Utility functions from Zotero to Z.U.Internals 2018-08-01 16:30:17 +03:00
Sylvester Keil
887913de09
Fix use of bluebird's .delay 2018-08-01 11:49:00 +02:00
Sylvester Keil
cc47a3aab5
Use hard-coded list for default script direction 2018-07-30 13:23:54 +02:00
Sylvester Keil
94539ceac5
Do not bind to Zotero.Intl before it has been imported 2018-07-30 13:22:20 +02:00
Sylvester Keil
4a97529b66
Move getLocaleCollation and localeCompare to Zotero.Intl 2018-07-30 12:35:11 +02:00
Sylvester Keil
3a8d04f467
Remove Zotero.localeJoin 2018-07-30 12:33:08 +02:00
Sylvester Keil
143fdd5f2b
Revert "Remove legacy iterator protocol use in Zotero.DB"
Reverting this until we can use Fx60 for testing.

This reverts commit dfe412d448.
2018-07-30 10:18:11 +02:00
Sylvester Keil
2dce5f4842
Import PluralForm.jsm in Zotero.Intl.
PluralForm is not used directly anywhere else.
2018-07-30 10:04:14 +02:00
Sylvester Keil
e24f3414b8
Zotero.intl -> Zotero.Intl
Use upper-case namespace for consitency.
2018-07-30 10:00:53 +02:00
Sylvester Keil
38166d4e05
Add Zotero.intl namespace
Move `Zotero.getString()` and intl init code to `Zotero.intl` to make
it easier to re-use.

Link `Zotero.getString()` to `Zotero.intl.getString()`.

Do not expose `getStringFromBundle`, `pluralFormGet`, and
`pluralFormNumForms` because they are not used.
2018-07-28 21:31:20 +02:00
Sylvester Keil
e8cd4c9338
Use Services.io to access IOService 2018-07-27 16:44:28 +02:00
Sylvester Keil
3f2dd94752
Load schema resources via Zotero.File.getResourceAsync 2018-07-27 15:56:34 +02:00
Sylvester Keil
aa1adc8817
Add Zotero.File.getResourceAsync 2018-07-27 15:56:00 +02:00
Dan Stillman
cd24102681 Update locales from Transifex 2018-07-27 02:03:00 -04:00
Dan Stillman
cdda572728 Support additional data from OA PDF lookup service
Handle an array of objects with 'url' and 'version' rather than just an
array of URLs.

Also:

- Don't throw an error from addOpenAccessPDF() if there's an error from
  getOpenAccessPDFURLs()
- Make addPDFFromURLs() a separate function so URL lookup can be done
  separately from download
2018-07-27 00:55:19 -04:00
Adomas Venčkauskas
c3bdf72f35 Misc nodejs environment compatibility 2018-07-25 17:45:06 +03:00
Adomas Venčkauskas
b62b1968cf Change string throws to Error throws (no stack trace with former) 2018-07-25 17:45:06 +03:00
Dan Stillman
2652fac24b Throw translation error on >=400 status code for doGet()/doPost()
Previously the handler would be called even on error pages, which often
meant that an import translator (e.g., BibTeX) would fail to find
anything on the page and the save popup would just close silently. The
popup will now show an error message as soon as the error occurs.
2018-07-23 07:05:44 -04:00
Sylvester Keil
dfe412d448
Remove legacy iterator protocol use in Zotero.DB 2018-07-19 12:21:01 +02:00
Dan Stillman
85667429a8 Fix 2x icon size in Edit Bibliography dialog 2018-07-18 13:15:09 -04:00
Dan Stillman
1f8cf22a35 Delete group files when deleting group
Fixes #1532
2018-07-15 23:09:34 -04:00
Dan Stillman
8390f30be9 Update citeproc-js to 1.1.210 2018-07-15 09:09:23 -04:00
Sylvester Keil
9737a4d974
Initialize Dates in Electron 2018-07-13 14:03:23 +02:00
Adomas Venčkauskas
28535ac64d Throw proper error in Prefs.get(). Use double-quotes in default prefs 2018-07-11 19:35:14 +03:00
Adomas Venčkauskas
856bbf49ab Remove redundant QueryInterface for PrefBranch2 2018-07-11 16:44:04 +03:00
Adomas Venčkauskas
cb8280f0ff Move Zotero.Prefs into its own file 2018-07-11 15:53:46 +03:00
Sylvester Keil
53522c2cbe Add Zotero.File.getResource for local resources
Use `getResource` in Zotero.Date.init (this turns it into a
synchronous function). Zotero.File.getResource makes it easier
to load local files on platforms that do not support the
`resource://` URLs.
2018-07-11 14:08:45 +03:00
Sylvester Keil
06cb9aff98 Prefer use of Services.appinfo 2018-07-11 13:58:41 +03:00
Sylvester Keil
b2a1977d5a Gecko 16 and later sets topic to 'active' 2018-07-11 13:58:41 +03:00
Sylvester Keil
e406ddc54b Prefer Services.jsm getters for common services 2018-07-11 13:58:41 +03:00
Sylvester Keil
3f026239f1 Remove unused methods
`.getAsyncStatement()` and `.executeAsyncStatement()` are not used
anywhere.
2018-07-11 13:58:41 +03:00
Dan Stillman
99a1ac62c7 Fix a couple cases of open item box field changes not being saved
When clicking directly from an open field to the creator delete button
or a creator type in the creator type menu
2018-07-09 14:54:50 +02:00
Dan Stillman
62e403bc55 Limit OA PDF lookup to dev builds 2018-07-07 13:12:33 +02:00
Brenton M. Wiernik
baafd49b8c Update link to import formats documentation (#1525)
The existing destination has never really been the appropriate page for this dialogue, as it has never actual listed the supported formats.
2018-07-04 21:09:45 +02:00
Dan Stillman
da9537c5e4 Mendeley import: Properly handle "Mendeley Ltd." folder with period
At some point Mendeley seems to have changed the default path to the
data directory on Windows to remove the period, and for people with the
old directory we were linking rather than storing attachment files from
"Downloaded".
2018-07-02 01:06:17 +02:00
Adomas Venčkauskas
c1a9735081 Fix citations updating even after user asks for them not to be updated 2018-07-01 14:23:49 +03:00
Dan Stillman
99584dc918 Import base-directory-relative linked files
Zotero RDF contained 'attachments:' paths when files weren't included
but they weren't imported properly
2018-06-30 09:19:09 +02:00
Brenton M. Wiernik
b4ee2fbd98 Add support for bear:// URI protocol (#1520)
https://forums.zotero.org/discussion/comment/310717#Comment_310717
2018-06-29 02:27:19 +02:00
Adomas Venčkauskas
5425c272b2 Update translation-server-v2 dependent files to be commonJS compatible
Also some minor misc changes to translate.js
2018-06-27 17:31:10 +03:00
Dan Stillman
3aefcdf2d9 Mendeley import: Import folders with parentId of 0 instead of -1
Top-level folders should have a parentId of -1, but at least in one user
report there's a folder with 0.
2018-06-27 02:19:00 +02:00
Dan Stillman
f715c02a66 Throw proper error when collection is moved into one of its descendents 2018-06-26 21:06:11 +02:00
Dan Stillman
3c1cdd57d2 Fix error with nested saved searches containing post-search filters
Addresses #1518
2018-06-26 00:48:08 +02:00
Dan Stillman
cbf63f4e72 Skip blank tags when importing from Mendeley 2018-06-24 20:04:37 +02:00
Dan Stillman
7785b8df14 Restore open-access PDF retrieval for Add Item by Identifier
This reverts commit faa310e0f0.
2018-06-20 17:19:39 -04:00
Dan Stillman
faa310e0f0 Temporarily disable Add Item by Identifier open-access PDF retrieval
Not going out in 5.0.52
2018-06-20 17:07:11 -04:00
Dan Stillman
a9cd47dc3f Avoid hang on invalid attachment during import
E.g., if a .pdf is really an HTML file, we try to load it in a hidden
browser (because we properly detect the content type), but then the .pdf
extension causes the hidden browser to launch it via the OS and the
hidden browser never finishes loading it. This adds a 5-second timeout
to abort the process.
2018-06-19 18:26:34 -04:00
Dan Stillman
2d6332212c Make attachment post-process failures non-fatal
This is generally just detecting the character set and/or indexing, so
it's not the end of the world if it fails.
2018-06-19 18:25:53 -04:00
Dan Stillman
2a7f31813e Disable JS in hidden browser when indexing HTML files without a charset
This could cause imports that linked to HTML files to hang, possibly
from network requests that failed.
2018-06-18 20:19:02 -04:00
Dan Stillman
9b9fe098d9 Fix display of error on corrupted DB 2018-06-17 18:08:33 -04:00
Dan Stillman
4554998798 Add Zotero.File.moveToUnique(), replacing Zotero.moveToUnique()
New function takes string paths instead of nsIFile instances
2018-06-17 18:08:03 -04:00
Dan Stillman
f3a62f5a63 Automatically download open-access PDFs via Add Item by Identifier
When the associated-files pref is enabled, Add Item by Identifier uses a
Zotero Unpaywall mirror to find available open-access PDFs. No details
about the contents of searches are logged.
2018-06-16 14:35:44 -04:00
Dan Stillman
72481b072e Clean up extra files from Mendeley imports
Follow-up to cdee741a6
2018-06-16 03:07:46 -04:00
Dan Stillman
cdee741a6d Mendeley import: Fix duplicate PDF copying for PDFs in Downloaded
For each PDF with an associated URL in the Downloaded directory, we were
copying all files in the directory (!) to the attachment's storage
directory. (Zotero imports always have files in separate directories,
and this was a function used to save both single files and HTML
snapshots.)

We'll clean up the extra files in a separate step.
2018-06-16 01:51:37 -04:00
Dan Stillman
0383f104dd Fix "Import into new collection" option when handling importable file 2018-06-14 16:41:33 -04:00
Dan Stillman
d38d55e2b4 Mendeley import: Don't use single transaction 2018-06-13 10:27:26 -04:00
Dan Stillman
5ddbe433b9 Fix Backoff and Retry-After header parsing 2018-06-12 15:17:46 -04:00
Dan Stillman
d4c201fbc0 Correct Mendeley data dir path on Windows 2018-06-12 07:04:32 -04:00
Dan Stillman
d4097d90f6 Update locales from Transifex and merge new English strings 2018-06-12 06:23:57 -04:00
Dan Stillman
e67db436c6 Mendeley import: Add link to support page on encrypted DB
Also localize the name of the collection created during import
2018-06-12 06:16:59 -04:00
Dan Stillman
cfbb3d3d47 Mendeley import: Fix "Collection undefined not found" error
If a folder appeared in the DocumentFolders table but not in
Folders/RemoteFolders, it caused an error.
2018-06-11 12:16:09 -04:00
Dan Stillman
bd5f2525dc Add star tag for favorite items 2018-06-11 09:44:01 -04:00
Dan Stillman
2831e8be3e Mendeley import: Fix "keys is undefined" error
An error would occur if a document existed in RemoteDocuments but not
Documents.
2018-06-10 02:50:52 -04:00
Dan Stillman
8547dedca9 Add debug output for unrecognized Mendeley DB issue 2018-06-09 02:26:12 -04:00
Dan Stillman
46fc28dc16 Remove unused conditional 2018-06-09 02:13:00 -04:00
Dan Stillman
06a819bf34 Fix Import from Clipboard breakage 2018-06-09 02:09:46 -04:00
Dan Stillman
7f64c6803a Update locales from Transifex 2018-06-08 06:21:46 -04:00
Dan Stillman
3c70dee5c1 Create import collection by default if there are non-trash items
Follow-up to 7494e4d88c, which only checked for collections
2018-06-08 05:57:20 -04:00
Dan Stillman
337144a5eb Mendeley import: Reuse existing collections
If "Place imported collections and items into new collection" is
unchecked, previously imported collections will be reused when they're
in the right place in the hierarchy rather than creating new ones.
2018-06-08 04:52:18 -04:00
Dan Stillman
7494e4d88c Don't create import collection by default if no collections in library
If the selected library doesn't have collections, "Place imported
collections and items into new collection" will be unchecked in the
import wizard.
2018-06-08 02:44:13 -04:00
Dan Stillman
2b49e94a61 Fix sync breakage from 78e87a351 2018-06-07 17:18:28 -04:00
Dan Stillman
854cb05883 Mendeley import: Support repeated imports without duplicating items
Existing items are overwritten with new data (or skipped in the case of
file attachments).

Addresses #1451
2018-06-07 06:37:50 -04:00
Dan Stillman
835bdf6941 Merge new English strings 2018-06-06 01:58:09 -04:00
Dan Stillman
d98e89cf26 Add import option for creating a new collection
Use the new wizard for all imports (even if no Mendeley DB), and add a
page with a "Place imported collections and items into new collection"
option. If deselected, collections are added to the library root.
2018-06-05 22:39:23 -04:00
Dan Stillman
4008848c64 Mendeley import: Create imported_url attachments when possible
If there's a single PDF file and a single PDF URL and the file exists,
make an imported_url attachment instead of separate file and linked_url
attachments.

Addresses #1451
2018-06-05 19:57:28 -04:00
Dan Stillman
024b428fe6 Mendeley import: Add "Other…" button for selecting another DB
E.g., for selecting a DB from a backup

Addresses #1451
2018-06-05 19:57:20 -04:00
Dan Stillman
17f2025c53 Fix import into selected library from wizard 2018-06-05 08:39:17 -04:00
Dan Stillman
6ac65373a3 Mendeley import: Look for Downloaded files relative to DB if not found
Addresses #1451
2018-06-05 08:30:14 -04:00
Dan Stillman
2939b3ae95 Merge branch 'mendeley-import' (#1451) 2018-06-05 07:52:12 -04:00
Dan Stillman
0f4e5ef508 Mendeley import
Accept Mendeley SQLite databases via File → Import… and perform a
direct import, including collections, timestamps, notes, attachments,
and extracted annotations.

When a Mendeley database is present, File → Import… shows a wizard that
lets you choose between a file and Mendeley for the source, and choosing
the latter shows a list of available databases in the Mendeley data
directory.

Known fields that aren't valid for a type are stored in Extra.

Files in the Mendeley 'Downloaded' folder are stored. Files elsewhere
are linked.
2018-06-05 07:52:01 -04:00
Dan Stillman
a894404ad3 Update locales from Transifex 2018-06-05 06:18:52 -04:00
Dan Stillman
c5ba2e55f3 Add a debug line before submitting output
This will help clarify whether the person waited to submit or just
submitted while stuff was happening.
2018-06-04 19:58:10 -04:00
Dan Stillman
f7e411d561 Add support for databases in other directories
Previously you could use Zotero.DBConnection to open another database in
the data directory, but not one stored elsewhere in the filesystem. This
allows an absolute path to be passed instead. Various operations
(backups, corrupt DB recovery, pragma commands) are disabled for
external databases.
2018-06-02 04:10:39 -04:00
Dan Stillman
603388c79d Add missing quote to error 2018-06-02 02:27:24 -04:00
Adomas Venčkauskas
547f1c29e3 Integration: Fix non-existent session errors preventing displayError from working 2018-06-01 23:26:24 +03:00
Dan Stillman
9220b2d9c2 Fix inconsequential bug in Zotero.MIME.sniffForMIMEType()
`undefined` was being passed as an argument to slice(), but 0 is the
only offset that's used anyway, and that's what happens if you pass
`undefined`.
2018-05-27 21:23:38 -04:00
Dan Stillman
7271fdf6b7 Add Zotero.Sync.Runner.delayIndefinite()
Delays syncing until the returned function is run
2018-05-27 21:23:38 -04:00
Dan Stillman
86b94ae713 Add optional 'db' parameter to Zotero.DB.tableExists()
To check attached databases
2018-05-27 21:23:38 -04:00
Dan Stillman
52737ec694 Set locking_mode=EXCLUSIVE only for main database in Zotero.DBConnection
Otherwise attached databases are also exclusive
2018-05-27 21:23:38 -04:00
Dan Stillman
6ff51103f5 Make Zotero.ItemFields.getFieldIDFromTypeAndBase() work on non-base fields
This previously returned false if a non-base-mapped field was passed,
even if the field was valid for the given item type. It now returns the
passed field as long as the field is valid for the type, which matches
the behavior for base fields.
2018-05-27 21:23:38 -04:00
Dan Stillman
44fd598699 Load creators if needed to update display title in Items._loadItemData() 2018-05-27 21:23:38 -04:00
Dan Stillman
a714f06670 Use Zotero.warn() for item.setCreator() warning 2018-05-27 21:23:38 -04:00
Dan Stillman
78e87a351c Handle relations property in collection fromJSON() 2018-05-27 21:23:38 -04:00
Dan Stillman
3241faf503 Fix tag saving for intercepted imports from connector
Save tags in intercepted files as automatic tags
2018-05-23 21:16:18 -04:00
Adomas Venčkauskas
2f620c5f91 Fix corrupt bibliography handling. Closes #1503 2018-05-22 13:28:13 +03:00
Dan Stillman
763d7dec75 Allow Link header for translation-server responses via CORS 2018-05-15 21:17:45 -04:00
Dan Stillman
4acd178819 Fix user-agent handling for faked UAs from connector 2018-05-15 20:18:41 -04:00
Adomas Venčkauskas
6960b7f86e Fixes the refresh error after style reinstall. Closes #1500 2018-05-15 14:14:07 +03:00
Dan Stillman
81ab8f7b20 Allow header object instead of just content type in server responses 2018-05-13 04:27:27 -04:00
Dan Stillman
05843bb093 Fix base fields in connectorTypeSchemaData.js 2018-05-10 02:26:44 -04:00
Dan Stillman
5751838a3d Update submodules 2018-05-09 04:20:41 -04:00
Dan Stillman
20dd81729b Update locales from Transifex 2018-05-09 04:18:23 -04:00
Dan Stillman
4a7aad03c4 Fix text() brokenness, and remove change warning fo attr()/text()
1) text() wasn't handling the index property.

2) This removes the warning that attr()/text() no longer no require a
document as the first argument, because there's no reason to prevent
translators from being able to pass an element. It would require
rewriting various translators unnecessarily and make certain patterns
more verbose (because you'd need to match based on global scope in each
selector).

It won't be necessary to pass a Document once we remove 4.0 support and
the global attr()/text() are always available, so we can add a warning
for that then.

Fixes zotero/translators#1647
2018-05-08 20:33:13 -04:00
Dan Stillman
90677ae158 Add tick@2x.png 2018-05-08 19:17:35 -04:00
Adomas Venčkauskas
23224f6093 Fix 'idx is undefined' error in integration missing item handler 2018-05-07 15:23:07 +03:00
Martynas Bagdonas
9165a0247f Fix PMID and arXiv identifiers extraction (#1498) 2018-05-07 06:04:11 -04:00
Dan Stillman
e6dbd1ed92 Add PDF Expert support to zotero://open-pdf
Requested here: https://github.com/jlegewie/zotfile/issues/352#issuecomment-386896327
2018-05-06 14:07:23 -04:00
Dan Stillman
5a85d1ac9e Update citeproc-js to 1.1.206 2018-05-05 03:28:59 -04:00
Dan Stillman
9ebe4037a4 Update locales from Transifex 2018-05-05 02:48:08 -04:00
Dan Stillman
7dbfd5ce29 Remove some extraneous lines in Zotero.OpenPDF 2018-05-05 01:54:49 -04:00
Dan Stillman
609657a8e4 Add zotero://open-pdf handler to open PDF at a given page
This is loosely based on the same functionality in ZotFile, but it tries
to do the right thing based on existing Zotero settings: either the new
PDF handler setting in the prefs or the system-default app. The latter
can only reliably be determined on Windows (and this uses ZotFile's
function to read that from the registry), but this tries to figure it
out on macOS and Linux too using the Mozilla handler service. (The
handler service only gets you an app name, not a path, so on Linux we
can try reading mimetypes.list and the like in case someone is using a
system-default okular or evince not in /usr/bin, but that's not yet
implemented.)

This uses the new 5.0 URL format, and a 'page' query parameter instead
of a path component:

zotero://open-pdf/library/items/[itemKey]?page=[page]
zotero://open-pdf/groups/[groupID]/items/[itemKey]?page=[page]

It also accepts ZotFile-style URLs, though, so if you uninstall ZotFile
you should still be able to open those links. ZotFile will need to
accept the new format for new links to work when ZotFile is installed,
since it will override this handler.

This functionality will be necessary for annotation extraction (#1018)
and for imported annotations from Mendeley (#1451).
2018-05-05 00:55:22 -04:00
Adomas Venčkauskas
5b595122b7 Fix inproper cleanup of legacy API word processor plugins 2018-05-02 09:39:08 +03:00
Dan Stillman
81b876a5b2 Don't prompt to upgrade source version of connector 2018-04-29 20:29:01 -04:00
Dan Stillman
17b4c2e98e Show upgrade prompt for connector pings from below a certain version
Shows a prompt once per restart or once per day, whichever is longer,
with an option to not show again for a month. Can be disabled completely
by setting extensions.zotero.showConnectorVersionWarning to false.

Currently prompts for connector versions below 5.0.35.

This is a temporary solution for #1489 until the connector checks and
warns on its own when it's outdated and most people are on a version
that does that (particularly Safari users, who don't auto-upgrade).
2018-04-29 04:53:00 -04:00
Dan Stillman
1649cae956 Update locales from Transifex 2018-04-29 03:54:10 -04:00
Dan Stillman
41590741ba Add level: 0 for libraries in target list for connector 2018-04-27 18:59:11 -04:00
Dan Stillman
a0d85c0673 Don't switch libraries when uneditable in /getSelectedCollection
Follow-up to d0e42a1186
2018-04-27 18:58:12 -04:00
Dan Stillman
d0e42a1186 Automatically switch to My Library on connector save in noneditable view 2018-04-27 18:27:06 -04:00
Dan Stillman
c55b355548 Add "Firefox/[version]" to user agent
Some sites didn't render properly, both in snapshots and in Scaffold,
due to browser sniffing.
2018-04-27 01:38:41 -04:00
Dan Stillman
a4cd45ceb4 Exclude note prefix and suffix when searching
This avoids having "1" match all notes (though really we should be
searching on a plain-text string stored in a separate column).
2018-04-26 02:15:13 -04:00
Dan Stillman
6fb99d2d90 Filter logged server responses
- Limit size to 1500 characters
- Remove collection names in /getSelectedCollection response
2018-04-25 16:02:11 -04:00
Adomas Venčkauskas
6cf11f083b Add a sendToBack connector endpoint for macOS integration window management 2018-04-25 15:42:41 +03:00
Adomas Venčkauskas
ac24ffe636 Always center the integration progress window 2018-04-25 15:42:41 +03:00
Adomas Venčkauskas
aad29a5469 Use XPCOM DOMParser in http integration client to avoid addon conflicts 2018-04-25 15:42:41 +03:00
Adomas Venčkauskas
f69c7d2e2d Fix a http integration client conflict with zotero addons 2018-04-25 14:07:55 +03:00
Adomas Venčkauskas
8b36f33513 Ensure the progress bar is hidden if session initialisation fails 2018-04-24 12:54:08 +03:00
Dan Stillman
e31d706ee4 Date.strToDate: Only check for date.* localized strings in client
Zotero.getString() now exists in the connector, but the expected strings
aren't defined (or needed), so an error is logged.
2018-04-24 05:08:27 -04:00
Dan Stillman
d573a5b639 Merge pull request #1476 from adomasven:feature/connector-doc-integration
Doc Integration Endpoint for the Connector
2018-04-24 01:37:48 -04:00
Adomas Venčkauskas
390b8b2c86 Fix quickformat early dismisal error 2018-04-24 01:37:10 -04:00
Adomas Venčkauskas
387109c1da Don't needlessly regenerate citation IDs 2018-04-24 01:37:10 -04:00
Adomas Venčkauskas
593153eebe Adds a progress bar for non quick-format integration actions
The progress percentage is based on the most recent transaction
(or undeterminate if this is the first session transaction)

Fix undefined function call error
2018-04-24 01:37:10 -04:00
Dan Stillman
1c5e0475f5 Update locales from Transifex 2018-04-23 03:34:07 -04:00
Dan Stillman
33f8fcfafb Fix syncing of saved search changes
Condition changes were only uploaded after every other change + sync
2018-04-22 17:27:33 -04:00
Adomas Venčkauskas
5e5b567782 Add a connector document integration endpoint
Specifically for google docs via the connector, but could potentially be
used for any integration via HTTP or connector.
2018-04-20 13:08:34 +03:00
Dan Stillman
7c093b4fb0 Update locales from Transifex 2018-04-19 04:46:29 -04:00
Martynas Bagdonas
00efd01aaf Ask for description when reporting metadata (#1488) 2018-04-19 04:35:03 -04:00
Dan Stillman
6450d39933 Throw async error from _loadTranslator() 2018-04-19 02:59:41 -04:00
Dan Stillman
3bc08ba10c Change overwritten translator message from error to warning 2018-04-19 02:59:41 -04:00
Martynas Bagdonas
0b4e1f9360 Use the extracted arXiv identifier when recognizing PDF (#1487) 2018-04-19 02:35:20 -04:00
Dan Stillman
b22e496b05 Allow setting CORS allowed origins for translation-server 2018-04-18 16:15:26 -04:00