Commit graph

8007 commits

Author SHA1 Message Date
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