Commit graph

9016 commits

Author SHA1 Message Date
Dan Stillman
0fb9548326 Fix tags box context menu 2019-11-29 23:28:23 -07:00
Dan Stillman
fbb54a7621 Fix "string is undefined" export error
Regression from a549a64de9
2019-11-29 01:50:43 -07:00
Dan Stillman
4d7062fc43 Remove Zotero.Utilities.Internal.normalize()
It no longer works in Fx60, and String.prototype.normalize() has been
available since 2014, so that should just be used instead.
2019-11-26 23:18:17 -07:00
Dan Stillman
8c7677a009 Fix out-of-memory error syncing collections nested inside each other
It shouldn't be possible for collections to be nested this way, if it
happens, it shouldn't result in an infinite loop.

This removes one of the parent assignments at sync time.
2019-11-26 15:30:43 -07:00
Dan Stillman
8417ad7c80 Add extensions.zotero.reopenPanesOnRestart hidden pref
Closes #1752
2019-11-21 23:51:37 -07:00
Dan Stillman
98a0699f85 Properly disable React tags box in read-only mode 2019-11-15 04:06:21 -05:00
Dan Stillman
cc3f994207 Fix crash when clicking off an open tag to another item
Regression in React tags box
2019-11-13 05:33:16 -05:00
Dan Stillman
5ba5e70b9d Fix overflow issues in React tags box
- Properly truncate and ellipsize long tags
- Show scrollbar if tags go off the bottom of the pane

These both improve on the pre-React version, which didn't properly
truncate tags (at least in the current version, though I think it used
to) and scrolled the Add button off the top of the screen.
2019-11-13 05:31:12 -05:00
Dan Stillman
3e3e0b016d Move "Manage Attachments" to the Tools menu 2019-11-12 18:36:16 -05:00
Dan Stillman
a549a64de9 Remove 'yesterday'/'today'/'tomorrow' parsing from strToDate()
I don't think this ever should've been here. It was added in 2010 but
then added to itembox.xml a couple weeks later in d500b50e2, since
that's where the conversion should happen.

Closes #1749
2019-11-12 02:13:05 -05:00
Dan Stillman
b0eb048bce Fix New Item menu when tag pane is focused
Regression from 5791ffeb1
2019-11-12 01:37:57 -05:00
Dan Stillman
18d7e833c9 Fix open-in-library button in citation dialogs 2019-11-10 16:15:34 -05:00
Dan Stillman
ba92d244aa Add some missing license notices 2019-11-08 06:41:06 -05:00
Dan Stillman
5791ffeb16 Reactify item tags box
Improvements:

- Fixes autocomplete text remaining in field after selection in Fx60
- No more text or icon shifting on select (tested on macOS)

Changes:

- Tags are now selected on mousedown with no active state, as in web
  library

Regressions:

- Tooltip with tag type doesn't appear when hovering over icon
- Pressing Tab after modifying a tag loses focus
- Right-click in textbox shows custom menu instead of default text
  editing context menu (Cut/Copy/Paste)

To-do:

- Switch to this version for note tags box
- Style colored tags in autocomplete drop-down? Sort to top?
- Only show delete button on row hover, as in web library?
2019-11-08 06:41:06 -05:00
Dan Stillman
046637d76b Rename tag selector JSX files
Might as well stick to camel case for filenames
2019-11-08 06:41:06 -05:00
Adomas Venčkauskas
427044dfd2 Fixes UI artifacts in the progress window on macOS
This went unnoticed because the progress window is only ever displayed
in the Google Docs integration
2019-11-07 13:58:18 +02:00
Dan Stillman
6db1fbd13f Fix handling of app downgrade to lower global schema version 2019-10-28 06:12:10 -04:00
Dan Stillman
7c8aed2a34 Update locales from Transifex 2019-10-28 06:12:10 -04:00
Philipp Zumstein
bd1d9dbbf0 Use the label Prog. Language for Computer Program (#1743) 2019-10-28 05:38:55 -04:00
Dan Stillman
d96fe03fa2 Restart after migrating legacy locale prefs
DTDs are loaded based on the initial state of `intl.locale.requested`,
so if `intl.locale.matchOS` was false, we need to restart after
migrating that to keep part of the UI from being in the wrong locale.
(Before zotero/zotero-standalone-build@ced8a0fa63, it would've been
English. After it would probably be the OS locale.)

https://forums.zotero.org/discussion/79673/zotero-5-0-77-beta-has-no-localization-anymore
2019-10-27 03:49:48 -04:00
Dan Stillman
1a66f5e518 More locale detection fixes for Firefox 60
`intl.regional_prefs.use_os_locales` isn't actually equivalent to
`intl.locale.matchOS` -- an empty string for `intl.locale.requested` is,
and that's set by calling `setRequestedLocales(null)`.

Mozilla documentation:

https://firefox-source-docs.mozilla.org/intl/locale.html
2019-10-27 03:10:48 -04:00
Dan Stillman
7ebbc7a0ab Fx60: Fix "Set Up Syncing" link in intro pane 2019-10-27 03:04:41 -04:00
Dan Stillman
84c7c2f1d6
Merge pull request #1744 from bwiernik/extraToCSL-fix
Add 'type' to variables list for extraToCSL
2019-10-26 17:05:33 -04:00
Dan Stillman
c25fbe7c1c Remove all colored tags on selected items if 0 is pressed
Like Thunderbird
2019-10-26 16:45:04 -04:00
Dan Stillman
e64273fb93 Remove libraryID parameter from Zotero.Tags.toggleItemsListTags()
No longer used
2019-10-26 16:45:04 -04:00
Dan Stillman
d8b5f30504 Fix number key assignment of colored tag without any items
Fixes #1464
2019-10-26 16:44:55 -04:00
Brenton M. Wiernik
9f5e95a054 Add 'type' to variables list for
So that it can be stored in Extra as "Type:" instead of "type:"

Replaces https://github.com/zotero/zotero/pull/1688
2019-10-26 13:31:02 -04:00
Dan Stillman
e7d0e282e7 Fix some locale detection bugs after 513f7d6555
- When upgrading from Fx52, don't show "Automatic" for
  a manually selected locale.
- Make sure Zotero.locale is always set to a known language tag
- Fix inconsistencies between Zotero.Locale.availableLocales and
  chrome.manifest
2019-10-26 01:27:14 -04:00
Dan Stillman
5779b60418 Update new item type MRU menu for global schema
And fix a Zotero 5 regression in which the MRU menu wasn't updated when
changing the item type after using the new-item keyboard shortcut
2019-10-25 15:22:54 -04:00
Dan Stillman
c3fd958ed7 Fix keyboard shortcuts
Regression from 54b268fe01
2019-10-25 15:18:28 -04:00
Dan Stillman
d8508415b9 Update French locale 'issue' search condition hack for global schema 2019-10-25 13:43:29 -04:00
Dan Stillman
742d7793d1 Fx60: Fix keyboard handling in items list
nsIDOMWindowUtils::sendKeyEvent() was removed
2019-10-24 14:57:09 -04:00
Dan Stillman
ba15c2b53e Fx60: Mostly fix autocomplete
There's still a bug when autocompleting tags where the value remains in
the new text field.
2019-10-24 04:45:45 -04:00
Dan Stillman
81b1adcfd9 Restore reopening of closed collection and item panes on startup
When we added the View menu pane options in 3aeef69ad3, we removed
automatic reopening of the panes on startup, since the View menu is more
discoverable than the narrow collapsed splitters. Unfortunately we're
now getting many reports of people not knowing where their panes are.
It turns out the View menu pane options in 5.0.76 are actually broken,
so it's not a great test, but enough people are doing this by accident
and enough of them don't seem to be finding the View menu options
(broken or otherwise) that I think it's better to return to reopening
the panes. We can always add a hidden pref to change that behavior, but
no one has complained in years, so it's probably not necessary.
2019-10-24 01:44:47 -04:00
Dan Stillman
52fd91950d Fix deleted item fields reappearing on sync
This was a regression from 4b60c6ca27. The original plan for introducing
new fields was to have them save to the sync cache even if they weren't
supported by the current Zotero version and process them on upgrade, and
so I changed `DataObjectUtilities.patch()` to omit fields that didn't
exist locally when patching the sync cache JSON so they wouldn't be
wiped on the server. That caused this bug where locally deleted fields
were restored on every sync. It's also no longer necessary now that
we decided to just reject unknown fields from saving, so we can just
revert to the previous behavior of blanking out locally missing fields
(with the tweak that fields that are already false or empty in the base
version can be omitted).
2019-10-24 01:22:00 -04:00
Dan Stillman
513f7d6555 Fx60: Fix localization
Also fixes #1690 (at least on Catalina), and possibly other things

general.useragent.locale and intl.locale.matchOS are no longer used.
2019-10-23 19:08:13 -04:00
Dan Stillman
0061ffeb56 Fix Collection Pane and Item Pane toggles in View → Layout 2019-10-23 18:16:43 -04:00
Dan Stillman
df69f99d19 Force Lucida Grande in Quick Format dialog
Follow-up to 86d924df9e

See zotero/zotero-standalone-build@ed5d5efcc for details.
2019-10-21 23:00:19 -04:00
Dan Stillman
b94be726bd Update locales from Transifex 2019-10-21 22:38:38 -04:00
Dan Stillman
d4f682aa88 Merge branch 'fx60' 2019-10-21 21:44:01 -04:00
Dan Stillman
956813ac1f Fix "err is undefined" on 200 response for nonexistent WebDAV file
Fixes #1741
2019-10-20 15:03:18 -04:00
Dan Stillman
dee902c32c Fx60: Remove built_in_addons.json
Moved to zotero-standalone-build in
zotero/zotero-standalone-build@6bab158ea
2019-10-19 15:49:27 -04:00
Dan Stillman
02eef477ff Update locales from Transifex and merge new English strings 2019-10-19 02:53:08 -04:00
Dan Stillman
944ff3485d File-not-found dialog improvements
- Include file path
- Show separate message for linked files mentioning Linked Attachment
  Base Directory
- Link to separate support page for linked files
2019-10-18 23:33:40 -04:00
Dan Stillman
eef25677bf Skip invalid on-demand download attempt if not yet synced
This could happen if an account was set up for syncing but Zotero was
pointed at a new DB and then you double-clicked on a missing attachment.
2019-10-18 18:08:42 -04:00
Dan Stillman
1710eb1c4b Don't store unknown/invalid fields in Extra in non-strict mode
And fix a couple things for if we turn it back on

This code came along with the type/field handling overhaul, but I think
it was originally intended for handling unknown fields during sync
before we decided on strict mode, so it wasn't finished and causes
various problems [1]. It could still be useful for preserving fields
from translators before they're available on items, but the better fix
there is just to add the missing fields, so I'm not sure if we'll end up
needing it.

[1] https://groups.google.com/d/msg/zotero-dev/a1IPUJ2m_3s/hfmdK2P3BwAJ
2019-10-18 03:37:24 -04:00
Adomas Venčkauskas
5913c53509 Proper fix to citation dialog artefacting on macOS. Closes #1720 2019-10-14 13:06:17 +03:00
Adomas Venčkauskas
a7ddb09615 Fix quick format reference panel extra space on Windows 2019-10-14 11:55:15 +03:00
Adomas Venčkauskas
371cef4035 Fx60: Fix quick format dialog artefacting on macOS. Closes #1720 2019-10-14 11:53:21 +03:00
Dan Stillman
6b2c3f2488 Friendlier error message for HTTP timeout, in case it's exposed
This should overridden in checkError() with a localized string,
but for now use a nicer default message.
2019-10-14 01:46:32 -04:00
Dan Stillman
1fe3b6df22 Update locales from Transifex 2019-10-14 01:40:19 -04:00
Dan Stillman
b4121ee6bc Don't show error icon when file sync is cancelled 2019-10-14 01:28:11 -04:00
Dan Stillman
42d570e623 Remove timeout for file sync uploads
Regression from 50b65b3010, and a proper fix a9c10309f7
2019-10-14 00:52:03 -04:00
Dan Stillman
da690a45b1 Make sync upload timeout 60 seconds, not 60 milliseconds 2019-10-10 20:07:55 -04:00
Dan Stillman
af2b6207b2 Decrease batch size and increase HTTP timeout for sync uploads
Some write requests are taking > 30 seconds
2019-10-10 19:15:58 -04:00
Dan Stillman
89672ed0a4 Fix "c1 is undefined" sync CR error 2019-10-09 18:29:04 -04:00
Dan Stillman
4e63cfd40e Update submodules 2019-10-08 01:10:34 -04:00
Dan Stillman
220c9e7cbb Update locales from Transifex 2019-10-08 00:54:04 -04:00
Dan Stillman
efdc4bae19 Fx60: Fix parsing of some default preferences for extensions 2019-10-02 04:56:29 -04:00
Dan Stillman
01e988f07d Don't hard-code 'url' fieldID 2019-09-30 04:43:31 -04:00
Dan Stillman
a9c10309f7 Detect TimeoutException during ZFS S3 upload
We're not currently setting a timeout, so this shouldn't happen, but
someone [1] is getting a timeout error with undefined ms and
NS_BINDING_ABORTED from the channel. It also happened during a /fulltext
upload, so it's not limited to S3, but this fix should give a more
helpful error message for such errors during file syncing.

[1] https://forums.zotero.org/discussion/79286/
2019-09-29 04:18:03 -04:00
Dan Stillman
cf9e5f62f1 Fix test failure due to missing yield 2019-09-29 03:03:38 -04:00
Dan Stillman
8aeb6f7fe4 Mark fields as changed when migrating Extra fields
We're not migrating fields yet, but when we do, I think marking them as
changed will be the safer option. We'll just have to make sure that
conflicts without differences are resolved automatically on all
platforms.
2019-09-28 06:58:54 -04:00
Dan Stillman
96caed8453 More concise version of f827f1e04 2019-09-28 06:12:26 -04:00
Dan Stillman
f827f1e049 Fix error if no colored tags (regression from b310ccb04) 2019-09-27 13:48:28 -04:00
Dan Stillman
b310ccb04e Fix broken tag selector due to leading/trailing whitespace in colored tags
And sanitize colored tags in DB at startup
2019-09-25 17:33:36 -04:00
Dan Stillman
ac255634c5 Fix tag selection in read-only libraries
Reactification mistakenly disabled tag selection instead of just
disabling the context menu options.
2019-09-23 20:09:26 -04:00
Dan Stillman
86d924df9e Force Lucida Grande in Quick Format on non-Retina Macs for Catalina 2019-09-23 03:39:06 -04:00
Dan Stillman
5723683b3b Fix "attachmentSyncedModificationTime must be a number" sync error
https://forums.zotero.org/discussion/79011/zotero-error-report
2019-09-21 01:59:09 -04:00
Dan Stillman
4b7cdddb4a Change apply-to-all checkbox text for some conflicts
Say "Use the [local|remote] version for all remaining conflicts" for
everything instead of saying "Use [local|remote] fields for all
remaining conflicts" for some conflicts.

This also fixes a test failure after 54343c49fb.
2019-09-21 01:35:36 -04:00
Dan Stillman
54b268fe01 Add global parameter to Zotero.Prefs.registerObserver()
This allows Zotero.Prefs to be used instead of Services.prefs for pref
observing in plugins.

Zotero.Prefs.prefBranch was replaced by Zotero.Prefs.rootBranch.
2019-09-20 04:29:02 -04:00
Dan Stillman
82ce5d9742 Fx60: Read in default preferences for extensions
Default prefs are no longer read automatically, so we need to do it
manually. Preferences may not be read before extensions load, so they
should wait for Zotero.Schema.schemaUpdatePromise or
Zotero.uiReadyPromise before initializing.
2019-09-20 04:28:49 -04:00
Dan Stillman
72234e0cb2 Additional debugging for file sync error
"attachmentSyncedModificationTime must be a number"
2019-09-17 17:54:13 -04:00
Dan Stillman
7bcec02326 Remove code to prompt for Firefox extension updates on startup error
And change button from "Check for Update" to "Check for Updates"
2019-09-16 02:27:22 -04:00
Dan Stillman
4b60c6ca27 Type/field handling overhaul
This changes the way item types, item fields, creator types, and CSL
mappings are defined and handled, in preparation for updated types and
fields.

Instead of being predefined in SQL files or code, type/field info is
read from a bundled JSON file shared with other parts of the Zotero
ecosystem [1], referred to as the "global schema". Updates to the
bundled schema file are automatically applied to the database at first
run, allowing changes to be made consistently across apps.

When syncing, invalid JSON properties are now rejected instead of being
ignored and processed later, which will allow for schema changes to be
made without causing problems in existing clients. We considered many
alternative approaches, but this approach is by far the simplest,
safest, and most transparent to the user.

For now, there are no actual changes to types and fields, since we'll
first need to do a sync cut-off for earlier versions that don't reject
invalid properties.

For third-party code, the main change is that type and field IDs should
no longer be hard-coded, since they may not be consistent in new
installs. For example, code should use `Zotero.ItemTypes.getID('note')`
instead of hard-coding `1`.

[1] https://github.com/zotero/zotero-schema
2019-09-16 02:27:22 -04:00
Dan Stillman
d394db61e5 Change 'dontCache' option to 'noCache' in HTTP.request() 2019-09-16 01:28:57 -04:00
Dan Stillman
ddf2a6a116 Don't mock HTTP requests for resource:// or chrome:// URLs 2019-09-16 01:28:35 -04:00
Dan Stillman
cb11e5a3e0 Fix HTTP.request() status of 0 on connection interruption
`status` was being set to undefined instead of 0, likely in a regression
from b78212084.
2019-09-16 01:27:47 -04:00
Dan Stillman
50b65b3010 Set default HTTP.request() timeout to 30 seconds 2019-09-16 01:27:42 -04:00
Dan Stillman
7aa68a0f75 Update MIME.getMIMETypeFromURL() for non-Bluebird HTTP.request() 2019-09-16 01:27:36 -04:00
Dan Stillman
e8dd1f7824 Test updates for newer Sinon 2019-09-16 01:27:30 -04:00
Dan Stillman
ca7217cff7 Add HTTP cancellation support to sync runner 2019-09-16 01:27:26 -04:00
Dan Stillman
25e34b7b99 Update WebDAV request timeouts for HTTP.request() auto 5xx retry 2019-09-16 01:27:18 -04:00
Dan Stillman
dc60e5f840 HTTP.request() improvements
- Move 5xx retries and connection checking out of the sync API client
  and into HTTP.request() so that they apply to all requests. 429 handling
  remains in the API client, since not all callers necessarily want to
  handle that the same way. Callers can still handle 5xx themselves by
  including the relevant 5xx status codes in `successCodes` or by passing
  `errorDelayMax: 0`.
- Add `cancellerReceiver` option, which is a callback that receives a
  function that will cancel the request, whether it's an active request
  or an automatic delay before a 5xx retry.

This also updates Sinon to 7.3.2.
2019-09-16 01:26:34 -04:00
Dan Stillman
e25786e74c Update locales from Transifex and merge new English strings 2019-09-16 01:20:56 -04:00
Dan Stillman
38d031ecbe Log stack trace from Zotero.warn() 2019-09-16 00:52:32 -04:00
Dan Stillman
f292d9c030 Clarify translator/style repository update modes 2019-09-16 00:51:33 -04:00
Dan Stillman
82b7cae69a Remove code to prompt for Firefox extension updates on startup error
And change button from "Check for Update" to "Check for Updates"
2019-09-16 00:48:34 -04:00
Dan Stillman
f04f186396 Add missing yield in sync code 2019-09-16 00:47:45 -04:00
Dan Stillman
54343c49fb Fix "getNote() can only be called on notes and attachments" CR error
This bug may be as old as the sync system itself. It could occur if
there were conflicts for both a note and a regular item in the same
batch.
2019-09-16 00:39:06 -04:00
Dan Stillman
725e6e779e Add debugParams option to DB.query() to disable parameter logging
Allow logging of queries without including very large parameter values
2019-09-16 00:38:18 -04:00
Dan Stillman
a85d707226 Fix double progress meter in DB upgrade overlay 2019-09-16 00:38:18 -04:00
Adomas Venčkauskas
c3c7f0a8ae Allow /connector/document/respond to take non-double JSON encoded data 2019-09-11 14:05:46 +03:00
Dan Stillman
3666da5b22 Additional debugging for file sync error
"attachmentSyncedModificationTime must be a number"
2019-09-11 00:13:52 -04:00
Dan Stillman
0bd04877bf Don't run detectWeb/doWeb in Scaffold if target doesn't match
Closes #1728
2019-08-30 01:02:12 -04:00
Dan Stillman
95a9ccae69 Update ACE to 17.06.19
Addresses #1727
2019-08-28 08:05:48 -04:00
Dan Stillman
f0e9c8bfba Fx60: Fix Scaffold
Fixes #1727
2019-08-28 07:44:35 -04:00
Dan Stillman
8a95ce34d8 Unify window opening from menu items 2019-08-27 19:37:39 -04:00
Dan Stillman
b08bd6849e Fx60: Update DB query onRow() behavior
onRow() handlers now get passed a cancellation function as a second
argument
2019-08-27 06:00:35 -04:00
Dan Stillman
61e976bd3a Fx60: nsIURI changes
- nsIURI is now immutable, so it's necessary to use nsIURIMutator via
  mutate() to change it
- .path is replaced with .pathQueryRef
- Only nsIURL has .fileName
2019-08-27 05:28:08 -04:00
Dan Stillman
fe30a11bde Fx60: Fix wrong cursor on tags splitter on Linux 2019-08-27 02:22:52 -04:00
Dan Stillman
b498a83787 Fx60: Fix empty Window menu on Linux (and maybe Windows) 2019-08-27 01:59:41 -04:00
Dan Stillman
79276edd14 Fx60: Fix styling of lookup engine manager window 2019-08-27 00:47:39 -04:00
Dan Stillman
a3668850eb Fx60: Add missing UA styles to styles page
For some reason the standard UA styles are no longer included in HTML
files loaded in a <browser> in Firefox 60.
2019-08-27 00:47:39 -04:00
Dan Stillman
dc8a45485c Fx60: Restore prefwindow bindings
The XBL prefwindow bindings are removed in Firefox 60, so this adds them
back, along with necessary styling, to allow the existing preferences to
work until the preferences are rewritten with React. The preferences.xml
file in the Mozilla source has platform ifdefs, but since this is a
temporary hack I've just duplicated the file for each platform with the
necessary lines included.

I haven't yet tested the styling on Windows/Linux.
2019-08-27 00:47:39 -04:00
Dan Stillman
9a49718638 Remove some old Zotero for Firefox code
In particular, remove code related to opening/closing the Zotero pane,
which affects tests. The pane is now opened by default in Firefox, which
brings its behavior closer to the main version.
2019-08-27 00:47:39 -04:00
Dan Stillman
5994e22359 Fx60: Shim XPathResult in translator sandbox
As of Fx60, XPathResult is no longer available as nsIDOMXPathResult in
XPCOM, so just shim its constants, which are all we need, when adding it
to the sandbox.
2019-08-27 00:47:39 -04:00
Dan Stillman
433794916a Fx60: Remove instances of nsILocalFile
nsILocalFile was merged into nsIFile, so either replace it with that or
switch to Zotero.File.pathToFile().
2019-08-27 00:47:39 -04:00
Dan Stillman
6f965251ed Add FilePicker module to replace nsIFilePicker
`nsIFilePicker::show()` is removed in Firefox 60 in favor of `open()`,
which takes a callback (and apparently has been preferred for a long
time).

There's no point switching to that, so this module is a version of
nsIFilePicker with an async `show()` that returns a promise and some
XPCOM-isms replaced (e.g., string paths instead of nsIFile).
2019-08-27 00:47:39 -04:00
Dan Stillman
c5d404df5e Fx60: Add-on window changes
Legacy/unsigned add-on warnings are now hidden via CSS in the Firefox
build, so remove the code that tries to do that, and instead add a class
to any other warnings so they can be selectively shown.
2019-08-27 00:47:39 -04:00
Dan Stillman
732bb23c33 Fx60: Fix attachment download 2019-08-27 00:47:39 -04:00
Dan Stillman
af7932e59b Fx60: Import Services in hiddenWindow.xul for globalOverlay.js 2019-08-27 00:47:39 -04:00
Dan Stillman
a9d142c83a Fx60: Replace Object.watch() in locateManager 2019-08-27 00:47:39 -04:00
Dan Stillman
3688564c69 Fx60: Fix errors related to Window menu on macOS 2019-08-27 00:47:39 -04:00
Dan Stillman
76978aa912 Fx60: Fix protocol handler
These will need to be redone for Electron, but this keeps them working
in the meantime.
2019-08-27 00:47:39 -04:00
Adomas Venčkauskas
a8a4d13b72 Fx60: Fix citation dialog height 2019-08-27 00:47:39 -04:00
Dan Stillman
8fa4cc9387 Fx60: Update Zotero.File.iterateDirectory() signature
StopIteration is no longer supported in Firefox 60, so instead of taking
a generator function that might throw StopIteration for the second
parameter, take a function that is passed to iterator.forEach() that
receives an OS.File.DirectoryIterator.Entry for each directory entry. If
the function returns a promise, it's waited for.

Also update other direct uses of OS.File.DirectoryIterator to remove
StopIteration use.
2019-08-27 00:47:39 -04:00
Dan Stillman
f26b1592a3 Fx60: Clear built_in_addons.json file
Though it's not being properly read anyway
2019-08-27 00:47:39 -04:00
Dan Stillman
210c2fcea6 Fx60: Remove obsolete CSS properties 2019-08-27 00:47:39 -04:00
Dan Stillman
77d1c6cf74 Fx60: Fix CSL locale loading 2019-08-27 00:47:39 -04:00
Dan Stillman
8c59df435f Fx60: Fix snapshot filenames
nsIURL doesn't seem to work anymore, so add Zotero.Utilities.parseURL(),
which uses the `url` package from NPM and adds fileName, fileExtension,
and fileBaseName.
2019-08-27 00:47:39 -04:00
Dan Stillman
c07379fe33 Fx60: Fix "path is undefined" in cookie sandbox
getCookiesForURI() seems to now get an nsIURL that won't query to
nsIURI, so look for `filePath` in addition to `path`.
2019-08-27 00:47:39 -04:00
Dan Stillman
6fd879fc16 Fx60: Switch to new XMLHttpRequest() 2019-08-27 00:47:39 -04:00
Dan Stillman
c0da6c0427 Fx60: Add built_in_addons.json file
fetch_xulrunner.sh updates the built-in path to point to this file, but
it's not currently being read properly for some reason (and I'm not sure
it does anything we need).
2019-08-27 00:47:39 -04:00
Dan Stillman
0678f13e96 Use Services for an nsILoginManager initialization 2019-08-27 00:47:39 -04:00
Dan Stillman
8f844251c8 Fx60: Fix access to translator object in sandbox
There's almost certainly other sandbox breakage
2019-08-27 00:47:39 -04:00
Dan Stillman
9ca1014f5b Fx60: Update old-style shorthand function definitions 2019-08-27 00:47:39 -04:00
Dan Stillman
15a7a812f6 Fx60: += operator no longer works on nsIURI spec 2019-08-27 00:47:39 -04:00
Dan Stillman
186d2b0883 Fx60: nsILocalFile -> nsIFile 2019-08-27 00:47:39 -04:00
Dan Stillman
331522b106 Fx60: Update pref handling
- getStringPref/setStringPref are now used for strings instead of
  getComplexValue/setComplexValue
- Remove nsIPrefBranch2 reference
- If there was a pref failure during initialization, nothing was logged
  to the terminal
2019-08-27 00:47:39 -04:00
Dan Stillman
d4b10f1c1e Fx60: Don't try to override toString() on an object 2019-08-27 00:47:39 -04:00
Dan Stillman
0ad308f5f6 Fx60: Update nsIInputStreamPump init() calls 2019-08-27 00:47:39 -04:00
Dan Stillman
78e9db9523 Fx60: Fix issues with JS code modules
- The Mozilla CommonJS loader is no longer available, so bundle the
  Fx52 version of it
- Strict mode is enforced
- `this` is only defined as a global object in .jsm files, not .js files
- `this` can't be converted to a string for BackstagePass test, so check
  for presence of Components.utils.import instead
- The return value from import() is no longer available
2019-08-27 00:47:39 -04:00
Dan Stillman
f7854bfcae Fx60: Remove versioned JavaScript 2019-08-27 00:47:39 -04:00
Dan Stillman
8f00fa2603 Fix missing checkboxes in View menu on Windows (and maybe Linux) 2019-08-22 00:29:29 -04:00
Dan Stillman
17cf605020 Fix empty row in item context menu (regression from bb59429664) 2019-08-22 00:29:29 -04:00
Dan Stillman
26ee0e294b Update locales from Transifex and merge new English strings 2019-08-19 05:00:50 -04:00
Dan Stillman
bb59429664 Add "Convert Linked Files to Stored Files…" menu option
In new File → Manage Attachments submenu

Closes #1637
2019-08-19 05:00:32 -04:00
Dan Stillman
eca2822651 Update locales from Transifex and merge new English strings 2019-08-12 16:41:29 -04:00
Dan Stillman
3aeef69ad3 Add View menu
The menu includes all user interface options from the General
preferences (now removed from the preferences), toggles for the
collections pane, item pane, and tag selector, and, at long last, a
toggle for recursive collections ("Display Items from Subcollections").

The collections pane and item pane no longer reopen automatically when
restarting Zotero. People might still close them by mistake and not find
this menu, but we'll see how it goes.

Closes #1372
2019-08-12 16:31:31 -04:00
Dan Stillman
6f721098f8 Use Symbol for pref observer deregistration
Zotero.Prefs.registerObserver() now returns a Symbol that can be passed
to Zotero.Prefs.unregisterObserver().
2019-08-12 13:21:18 -04:00
Dan Stillman
eb50067a41 Just use new Date() to parse ISO 8601 dates
This should fix a weird bug where ISO dates were being parsed as a year
earlier.
2019-08-10 08:58:44 -04:00
Adomas Venčkauskas
5216f11885 Replace the XPCOM sandbox with an unsafe eval sandbox 2019-08-10 08:58:44 -04:00
Dan Stillman
1c6840f9a5 Scaffold: Load translator on double-click 2019-08-10 08:40:24 -04:00
Adomas Venčkauskas
1199059612 Fix imported citations with modified text not resetting the text 2019-08-08 11:25:36 +03:00
Dan Stillman
e1adbafeb0 Support Cmd-= for zooming in Scaffold code editor
In addition to Cmd-+
2019-08-07 01:03:45 -04:00
Dan Stillman
d898022ada Update Scaffold UI based on font size pref 2019-08-06 21:00:08 -04:00
Dan Stillman
53e5abc6cb Maybe fix NS_ERROR_FILE_NAME_TOO_LONG sync error on eCryptfs on Linux
When the filename limit isn't 255 on Linux, it's probably because of
eCryptfs, but we were checking the character length instead of the byte
length before shortening the filename to 143 bytes.
2019-08-06 06:55:10 -04:00
Dan Stillman
2b748edaca Add ACE to About pane 2019-08-05 05:34:03 -04:00
Dan Stillman
4cbefca7eb Tweak text of Scaffold setup prompt 2019-08-05 05:16:11 -04:00
Dan Stillman
7d7afc2b46 Add Style Editor to Developer menu 2019-08-05 05:05:57 -04:00
Dan Stillman
77467b94da Fix item tree crash on Cmd-left-arrow under certain conditions
If a parent item was expanded and all items in the tree, including the
item's child items, were selected, Cmd + Left Arrow would break the
items tree until restart.

This will cause a conflict and need to be applied to the new tree.

(Worth noting that collapseSelectedRows() is currently only called on
Cmd-left-arrow because the XUL tree seemingly swallows a regular
left-arrow (and only applies the collapse to the last-selected row). The
comment in the keypress listener where collapseSelectedRows() is called
suggests that that was meant to be used for all left-arrow keypresses,
but either that stopped working at some point or it only ever worked for
Cmd + Left Arrow because it bypasses the normal tree handling of left-
arrow. In any case, it would be better if left-arrow always collapsed
selected rows, with or without Cmd.)

https://forums.zotero.org/discussion/78515/bug-collapsing-all-items-in-a-collection-breaks-display-of-items-in-all-collections
2019-08-04 01:48:36 -04:00
Dan Stillman
871a275090 Add Help button to Run JavaScript window to open documentation 2019-08-02 07:00:43 -04:00
Dan Stillman
66bfcf382d Update locales from Transifex and merge new English strings 2019-08-02 07:00:43 -04:00
Dan Stillman
7e7ec07170 Remove "Show developer tools" checkbox and show menu by default
Everybody's a developer now
2019-08-02 07:00:43 -04:00
Dan Stillman
2b6fb73b57 Add Scaffold as a built-in developer tool 2019-08-02 07:00:39 -04:00
Dan Stillman
00c159a1b4 Fix incorrect top padding in tag selector if first tag doesn't fit 2019-08-02 03:13:47 -04:00
Dan Stillman
2a3c4a3555 Add "Show developer tools" option to Advanced prefs
And move Error Console and Run JavaScript to a Developer menu that's
shown in Tools if that option is enabled.

The Memory Info button is now behind its own undefined
extensions.zotero.debug.memoryInfo pref.
2019-08-02 02:56:26 -04:00
Dan Stillman
fda002ec34 Beginning of tests for zotero://select 2019-08-02 02:29:08 -04:00
Dan Stillman
d0002736cd Add 'begins with' operator to field search conditions 2019-08-01 23:40:52 -04:00
Dan Stillman
d551d1901f Fix zotero://select search selection 2019-08-01 22:11:03 -04:00
Dan Stillman
f776156fbd Revert subtitle capitalization for AMA (added in 5.0.70)
https://forums.zotero.org/discussion/comment/337093/#Comment_337093
2019-08-01 17:26:27 -04:00
Dan Stillman
3af8f56c35 Fix server error if User-Agent isn't set
https://forums.zotero.org/discussion/78502/http-user-agents-that-dont-identify-fail-for-zotero-v5-0-71
2019-08-01 16:55:21 -04:00
Dan Stillman
3e3804741f Maybe fix translator deletion?
This caused an error after 9b82373f70 but possibly meant that deleted
translators weren't being properly removed.
2019-07-24 04:32:40 -04:00
Dan Stillman
9b82373f70 Add ability for Scaffold to provide alternative translators
Zotero.Translate::setTranslatorProviderMethods(methods) can be used to
provide custom 'get' and 'getAllForType' methods that override the
default Zotero.Translators methods.
2019-07-24 04:31:11 -04:00
Dan Stillman
3544c3bd86 Update locales from Transifex 2019-07-23 15:12:14 -04:00
Adomas Venčkauskas
768759ccb1 Fix being unable to remove uncited bibliography entries 2019-07-23 09:39:16 +03:00
Dan Stillman
1968d75814 Fix startup errors due to missed schema update steps for retractedItems
I don't know how this is happening -- people are ending up with an
updated DB version but missing schema changes, despite the DB version
being updated after the schema updates and in the same transaction --
but until we figure it out, apply the schema update steps in
Zotero.Retractions.init() if necessary.
2019-07-22 06:33:12 -04:00
Dan Stillman
768ceda881 Update locales from Transifex 2019-07-21 21:45:43 -04:00
Dan Stillman
8edab3d628 Update citeproc-js to 1.2.18
This fixes Title/Short Title case alignment
2019-07-20 01:59:09 -04:00
Dan Stillman
8c7e47495e Remove Transform Text submenu and put options directly in context menu 2019-07-19 23:13:25 -04:00
Dan Stillman
7d5f6cdbfd Transform Short Title case as well when transforming Title 2019-07-19 23:12:51 -04:00
Dan Stillman
640887f30d Merge new English strings 2019-07-18 06:28:53 -04:00
Dan Stillman
7f8ec82ba2 Update wording of document import prompt 2019-07-18 06:10:00 -04:00
Dan Stillman
9020566de1 Fix "no such table: retractedItems" error from skipped schema update
I'm not sure what's going on, but schema update steps aren't working
properly for a small number of people:

https://forums.zotero.org/discussion/78272/urgent-database-connector-upgrade-error
2019-07-18 05:19:18 -04:00
Dan Stillman
a41e610e6c Fix display of original string length in debug output for ellipsize() 2019-07-17 21:32:51 -04:00
Dan Stillman
686b51df38 Revert "Temporarily disable document-export button for 5.0.71"
This reverts commit 7b7ccea31a.
2019-07-17 19:03:30 -04:00
Dan Stillman
7b7ccea31a Temporarily disable document-export button for 5.0.71 2019-07-17 18:17:52 -04:00
Dan Stillman
79540ac794 Update locales from Transifex 2019-07-17 17:18:01 -04:00
Dan Stillman
024645bc98 Update locales from Transifex 2019-07-17 03:18:35 -04:00
Dan Stillman
2caa8fdb1e Updates locales from Transifex and merge new English strings 2019-07-16 02:38:05 -04:00
Dan Stillman
fd12eb08b1 Adjust document-export wording
"Export" is too confusing, since you also have to export and import the
file itself.
2019-07-16 02:21:33 -04:00
Dan Stillman
b899e5694a Update citeproc-js to 1.2.17 2019-07-16 02:03:07 -04:00
Dan Stillman
5dd64a5f4c Fix a couple connector server endpoint init() response values 2019-07-16 00:58:39 -04:00
Dan Stillman
7b9d404c42 Allow browser-based access to connector server ping page 2019-07-15 10:06:42 -04:00
Dan Stillman
1cd4e50b59 Don't protect test endpoints 2019-07-15 08:11:56 -04:00
Dan Stillman
2603373b86 Additional protections for HTTP endpoints
Reject browser-based requests that don't require a CORS preflight
request [1] if they don't come from the connector or include
Zotero-Allowed-Request: 1

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2019-07-15 07:30:12 -04:00
Dan Stillman
fd09d3ef4a Revert "Temporarily disable "Export Document…" button for 5.0.70"
This reverts commit f8927812e9.
2019-07-13 02:26:25 -04:00
Dan Stillman
fd8d6bad0d Updates locales from Transifex 2019-07-12 20:34:09 -04:00
Dan Stillman
f8927812e9 Temporarily disable "Export Document…" button for 5.0.70 2019-07-12 20:28:05 -04:00
Dan Stillman
708b8798c2 Check for X-Zotero-Connector-API-Version header in /connector/import 2019-07-12 02:08:55 -04:00
Dan Stillman
2964021661 Update citeproc-js to 1.2.13 2019-07-09 03:04:12 -04:00
Dan Stillman
5ab0239bdf Fix footnotes style in RTF Scan
Not sure when this broke
2019-07-09 02:12:53 -04:00
Dan Stillman
1424fd9a0e Fix updating of the styles page in the RTF Scan dialog
There were various errors due to changes in integrationDocPrefs.xul
since RTF Scan was last worked on.
2019-07-09 01:46:34 -04:00
Dan Stillman
e8a8358a83 "citation" -> "item" in citation warning checkbox
The checkbox now applies to the item globally, so "item" is more
appropriate.
2019-07-04 22:24:09 -04:00
Dan Stillman
c0fe471db3 Fix retraction warning remaining after item deletion until next selection
Regression from something recent, I think
2019-07-04 22:05:18 -04:00
Adomas Venčkauskas
cd14a536dc Add retracted citation warning tests. Fix a bug with embedded prompts 2019-07-04 15:16:26 +03:00
Dan Stillman
e1e5039111 Make retraction reasons in info pane selectable
And prevent text cursor on other text
2019-07-04 07:24:10 -04:00
Dan Stillman
b0240417fa Update locales from Transifex and merge new English strings 2019-07-04 07:23:49 -04:00
Dan Stillman
eedc066d41 Allow hiding of retraction warning for replaced works
This is unfortunate, but some journals are abusing (what should be)
unique identifiers.

https://forums.zotero.org/discussion/comment/335113/#Comment_335113
2019-07-04 07:11:53 -04:00
Adomas Venčkauskas
2186e939a9 Set the retracted flag for retracted items even if no prompt is required 2019-07-03 23:10:30 +03:00
Adomas Venčkauskas
9efd7cc07d Retracted item citation warning changes
Allows the user to suppress the item retraction warnings from the
citation dialog and makes the retraction warning suppression global.
See #1710
2019-07-03 15:18:41 +03:00
Adomas Venčkauskas
0f9b073073 Ensure retracted item suppression is saved on any integration operation 2019-07-03 13:55:16 +03:00
Dan Stillman
0beddb9680 Add flags to disable retraction warnings
Separate flags for hiding the retraction altogether and for hiding
citation warnings for it

New functions:

Zotero.Retractions.hideRetraction(item)
Zotero.Retractions.shouldShowCitationWarning(item)
Zotero.Retractions.disableCitationWarningsForItem(item)

Addresses #1710
2019-07-03 01:23:02 -04:00
Dan Stillman
f49d5805cd Apply subtitle capitalization to additional styles
This also fixes a style initialization error when the style id is
invalid, which was a regression in a0be2da42c.
2019-07-01 22:39:12 -04:00
Dan Stillman
d13ffcd9a3 Revert "Temporarily disable "Export Document…" button for 5.0.69"
This reverts commit a6e9d76c41.
2019-06-25 23:53:47 -04:00
Dan Stillman
fb101e8fe6 Fix hanging indent in HTML output after citeproc-js 1.2.2 (5.0.57)
The patch in 0036e0a1e for the change in citeproc-js behavior was
incomplete.
2019-06-25 23:36:57 -04:00
Dan Stillman
317983fc7a Update locales from Transifex 2019-06-24 22:43:06 -04:00
Dan Stillman
a6e9d76c41 Temporarily disable "Export Document…" button for 5.0.69 2019-06-24 21:22:34 -04:00
Dan Stillman
aba37b31e4 Fix error from retractions notifier handler on group modification 2019-06-23 20:01:26 -04:00
Dan Stillman
d0f976f6bd Update locales from Transifex 2019-06-22 05:45:16 -04:00
Dan Stillman
99613b0cbe "Restore to Online Library" → "Replace Online Library"
Without an accompanying "Restore from Online Library" option, which
doesn't currently exist, "Restore to Online Library" can be interpreted
two ways. It's clear if you read the text below or the confirmation
prompt, but if you don't you might accidentally do something very bad.

This was almost certainly also translated in misleading ways in other
locales.
2019-06-22 05:44:50 -04:00
Dan Stillman
ead93b6ccc Stop uploading files on quota error until next manual sync or restart 2019-06-22 05:29:47 -04:00
Dan Stillman
94795095f2 Fix potential error on retracted item modification
If a retracted item was in the trash at startup or when detected and
there were no other retracted items in the library, an error would occur
if the item was modified.
2019-06-20 18:18:10 -04:00
Dan Stillman
c1ab361c92 Revert "Temporarily disable "Export Document…" button for 5.0.68"
This reverts commit f38ae94259.
2019-06-20 16:25:41 -04:00
Dan Stillman
f38ae94259 Temporarily disable "Export Document…" button for 5.0.68 2019-06-19 17:24:34 -04:00
Dan Stillman
288ad93422 Fix startup error due to missing retractedItems table
This shouldn't be possible, but there've been a couple reports of people
ending up on version 103 without the table, so create it again with IF
NOT EXISTS. This is obviously a bad fix, but until we know how this
happened it's the best we can do.
2019-06-19 17:06:05 -04:00
Dan Stillman
50a4308514 Remove retraction flag from items that no longer match 2019-06-19 06:41:33 -04:00
Dan Stillman
48c3fc33df Update locales from Transifex 2019-06-19 02:17:53 -04:00
Dan Stillman
8589aae7bc Fix retracted items in unloaded libraries not being flagged correctly 2019-06-19 02:11:37 -04:00
Dan Stillman
7306fe910d Fix updating of Next button in RTFScan (regression from 269e2f8bff)
And fix a logged warning
2019-06-16 02:33:24 -04:00
Dan Stillman
e3e6b8ef9c Revert "Temporarily disable "Export Document…" button for 5.0.67"
This reverts commit 487d675783.
2019-06-16 02:33:24 -04:00
Dan Stillman
e06f531dae Update locales from Transifex 2019-06-14 11:26:28 -04:00
Dan Stillman
dc670938a4 Update submodules 2019-06-14 11:18:04 -04:00
Dan Stillman
487d675783 Temporarily disable "Export Document…" button for 5.0.67 2019-06-14 11:16:14 -04:00
Dan Stillman
75712ed42d Remove "Move to Trash" button in item retraction banner
There can be situations where people legitimately want to keep the item,
so encouraging deletion is a bit presumptuous.
2019-06-13 12:22:54 -04:00
Dan Stillman
afd5b2f993 Update locales from Transifex and merge new English strings 2019-06-13 00:09:04 -04:00
Dan Stillman
ae7a262592 Don't switch to Retracted Items for single item from banner View button
Only for multiple items
2019-06-13 00:09:04 -04:00
Dan Stillman
45f6492494 Adjustments to citation retraction warning (#1704)
- Fix don't-show-again checkbox for non-DB items
- Tweak warning text
- Don't show comma after year if year is missing (which it shouldn't be)
- Remove redundant try/catch
2019-06-13 00:08:49 -04:00
Adomas Venčkauskas
4337362a1b Add a checks and prompts for retracted items within an existing doc 2019-06-13 00:57:56 +03:00
Dan Stillman
b4b19c4811 Add Zotero.Retractions.getRetractionsFromJSON()
Addresses #1703
2019-06-12 01:05:49 -04:00
Dan Stillman
d353439980 Add retractions.enabled hidden pref to disable retraction checking 2019-06-11 21:24:17 -04:00
Dan Stillman
e69786bd69 Fix error and show File Not Found dialog opening attachment with empty path 2019-06-11 06:46:46 -04:00
Dan Stillman
ccc4dccffd Fix error copying attachment without path to another library 2019-06-11 06:46:09 -04:00
Dan Stillman
f7f55f05ad Percent-encode " character in DOIs when opening/copying as link
I'm not sure a double-quote actually appears in any DOIs, but it's
technically valid and would result in an invalid URL.

Follow-up to 782c2a1d1

Addresses #295
2019-06-10 17:06:59 -04:00
Dan Stillman
5e1beed6fd Update locales from Transifex 2019-06-10 15:52:20 -04:00
Dan Stillman
d7417af83e Update submodules 2019-06-10 15:00:55 -04:00
Dan Stillman
782c2a1d15 Don't URL-encode most characters in DOIs when opening/copying as link
Only #, ?, and % are now encoded.

Addresses #295
2019-06-10 14:56:28 -04:00
Dan Stillman
98d2b69020 Update locales from Transifex and merge new English strings 2019-06-10 02:50:47 -04:00
Dan Stillman
5c03813d81 Add Retracted Items virtual collection
Shown automatically when retracted items are detected
2019-06-10 02:38:42 -04:00
Dan Stillman
502f5fe491 Run notifier observers in tests after all others
This ensures that main functionality will have already run if a test
waits on the same event.
2019-06-10 02:20:11 -04:00
Dan Stillman
e807f98e02 Retracted items: Fix "Move to Trash" button not appearing 2019-06-10 02:18:49 -04:00
Dan Stillman
cf8d383027 Add "Show Item in Library" button to retracted citation warning 2019-06-07 23:05:25 -04:00
Dan Stillman
368b057104 Use toJSON() if available when running Zotero.debug() on objects 2019-06-07 21:22:52 -04:00
Dan Stillman
b793c0c406 Hard-code short PMID to avoid sending
The PMID prefix length is 5 and there are no other PMIDs under 5 digits,
so a 3-digit PMID would be identifiable.
2019-06-07 10:20:33 -04:00
Dan Stillman
4939dd49a8 Update locales from Transifex and merge new English strings 2019-06-07 08:45:06 -04:00
Dan Stillman
47164edea6 Retraction improvements
- Fix list download logic
- Close bar when clicking "View Item"
- Don't show "Move to Trash" if item isn't editable
- Download new list if cached version differs from client
- Reduce height of notification bar
- Switch to a slightly darker red
2019-06-07 08:21:15 -04:00
Adomas Venčkauskas
75b38caf6f Add a warning when citing a retracted item 2019-06-07 12:59:42 +03:00
Dan Stillman
30849303a4 Remove unnecessary title for retracted-item cite warning 2019-06-07 04:33:02 -04:00
Dan Stillman
d0412e1fbb Add "Move to Trash" button in item retraction header 2019-06-07 04:20:55 -04:00
Dan Stillman
faf9e7002c Strings for retraction warnings when citing 2019-06-07 04:00:33 -04:00
Dan Stillman
28326cd4cd Add license block to file 2019-06-07 02:24:23 -04:00
Dan Stillman
c46e3e75fa Update locales from Transifex 2019-06-07 01:48:25 -04:00
Dan Stillman
066a870999 "View Retracted Item" → "View Item" in items list banner 2019-06-07 01:25:54 -04:00
Dan Stillman
7f4f2770ba Add notification banner when retracted items are found
And other retraction tweaks
2019-06-07 01:15:17 -04:00
Dan Stillman
de0a65af7b Add Breton locale 2019-06-06 20:52:37 -04:00
Dan Stillman
3727d0f559 Update locales from Transifex and merge new English strings 2019-06-06 09:17:22 -04:00
Dan Stillman
48580c49d1 Retraction Watch integration
- Check for retracted items using data from Retraction Watch
- Show an X next to retracted items in the items list, and show a
  scary message at the top of the item pane with more info and links.
- Lookup is done in a privacy-preserving manner using k-anonymity --
  the server is unable to determine the specific items that exist in
  the client, so people who don't sync don't need to share any library
  data (though the server doesn't log the lookups anyway).

TODO:

- Pop up an alert when new items are found
- Show a confirmation prompt when citing a retracted item
- Support items without DOIs or PMIDs
- Add a proper PMID field and expand DOI to more item types so these
  values don't need to be parsed out of Extra
- Clear the banner immediately when all possible fields are cleared
  instead of waiting a few seconds
2019-06-06 09:17:21 -04:00
Adomas Venčkauskas
897a042ee0 Ensure no further action is taken after the import unavailable prompt 2019-06-04 11:26:46 +03:00
Adomas Venčkauskas
b8b8cbba3a Add a prompt for unsupported import attempts 2019-06-04 09:28:15 +03:00
Dan Stillman
41706a3a67 Fix "Cannot edit item in read-only library" during sync 2019-06-03 03:36:10 -04:00
Dan Stillman
1f1b2e9b27 Don't send null storage properties
When doing Restore to Online Library from a backup that was never
file-synced, 'mtime' and 'md5' can be null, but we don't want to clear
existing properties on the server.
2019-05-31 02:43:43 -04:00
Dan Stillman
e33a2d730d Fix tag type handling when merging items
Most importantly, don't change all tags to manual on the merged item.
2019-05-29 05:43:33 -04:00
Adomas Venčkauskas
96a0b77192 Add the export warning to the plugin interface export command 2019-05-29 12:00:55 +03:00
Adomas Venčkauskas
07c8269433 Add an ability to throw non-error alerts from connector integration 2019-05-29 11:24:53 +03:00
Adomas Venčkauskas
fedd6f8241 Add an 'exportDocument' integration command endpoint 2019-05-28 13:51:08 +03:00
Dan Stillman
b99ee1f030 Updates locales from Transifex 2019-05-20 22:44:23 -04:00
Dan Stillman
a7747ac1f6 Clarify component-not-loaded message for word processor extensions 2019-05-20 22:44:23 -04:00
Dan Stillman
6ba6028ed0 Fix "too many SQL variables" deleting collection with >1000 items 2019-05-15 15:49:06 -04:00
Dan Stillman
2af63c0f33 Change document import/export documentation URL 2019-05-15 01:51:59 -04:00
Dan Stillman
8b778e20db Merge new English strings 2019-05-14 23:57:01 -04:00
Dan Stillman
c29c855d28 Document import/export: Additional text tweaks 2019-05-14 23:50:47 -04:00
Dan Stillman
222bc4f25d Fix update error cancelling document import
Closes #1694
2019-05-14 23:43:14 -04:00
Dan Stillman
b9671ade36 Update locales from Transifex and merge new English strings 2019-05-14 23:36:12 -04:00
Dan Stillman
8274c1c231 Tweaks to document import/export
Remove unused code and adjust text

Follow-up to 48778f28
2019-05-14 23:36:00 -04:00
Adomas Ven
48778f2847 Document export-import UI and integration code (#1501) 2019-05-14 21:06:18 -04:00
Adomas Venčkauskas
dd8ceb93aa Add data generator customization fields and add collection generation 2019-05-14 16:46:34 +03:00
Dan Stillman
ebda79a958 zotero://select improvements
- Support items within collections and searches:

zotero://select/library/collections/:collectionKey/items/:itemKey
zotero://select/groups/:groupID/collections/:collectionKey/items/:itemKey

- Fix the 'itemKey' parameter:

zotero://select/library/collections/:collectionKey/items?itemKey=:itemKey1,:itemKey2

- Select library root if collection/search not specified
2019-05-09 02:11:57 -04:00
Dan Stillman
32de0d4037 Fix potential error reconciling changes after 3fbb17a2e6 2019-05-08 06:29:46 -04:00
Dan Stillman
3fbb17a2e6 Properly upload local changes after automatic conflict resolution
If an object changed on both sides and the changes were either
non-conflicting or identical but there were other local changes, the
local object was incorrectly being marked as synced, causing it not to
be uploaded until it was next modified locally.
2019-05-08 04:34:21 -04:00
Adomas Venčkauskas
dd51c592e2 Skip document scan when automatic citation updates are disabled
Closes #1689
2019-05-06 16:38:44 +03:00
Adomas Venčkauskas
63a8d2b8c4 Fix citeproc preview call citationsPre/post arrays 2019-05-06 14:58:05 +03:00
Dan Stillman
787e57f6a2 Reopen collapsed collections pane on restart, for now
Same as item pane

Closes #825
2019-05-05 23:34:23 -04:00
Dan Stillman
ec0b993a17 Fix erroneous sync conflict if creators are changed in the same way 2019-05-03 01:15:27 -04:00
Dan Stillman
d3bf704cf3 Tag selector: Show truncated tags in tooltip on hover 2019-05-02 18:36:50 -04:00
Adomas Venčkauskas
17aca346c6 Fix wrongly shown error upon bibliography insertion (since 96d6114c) 2019-04-30 09:56:44 +03:00
Dan Stillman
f5404bc7ee Add Item by Identifier dialog fixes
- Revert to single-line mode after closing
- Don't add newline if Shift-Enter is pressed in an empty textbox
- Hide progress meter in multi-line mode until beginning search
2019-04-28 23:24:56 -04:00
Adomas Venčkauskas
96d6114c71 Fix not throwing appropriate errors when citations required and not present
Also fixes displaying Yes/No for regular exceptions (regression 0cb056c9)
2019-04-26 15:10:49 +03:00
Dan Stillman
bd7cdbdc81 Don't hang on invalid DOI returned from recognizer-server
THis shouldn't happen anymore, but might as well be safe.
2019-04-23 19:07:41 -04:00
Dan Stillman
a0be2da42c Automatically capitalize subtitle for APA styles
Applied to all styles with ids matching 'apa($|-)'

Currently limited to colons, but Juris-M/citeproc-js#74 may extend this
to other punctuation

Closes #1681
2019-04-21 17:05:12 -04:00
Dan Stillman
7496faa8cf Update citeproc-js to 1.2.2 2019-04-20 15:32:46 -04:00
Dan Stillman
4eec421fe4 Don't return cached internal array for child notes 2019-04-16 05:33:31 -04:00
Dan Stillman
9b7984ef26 Run JS: Fix window title and stuck result pane after error 2019-04-16 03:34:45 -04:00
Dan Stillman
679f22d089 What's all this, then? A British English locale? I say!
This adds "English (UK)" to the locale list, which allows for "tag
colours" and allows dates to be recognized in d/m/y form.

I changed "color" and "license" on Transifex, but I'll leave other words
for others to change. If we stick to Oxford spelling, there probably
won't be too much else.
2019-04-16 03:33:30 -04:00
Dan Stillman
8cadbe7eff Update locales from Transifex and submodules 2019-04-11 20:20:50 -04:00
Adomas Venčkauskas
a57d38aa29 Fix numbers in strings addition caused bug in providing citeproc citation data 2019-04-10 10:35:30 +03:00
Dan Stillman
1ca6898cb9 Fix Zutilo breakage (regression from d9cee322cd) 2019-04-10 02:13:37 -04:00
Adomas Venčkauskas
78c3d5808b Fix citeproc errors due to improper citeproc state updates
The error is triggered upon initial interaction with a doc after Zotero
restart or if new external citations (copied into the document) are
peresnt and `session.updateSession()` is called without a subsequent
`session.updateDocument()` call. `session.updateSession()` is called
without a subsequent `session.updateDocument()` call every time the
user cancels a citation insert.

More specifically, `session.updateSession()` is called every time a
citation dialog is invoked. It retrieves all citations and writes them
into a local `session.citationsByIndex` object. Moreover, it marks
each citation that hasn't seen before in a `session.newIndices` object.
`session.newIndices` is there to ensure that we load every new citation
into citeproc upon document update. This object is built by marking any
citation that does not appear in the previous invocation's list of
citations as new. However, if the document is never updated (because the
user cancels the insertion) then the new indices are not loaded
into citeproc. This commit fixes that, by excluding citeproc unloaded
items from the previous invocation's citation list.
2019-04-08 17:43:52 +03:00
Dan Stillman
ff6a4400b4 Update citeproc-js to 1.1.236 2019-04-07 11:36:27 -04:00
Frank Bennett
e618410eb2 Export CSL JSON with title-short rather than shortTitle 2019-04-04 00:45:32 +09:00
Dan Stillman
9ed48f3837 Keep earliest Date Added when merging items
Closes #1669
2019-04-02 14:01:25 -04:00
Dan Stillman
197d609f8e Update locales from Transifex and merge new English strings 2019-04-01 17:41:01 -04:00
Dan Stillman
531c092800 Tweak integration error text (#1672) 2019-04-01 17:40:45 -04:00
Dan Stillman
cf3f52ef37
Merge pull request #1672 from adomasven/feature/better-integration-errors
Display a more user-friendly error for integration errors
2019-04-01 17:40:13 -04:00
Dan Stillman
2f43ea82f9 Disable logging for tag truncation issue 2019-03-31 07:39:06 -04:00
Dan Stillman
3ca5ac421c Don't truncate tags unnecessarily if width is miscalculated
https://forums.zotero.org/discussion/76665/tag-issue-display-of-some-tags-erratic
2019-03-31 07:37:24 -04:00
Dan Stillman
ecdcb65f57 Add debugging for tag selector truncation issue
https://forums.zotero.org/discussion/76665/tag-issue-display-of-some-tags-erratic
2019-03-30 12:23:20 -04:00
Dan Stillman
3829f12603 Speed up renaming of colored tags 2019-03-30 10:35:03 -04:00
Dan Stillman
6a2611c9c6 Additional logging for teleporting collections
https://forums.zotero.org/discussion/comment/328917/#Comment_328917
2019-03-30 07:58:15 -04:00
Dan Stillman
ee3955f6f7 Fix font size in search bars when set to non-small sizes
Reactification regression
2019-03-29 06:35:35 -04:00
Dan Stillman
038119c481
Merge pull request #1668 from Juris-M/zmaster
Handle handingindent return from citeproc-js as boolean
2019-03-29 02:53:06 -04:00
Dan Stillman
732cd01073 Update citeproc-js to 1.1.228 2019-03-29 02:23:51 -04:00
Dan Stillman
3126c58d30 Tag selector UI tweaks
- Don't cut off bottom of tags on Windows
- Fix appearance of search bar on Windows/Linux
- Fix cancel button on Windows/Linux
- Don't cut off right-hand pane of bottom bar when narrowing pane
2019-03-29 01:46:54 -04:00
Dan Stillman
d9cee322cd Tag selector performance overhaul
- Use react-virtualized to render tags on demand, reducing the number
  of DOM elements from potentially tens of thousands to <100. This
  requires tags to be absolutely positioned, so sizing and
  positioning need to be precomputed rather than relying on CSS.
- Avoid unnecessary refreshes, speed up tag retrieval, and optimize
  sorting
- Debounce reflowing when resizing tag selector

Also:

- Scroll to top when changing collections
- Allow tags to take up full width of tag selector without truncation

Closes #1649
Closes #281
2019-03-28 06:28:34 -04:00
Adomas Venčkauskas
0cb056c994 Display a more user-friendly error for integration errors 2019-03-27 17:34:32 +02:00
Dan Stillman
69ff8ac1b6 Search anywhere within tag for tag selector filter
Follow-up to 62ea7e970a, and I think in line with the pre-React
behavior
2019-03-27 07:49:59 -04:00
Dan Stillman
b248d28992 Revert "Update citeproc-js to 1.1.226"
This reverts commit a5c7955670.

We need to push out a release to fix some bugs, so let's leave this out
for now.
2019-03-27 07:26:15 -04:00
Dan Stillman
197397ff7a Fix error dragging items if tag selector was closed at startup 2019-03-27 07:23:41 -04:00
Dan Stillman
71f9420cff Fix linked-file rename pref when retrieving metadata
Due to a typo in d0f7fd6df7, linked files were still being renamed even
with the pref off if metadata was found for the file. The test I added
was only for adding a file to an existing item, which didn't trigger
metadata retrieval.

This also adds a hook for stubbing the actual PDF recognition process so
we can test certain behaviors without making HTTP requests.
2019-03-27 06:43:07 -04:00
Dan Stillman
a5c7955670 Update citeproc-js to 1.1.226 2019-03-27 03:45:03 -04:00
Frank Bennett
0036e0a1e1 Assume citeproc-js returns hangingindent as a boolean 2019-03-21 21:27:28 +09:00
Dan Stillman
6c86121120 Use onChange instead of onInput for Search component
React uses onChange for form elements (and complains if it's absent)
even when the underlying event is oninput.
2019-03-21 04:51:32 -04:00
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