Commit graph

9892 commits

Author SHA1 Message Date
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
a9dcea7b13 Update version 2018-06-16 03:26:00 -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
68d03bc6c3 Update version 2018-06-14 16:42:16 -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
94a0c3ce8c Update version 2018-06-12 15:33:17 -04:00
Dan Stillman
5ddbe433b9 Fix Backoff and Retry-After header parsing 2018-06-12 15:17:46 -04:00
Dan Stillman
79d7c15d4f Update translators 2018-06-12 07:54:20 -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
da5db4cb38 Update node-sass to fix build breakage 2018-06-11 09:01:32 -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
d0087d59d5 Update version 2018-06-07 17:07:08 -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
e46f1d06e0 Update submodules 2018-06-05 05:46:41 -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
2dd0a560b7
Update CONTRIBUTING.md 2018-05-29 17:48:55 -04: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