Commit graph

8217 commits

Author SHA1 Message Date
Dan Stillman
3c70dee5c1 Create import collection by default if there are non-trash items
Follow-up to 7494e4d88c, which only checked for collections
2018-06-08 05:57:20 -04:00
Dan Stillman
337144a5eb Mendeley import: Reuse existing collections
If "Place imported collections and items into new collection" is
unchecked, previously imported collections will be reused when they're
in the right place in the hierarchy rather than creating new ones.
2018-06-08 04:52:18 -04:00
Dan Stillman
7494e4d88c Don't create import collection by default if no collections in library
If the selected library doesn't have collections, "Place imported
collections and items into new collection" will be unchecked in the
import wizard.
2018-06-08 02:44:13 -04:00
Dan Stillman
2b49e94a61 Fix sync breakage from 78e87a351 2018-06-07 17:18:28 -04:00
Dan Stillman
854cb05883 Mendeley import: Support repeated imports without duplicating items
Existing items are overwritten with new data (or skipped in the case of
file attachments).

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

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

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

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

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

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

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

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

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

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

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

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

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

Currently prompts for connector versions below 5.0.35.

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

Fix undefined function call error
2018-04-24 01:37:10 -04:00
Dan Stillman
1c5e0475f5 Update locales from Transifex 2018-04-23 03:34:07 -04:00
Dan Stillman
33f8fcfafb Fix syncing of saved search changes
Condition changes were only uploaded after every other change + sync
2018-04-22 17:27:33 -04:00
Adomas Venčkauskas
5e5b567782 Add a connector document integration endpoint
Specifically for google docs via the connector, but could potentially be
used for any integration via HTTP or connector.
2018-04-20 13:08:34 +03:00
Dan Stillman
7c093b4fb0 Update locales from Transifex 2018-04-19 04:46:29 -04:00
Martynas Bagdonas
00efd01aaf Ask for description when reporting metadata (#1488) 2018-04-19 04:35:03 -04:00
Dan Stillman
6450d39933 Throw async error from _loadTranslator() 2018-04-19 02:59:41 -04:00
Dan Stillman
3bc08ba10c Change overwritten translator message from error to warning 2018-04-19 02:59:41 -04:00
Martynas Bagdonas
0b4e1f9360 Use the extracted arXiv identifier when recognizing PDF (#1487) 2018-04-19 02:35:20 -04:00
Dan Stillman
b22e496b05 Allow setting CORS allowed origins for translation-server 2018-04-18 16:15:26 -04:00
Dan Stillman
16c2f6602a Update locales from Transifex 2018-04-18 13:42:51 -04:00
Dan Stillman
653343149a Add "arXiv IDs" to Add Item by Identifier text 2018-04-18 13:25:09 -04:00
Martynas Bagdonas
fa0576a4dd Add arXiv identifier support (#1486) 2018-04-18 13:03:10 -04:00
Dan Stillman
bf26c230be Update submodules 2018-04-16 14:58:37 -04:00
Dan Stillman
8474c7b52a Update locales from Transifex 2018-04-16 14:57:00 -04:00
Dan Stillman
3835bc9110 Assign merge-tracking relations properly when merging >2 items
https://forums.zotero.org/discussion/71459/incorrect-document-refresh-after-three-item-merge
2018-04-15 17:05:55 -04:00
Dan Stillman
8853f8ca47 Allow higher local object version during full sync
Local object versions can be higher than remote versions, because we
upload in batches and only record the version from the last batch.

This could cause trouble if an object failed to upload during a Restore
to Online Library, causing it to be retried later with version 0 (unlike
during a restore when the version is omitted), causing the library to be
reset, causing any local objects with higher local versions to be
redownloaded.
2018-04-14 16:50:41 -04:00
Dan Stillman
794d3880e7 Set 'control' attribute for item box fields
Set 'control' to the id of either the value label or the textbox,
depending on whether the field is being edited. This causes NVDA to read
the label associated with the textbox, but seemingly only the first time
it's selected.

Unfortunately NVDA also does some other unpleasant things, like reading
a description from the duplicate-merging pane, which isn't the active
element in the deck, and reading the entire text, including all field
labels, of the item box) I'm not sure how much we can improve this until
we're on Electron.

VoiceOver doesn't read the textbox's label either, even though it does
so in the bookmarks window in Firefox. Maybe things have improved since
Firefox 52, so we can text again after upgrading to Firefox 60.

Addresses #1411
2018-04-14 13:25:31 -04:00
Dan Stillman
0cc3e64b8a Restore proper incompatible DB message
Fixes #1446
2018-04-14 11:38:54 -04:00
Dan Stillman
0e3071576b Show "Export Collection…" if there are items in subcollections
And generate collection context menu asynchronously

Closes #1482
2018-04-14 11:33:16 -04:00
Dan Stillman
460a423df3 Don't let an progress window block shutdown
Closes #1485
2018-04-14 10:28:00 -04:00
Dan Stillman
71f7ec5207 Avoid invalid-field warning for parentItem in fromJSON() after 6f1833f936 2018-04-14 10:27:40 -04:00
Dan Stillman
ce834fc5f3 Don't focus previous row when choosing autocompleted creator
https://forums.zotero.org/discussion/71310/
2018-04-14 10:27:40 -04:00
Frank Bennett
94271325d7 Asyncify Zotero.Relations.getByObject(), called only from item merge. (#1480)
Use getAsync() to acquire subject in Zotero.Relations.getByObject()
2018-04-14 10:26:16 -04:00
Dan Stillman
ceb9749937 Avoid invalid-field warning in Item::fromJSON() after 6f1833f936 2018-04-14 00:06:27 -04:00
Dan Stillman
6f1833f936 Remove items from trash and My Publications when removed via sync
Zotero.Item::fromJSON() wasn't properly accounting for missing 'deleted'
or 'inPublications' properties.
2018-04-13 23:36:59 -04:00
Dan Stillman
4248e59eeb Add log line when trying to drag already-linked collection 2018-04-13 16:12:24 -04:00
Dan Stillman
7da17ab63e Update strings from connector 2018-04-13 16:12:19 -04:00
Dan Stillman
42bbcabdfe Update locales from Transifex 2018-04-13 14:06:02 -04:00
Dan Stillman
ff2e8c9047 Add localizable strings from connector 2018-04-13 13:15:10 -04:00
Adomas Venčkauskas
029c9fc251 Don't refresh citations when citation delaying is enabled via doc prefs 2018-04-12 14:00:28 +03:00
Adomas Venčkauskas
ea8003c541 Fix an invalid variable reference 2018-04-12 14:00:28 +03:00
Dan Stillman
9a304b6699 Better handling of remotely changed items in locally missing collections 2018-04-07 17:04:35 -04:00
Dan Stillman
17f7bcbbad Target selector: Increase recents to 7 2018-04-06 07:36:13 -04:00
Dan Stillman
eeadeaa1b1 Target selector: Fix recents handling 2018-04-06 07:32:24 -04:00
Dan Stillman
222bb5bad4 Target selector: Don't lose recent targets when saving to same target
A target could fill up the list from different sessions, pushing other
recents out.
2018-04-06 04:27:58 -04:00
Adomas Venčkauskas
7d424f6d12 Return notes from /saveItems connector endpoint 2018-04-05 15:27:02 +03:00
Dan Stillman
bddb5ed243 Target selector: Fix moving translated items between certain libraries
Moving a translated item from a non-filesEditable library to a
filesEditable library would fail (because the endpoint handler was named
"SaveItem" instead of "SaveItems").

Fixes zotero/zotero-connectors#235
2018-04-05 05:41:45 -04:00
Adomas Venčkauskas
ac180c2324 Fix initial integration action requiring a slow citeproc (re)load
(Regression 9c7271c6)
2018-04-04 13:52:33 +03:00
Dan Stillman
d4fce3c855 Update citeproc-js to 1.1.201 2018-04-04 03:34:24 -04:00
Dan Stillman
3b17681db3 Update citeproc-js to 1.1.200 2018-04-03 18:41:40 -04:00
Dan Stillman
13f788f3f1 Update locales from Transifex 2018-04-03 00:10:06 -04:00
Dan Stillman
4f9847da04 Save parent item to correct library when recognizing PDF without DOI 2018-04-02 15:34:22 -04:00
Dan Stillman
a8d199967e Fix crash if item field invalid for new type is open on type change
https://forums.zotero.org/discussion/71200/bug-when-changing-item-type-report-id-607330517
2018-04-01 15:34:44 -04:00
Dan Stillman
8d0dc359b4 Move prefs.js parsing to Zotero.Profile.readPrefsFromFile(prefsFile) 2018-04-01 13:44:10 -04:00
Dan Stillman
7f81e62bc8 Automatically create new data directories for additional profiles
E.g., if you have a main profile using ~/Zotero and create a second
"Work" profile, a "~/Zotero Work" data directory will be created
automatically and set as a custom data directory
2018-04-01 13:36:00 -04:00
Dan Stillman
0b384abe66 Fix DST display bug in Accessed and a few other date fields
If you entered a date that was in DST (including the current date at
00:00:00) but you were in standard time, the previous day was displayed.

Since access dates for saved items include explicit timestamps and most
people don't work between the hours of midnight and 3 a.m., this didn't
come up very often, and it was easy to miss when it did, since you'd be
unlikely to notice it for previously entered dates. (Someone noticed it
today because DST ended in Australia.)

This only affected the item pane, so citations were unaffected.
2018-04-01 08:17:06 -04:00
Dan Stillman
350b47364e Allow library switching in target selector
If switching from a filesEditable library to a non-filesEditable
library, files are removed. If going the other direction (including if
the original save was to a non-filesEditable library), the save is
performed again from the beginning in order to include attachments. If
switching between two filesEditable libraries, the storage directory is
just moved.

Addresses zotero/zotero-connectors#220
2018-03-31 08:26:40 -04:00
Dan Stillman
9e955bde99 Add Zotero.Item.prototype.moveToLibrary()
Move an item and its attachments to another library. Attachments are
removed as necessary if linked files or all files aren't supported in
the target library.
2018-03-31 08:26:36 -04:00
Dan Stillman
bc141ce36b Add .allowsLinkedFiles property to Zotero.Library objects 2018-03-31 08:26:36 -04:00
Dan Stillman
20df18636d Keep track of recent save targets for target selector
Addresses zotero/zotero-connectors#220
2018-03-31 08:25:39 -04:00
Dan Stillman
37e850c67b Reopen targeted collection on window open if closed at save time (macOS) 2018-03-30 01:55:04 -04:00
Dan Stillman
5a08d22dbf Fix attachment save failure on macOS with window closed
Use hiddenDOMWindow if no other window
2018-03-30 01:47:54 -04:00
Dan Stillman
fe5af63277 Update citeproc-js to 1.1.199 2018-03-29 18:27:52 -04:00
Dan Stillman
52c1249523 Fix weird test failure after c5cd38b4a5
The change in c5cd38b4a5 seems like it shouldn't have had any effect,
but creating an empty Set before yielding somehow avoided a race
condition with the subsequent updateSession call.
2018-03-29 08:29:37 -04:00
Dan Stillman
c5cd38b4a5 Additional comments and cleanup for target selector handler 2018-03-29 07:44:44 -04:00
Dan Stillman
9b9773db16 Skip items in save session that no longer exist
Ideally I guess the entry would be removed from the save popup in the
connector and a second button click would do a fresh save rather than
reopening the popup, but for now just avoid an error.

Addresses zotero/zotero-connectors#220
2018-03-29 07:44:41 -04:00
Dan Stillman
a4aabd9f3e Don't select items in trash on target selector change
Items in the trash will still be updated properly (since they can still
exist in collections and have tags), but the collection selected in the
target selector should remain selected in the client.

Addresses zotero/zotero-connectors#220
2018-03-29 07:44:37 -04:00
Dan Stillman
00d85fb6da Update parent item from target selector if item was made a child item
This is necessary for automatic PDF recognition.

Addresses zotero/zotero-connectors#220
2018-03-29 07:44:25 -04:00
Dan Stillman
0f6b712963 Return proper text for 409 errors from HTTP server 2018-03-29 07:11:35 -04:00
Dan Stillman
46eb84e859 Add Zotero.Item.prototype.parentItem getter 2018-03-29 07:11:15 -04:00
Dan Stillman
38330e4c13 Support target selector sessions for /connector/import 2018-03-28 08:46:13 -04:00
Adomas Venčkauskas
bff7cee374 Add a test case for copied citations (for 9c7271c6) 2018-03-28 14:55:46 +03:00
Adomas Venčkauskas
9c7271c606 Fix citations copied from other documents causing citeproc errors
Might slow down the initial interaction with a document in
automatic updates mode.
2018-03-28 14:42:38 +03:00
Dan Stillman
9ae582e345 Fix non-HiDPI tag swatches when item type image is low-res 2018-03-28 01:24:05 -04:00
Dan Stillman
3c5bc44ddf Fix potential upgrade error from c96363746b
If a related item was defined using both an old userID and the current
one, the schema upgrade step could fail.
2018-03-27 10:42:01 -04:00
Dan Stillman
3db915516a Update locales from Transifex 2018-03-27 10:34:51 -04:00
Dan Stillman
24b9612a56 Force empty storage filenames to '_'
Hopefully fixes https://forums.zotero.org/discussion/71039/sync-error-empty-path-for-item
2018-03-27 10:27:23 -04:00
Adomas Venčkauskas
4e977f91cc Ensure citation fields are properly initialized (regression 3445519) 2018-03-27 12:45:04 +03:00
Adomas Venčkauskas
3445519714 Fix citationByIndex[i].sortedItem errors during citation insertion
Caused by inproper handling of copy-pasted citations in documents
2018-03-26 15:31:26 +03:00
Dan Stillman
32aebd388b Fix upgrade error in c96363746b if no related items 2018-03-26 04:48:32 -04:00
Dan Stillman
c96363746b Fix related-item relations pointing to a previous user account
If somebody switched accounts in a previous version, it was apparently
possible for related items to end up pointing at an item URI with the
old userID, which could cause a 403 on sync.

https://forums.zotero.org/discussion/70989/report-id-477331252

(5.0 deletes data when switching accounts to avoid exactly this sort of
bug.)
2018-03-26 02:12:20 -04:00
Dan Stillman
43692ee564 Use HiDPI icons in related-items box 2018-03-26 02:12:20 -04:00
Martynas Bagdonas
39ed2217cd Return pdfMaxPages to search preferences (#1475) 2018-03-26 02:12:05 -04:00
Dan Stillman
2effad4f6a Add function to delay syncs, and connector server endpoint to trigger it
This will allow the connector to delay syncs while the target selector
window is open, and it can probably be used for imports and other
things.
2018-03-25 05:15:36 -04:00
Adomas Venčkauskas
b9837c690d Fix item URLs not unproxifying when saving from the connector
Regression from zotero/zotero-connectors#b7a0872
2018-03-22 15:36:52 +02:00
Dan Stillman
67b34b1482 Create automatic (not manual) tags when retrieving PDF metadata by ISBN
https://forums.zotero.org/discussion/71003/metadata-problem
2018-03-21 12:58:20 -07:00
Dan Stillman
447659cdab Update locales from Transifex 2018-03-21 09:13:01 -07:00
Dan Stillman
8782eaf507 Merge new English strings 2018-03-20 15:41:46 -07:00
Dan Stillman
dabd7c1055 Update locales from Transifex 2018-03-20 15:31:58 -07:00
Adomas Venčkauskas
3e39cb33d9 Shows original and modified citation in warning prompt. Closes #1468 2018-03-20 11:57:09 +02:00
Dan Stillman
d44cc05c3d Use 1.25dppx for HiDPI icon threshold
On some laptops, scaling settings might cause the DPI to drop between
96 (1x) and 144 (1.5x), and downscaled icons are probably better than
upscaled ones.
2018-03-19 13:46:50 -07:00
Adomas Venčkauskas
a12b997b8a Fix corrupt citation prompt going into recursive loop 2018-03-19 11:37:07 +02:00
Adomas Venčkauskas
8d3e893aec Fix alert not displaying after failed style install 2018-03-19 11:37:07 +02:00
Philipp Zumstein
0bb2bdcbe3 Replace p tag with two line breaks in ZU.cleanTags (#1465) 2018-03-18 23:35:49 -07:00
Adomas Venčkauskas
a659c6c6ff Fix edited citation prompt not displaying (regression 25d8898) 2018-03-17 21:47:36 +02:00
Adomas Venčkauskas
749faabb46 Fix [(j-1)].sorteditems.slice(...)[0] is undefined integration error
Caused by empty citations being present in the document (i.e. without
any cited items and placeholder text like {Citation}).
2018-03-17 21:39:21 +02:00
Martynas Bagdonas
7b8f2e1dfe Use language field returned from recognizer-server 2018-03-16 11:23:41 -07:00
Dan Stillman
cf12f1e9cc Update citeproc-js to 1.1.193 2018-03-15 10:13:41 -07:00
Dan Stillman
da08d7f078 Update locales from Transifex and merge new English strings 2018-03-15 00:23:42 -07:00
Dan Stillman
06e17fd76d "Choose File Handler" -> "Choose Application" for PDF viewer
(And potentially others in the future)
2018-03-15 00:13:04 -07:00
Dan Stillman
d145cff000 Update locales from Transifex and merge new English strings 2018-03-14 10:23:24 -07:00
Adomas Venčkauskas
e3648dfda0 Ensure delayed citation prompt strings are localizable 2018-03-14 19:08:38 +02:00
Adomas Venčkauskas
25d8898ab0 Ensure that document refresh doesn't perform needless text writes 2018-03-14 15:27:10 +02:00
Adomas Venčkauskas
92346c8fb9 Clarify location of refresh button in delayed citation copy 2018-03-14 13:21:22 +02:00
Adomas Venčkauskas
6f6e18b406 Increase citation delay prompt timeout to 15 seconds
By prompting after 3 seconds we catch a lot of people who click through
the prompt without bothering to read or figure out what it does and then
come to the forums report the citing "bugs". An increased timeout will
catch less people and those who are caught are possibly more likely to
figure out how delayed citing updates work since they would greatly
benefit from it.
2018-03-14 09:22:00 +02:00
Adomas Venčkauskas
6c5aa06d6b Fix integration delayed citations popup timer. Closes #1461 2018-03-12 14:52:46 +02:00
Dan Stillman
c04b85e746 Use all DOI translators for metadata retrieval
The old recognizer code only used CrossRef, and the new code copied
that, but I think the old code simply predated additional DOI
translators and was never updated.
2018-03-11 18:16:19 -04:00
Dan Stillman
71bee9cfe7 Update locales from Transifex 2018-03-11 03:01:21 -04:00
Dan Stillman
877ff972a9 Select created items when importing RIS/BibTeX from connector 2018-03-11 01:20:40 -05:00
Dan Stillman
137a0ebbfd Don't delete automatic tags after web translation
Regression from c8cf9b9e6f, probably
2018-03-10 11:18:44 -05:00
Dan Stillman
3dcdd7f2ba Safer fix for external note focus issues
Follow-up to 96e96c0348 and 07efe0304e
2018-03-09 15:15:18 -05:00
Dan Stillman
07efe0304e Fix separate-window button for child notes (broken by 96e96c0348) 2018-03-09 15:01:33 -05:00
Dan Stillman
efe5d8669c Update locales from Transifex 2018-03-09 14:35:41 -05:00
Dan Stillman
96e96c0348 Focus correct note window when multiple note windows are open
Probably broken by dcfaa5521e
2018-03-09 14:26:18 -05:00
Dan Stillman
6745ea9868 Fix multiple-item context menu (broken by 7e3bad7390) 2018-03-09 06:58:46 -05:00
Dan Stillman
6c8cf71c9a Select parent item after metadata retrieval if only PDF was selected
TODO: select all parents
2018-03-09 06:57:43 -05:00
Dan Stillman
16ad422e89 Fix cut-off top line of search bar on Windows 2018-03-09 06:35:22 -05:00
Dan Stillman
da30f9e25c Restore attachment title and filename when undoing Retrieve Metadata 2018-03-09 01:07:57 -05:00
Dan Stillman
f5a2534169 Update locales from Transifex 2018-03-08 22:03:59 -05:00
Dan Stillman
81a75d79be Keep PDF handler menulist the right size 2018-03-08 22:03:59 -05:00
Adomas Venčkauskas
f871da17c8 Don't hide the automatic citation updates option in doc prefs 2018-03-08 22:23:59 +02:00
Dan Stillman
2f7c93a4e6 Merge new English strings 2018-03-08 04:07:01 -05:00
Dan Stillman
23ebdedf48 Allow a day for undo/report for metadata retrieval, not an hour 2018-03-08 04:06:30 -05:00
Dan Stillman
7e3bad7390 "Undo Retrieve Metadata" and "Report Inaccurate Metadata"
New context menu options for items that were recognized in the last day
and that haven't been modified
2018-03-08 03:53:39 -05:00
Adomas Venčkauskas
cc5c17a6e1 Fix embedded items not showing up in the citation dialog.
Regression in 2ad0dc00d, bad fix in 553d2b00. Closes #1448
2018-03-08 10:25:00 +02:00
Dan Stillman
438d9669c1 Fix font size scaling of tag selector tags on macOS and Linux 2018-03-07 22:16:18 -05:00
Dan Stillman
ea569b8b1a Prevent note font size pref from being cut off 2018-03-07 04:52:52 -05:00
Dan Stillman
37eb26df36 Merge new English strings 2018-03-07 04:52:52 -05:00
Dan Stillman
647463cc61 Reorganize file prefs and add UI for choosing PDF handler
- Add a File Handling section to the General pane of the preferences,
  and move several prefs from Miscellaneous to there
- Add a UI to that section for choosing the PDF handler
- Update Zotero.launchFileWithApplication() to use /usr/bin/open on
  macOS if the handler is an .app (which it will be if set through the
  chooser, since it's limited to Mac applications, though an executable
  can still be set via the hidden pref if desired for some reason)
- Move prefs for style/translator updates and translator error reporting
  (which isn't particularly relevant anymore in the client) to Advanced

By default the PDF handler chooser says "System Default", which isn't
the nicest thing, and there's probably a way to get/guess the system
default, since Firefox seems to know it (at least on macOS), but I
couldn't quickly find a way to do it.

Addresses #1450
2018-03-07 04:52:51 -05:00
Adomas Venčkauskas
079cb258f4 Fix unloaded citation items being serialized with string IDs 2018-03-06 11:46:49 +02:00
Dan Stillman
b25d99c241 Only show Quick Copy menu option when appropriate 2018-03-06 04:38:45 -05:00
Dan Stillman
c4a64216ce Reduce idle CPU use to ~0%
Various animated things (search spinner, progress meters) were using CPU
even when hidden, either because they weren't properly hidden
(equivalent of `display: none` rather than `visibility: hidden`) or
because of bizarre Firefox bugs with progress meters on Linux.

Addresses #1455
2018-03-06 04:19:01 -05:00
Dan Stillman
da09a3bb96 Allow custom handler for PDF files
Configurable via extensions.zotero.fileHandler.pdf hidden pref for now,
though we'll probably make it a visible pref.

We also appear to have been doing blocking launches when launch()
failed, which may have been causing UI hangs when opening files on some
Linux installations. (I'm not sure if that's an issue with recent
Firefox builds. launch() works on Ubuntu 17.10.) All launches are now
async.

This is a rewritten version of PR #1450 by @ehhc.

Closes #1450
2018-03-05 19:36:50 -05:00
Dan Stillman
f6926ccda6 Additional debugging lines for connector sessions 2018-03-05 18:10:17 -05:00
Dan Stillman
de4aa4c240 Update locales from Transifex 2018-03-05 18:08:22 -05:00
Dan Stillman
23bbb5a1e5 Make atob() available in translator sandbox
Addresses zotero/translators#1576
2018-03-05 18:08:22 -05:00
Dan Stillman
87efe75e24 Fix blue toolbar background on Windows with DWM compositor
Applies to Windows 7 with Aero effects and later Windows versions
2018-03-05 17:18:12 -05:00
Adomas Venčkauskas
381351b433 Fix an error being logged when window to activate is gone on Linux 2018-03-05 14:28:07 +02:00
Adomas Venčkauskas
13766e1f6c Show delayed citations checkbox in doc prefs dialog after initialization
Closes #1458
2018-03-05 14:26:57 +02:00
Adomas Venčkauskas
5a1cf3ab02 Fix dead integration field object function calls 2018-03-05 13:46:59 +02:00
Dan Stillman
3f905be77e Reduce delayed-citations timeout to 3 seconds
5 seconds is too long
2018-03-05 02:16:55 -05:00
Dan Stillman
44632e2218 Make the Windows UI somewhat less unpleasant
- Get rid of the hideous blue effect in the menubar and toolbar
- Slim down splitters
- Get rid of awful grippies except when collapsed (and make them
  slightly less ugly in the collapsed state)
- Reduce spacing of tags in tag selector
- Tweak twisty spacing
- Get rid of stray line to the right of item pane tabs

We may still want to get rid of the menubar (#366), and we can do better
than the ugly gray backgrounds (#365), but this is a start.

I'm not sure if everything will look the same on all Windows versions,
so this will need a little testing.

Closes #367
2018-03-02 20:28:51 -05:00
Dan Stillman
724329d948 Prevent Undo from clearing existing note
When loading the first note of a session in the right-hand pane or when
loading a note in the separate window, if you made a change and then
pressed Undo twice (or maybe only once in some situations), it could
undo to empty (though you could usually Redo to restore it).
2018-03-01 22:41:33 -05:00
Dan Stillman
bf122add81 Remove special handling of Cmd-Shift-Z in notes
No longer relevant in standalone app
2018-03-01 22:41:33 -05:00
Dan Stillman
1f320e1f5d Be more lenient about Extra field values than citeproc-js
Allow fields like "Original Date: 2018" and convert them to
"original-date: 2018" when sending to citeproc-js.

For reference:

http://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html#cheater-syntax-for-odd-fields
2018-03-01 17:05:24 -05:00
Dan Stillman
e1e5178869 Shorten auto-renaming pref
So we now have autoRecognizeFiles and autoRenameFiles.
2018-03-01 04:09:17 -05:00
Dan Stillman
6e4d6a2820 Disable background full-text processing during tests 2018-03-01 03:45:58 -05:00
Dan Stillman
7e290b262c Fix bug in 97661539dc 2018-03-01 03:04:25 -05:00
Dan Stillman
0d4fd26be9 Merge new English string 2018-03-01 02:03:00 -05:00
Dan Stillman
00b2823612 Avoid repeating line in Zotero.Fulltext.indexItems() 2018-03-01 01:28:28 -05:00
Dan Stillman
b50b055e44 Wait for DB transaction to end before indexing string
This might help avoid timeouts during indexing.

Addresses #1284
2018-03-01 01:28:28 -05:00
Dan Stillman
1cfc90186f Serialize attachment indexing
Add newly added attachments to a queue, start processing it after five
seconds have passed since the last attachment was added, and process
another every half second after that unless another is added.

This queue won't survive a restart, so the queue should really be in the
DB, but this should avoid problems when adding multiple attachments at
once.

Addresses #1284
2018-03-01 01:28:28 -05:00
Dan Stillman
26dcaad76a Don't show Reindex button for files that aren't PDFs or text files 2018-03-01 01:28:28 -05:00
Dan Stillman
97661539dc Automatically retrieve metadata when saving PDFs
Applies to dragging to the collections pane or the items pane, adding
via New Item menu, or saving via the connector server

If the renaming pref is enabled, the PDF is renamed after recognition.

Can be disabled in the preferences

Closes #917
2018-03-01 01:28:28 -05:00
Dan Stillman
081793f72f Disable auto_focus for TinyMCE
TinyMCE triggers a focus on the window itself, which means that the
window steals focus when an attachment is created even if another Zotero
window is in front. Instead, do a manual focus in the external note
window, which is the one place I could find where we rely on it (though
there might be others).
2018-03-01 01:20:29 -05:00
Dan Stillman
3cc92fe1e9 Fix PDF recognition within collection (broken by f8b41c971c) 2018-03-01 01:20:29 -05:00
Dan Stillman
f99038fd37 Fix recognizer dialog with multiple tests
Do cleanup on 'unload' rather than 'close' (which is limited to a click
on the close button and doesn't get called for win.close()) and clear
the queue after each test.
2018-03-01 01:20:29 -05:00
Dan Stillman
757709cf43 Fix auto-rename after PDF recognition (wrong pref in f8b41c971) 2018-03-01 01:20:29 -05:00
Dan Stillman
da49f9900f Add 'window' getter to CollectionTreeView and ItemTreeView 2018-03-01 01:20:29 -05:00
Dan Stillman
aff2bef3f5 Fix scope of Zotero_RecognizePDF_Dialog
When Window is accessed from another scope (e.g., ItemTreeView), the
`let` somehow prevents Zotero_RecognizePDF_Dialog from showing up on the
Window object like all the other objects loaded via <script>.
2018-03-01 01:19:30 -05:00
Dan Stillman
153ed728cb Update citeproc-js to 1.1.190 2018-02-28 04:31:22 -05:00
Dan Stillman
e03ecfae98 Update locales from Transifex and merge new English strings 2018-02-28 02:52:52 -05:00
Dan Stillman
1d367f0165 Fix await->yield in f8b41c971 2018-02-27 19:24:28 -05:00
Dan Stillman
f8b41c971c Automatic attachment file renaming changes
Automatic renaming is now done for dragging of an external file onto an
item (as added in 7cb95f41) as well as dragging as a linked file,
dragging a non-native (not text or HTML) URL, "Attach Link to File…",
"Attach Stored Copy of File…", and "Retrieve Metadata for PDF". It only
applies if a single file is being added and if the parent item has no
non-HTML attachments. By default, the renaming only applies to PDFs, but
this can be changed with the renameAttachmentFiles.automatic.fileTypes
hidden pref.

A new General pref, "Automatically rename attachment files using parent
metadata", controls whether the renaming happens.

Files saved via web translators are renamed regardless of this pref,
because they would often be gibberish otherwise.

Closes #113
2018-02-27 18:45:03 -05:00
Dan Stillman
68879a0ffc Replace some nsIWindowMediator getService() calls with Services.wm 2018-02-27 18:44:51 -05:00
Dan Stillman
b0d9a9c82e Don't use hidden browser to download images 2018-02-27 16:05:35 -05:00
Dan Stillman
f5b1ee44f3 Add Zotero.File.rename() (extracted from Zotero.Item::renameAttachmentFile()) 2018-02-27 14:24:26 -05:00
Dan Stillman
c0b63e5928 Better handling of 403 for attachment metadata upload
Check file-editing access for the group from the API before offering to
reset, update the filesEditable setting properly, and restart the sync
automatically after resetting.
2018-02-23 17:59:32 -05:00
Dan Stillman
5ed10c6ba2 Make Esc in PDF recognizer window close rather than minimize if done 2018-02-23 02:38:01 -05:00
Dan Stillman
7c64666167 Use separate subdomain for recognizer requests for now 2018-02-22 02:01:05 -05:00
Dan Stillman
c28c8c820b Improved PDF recognizer and 1x PDF icons 2018-02-22 01:04:11 -05:00
Dan Stillman
3fbb4633a6 Update locales from Transifex and merge new English strings 2018-02-22 01:04:07 -05:00
Dan Stillman
9ce9502b76 Tweak recognizer strings 2018-02-22 01:04:00 -05:00
Dan Stillman
a8312acfe0
Merge pull request #1420 from mrtcode/recognizer
New PDF recognizer
2018-02-21 13:59:50 -05:00
Dan Stillman
9cb2b8167d Throw actual error if file open fails in md5Async() 2018-02-21 10:22:59 -05:00
Dan Stillman
164fea0cec Updated journal article icon with fixed transparency 2018-02-20 12:19:43 -05:00
Martynas Bagdonas
991a50d090 New PDF recognizer 2018-02-20 09:32:06 +02:00
Dan Stillman
ce0dd5cc5e Update citeproc-js to 1.1.186 2018-02-19 07:23:38 -05:00
Dan Stillman
55b30dd08c Update locales from Transifex and merge new English strings 2018-02-18 16:11:07 -05:00
Dan Stillman
7fed34fa30 Hide Accessed row in attachment box when provided
If, say, a link without an access date is created via an import
2018-02-18 15:24:28 -05:00
Dan Stillman
30b59ebc95 Show full URL in tooltip when hovering over attachment URL 2018-02-18 15:24:08 -05:00
Dan Stillman
2200badef2 Nicer, localized messages for various field-too-long sync errors
Closes #351
Closes #1177
2018-02-18 15:21:13 -05:00
Dan Stillman
63f206c80e Hard-code strings and tweak styling for disabled word processor plugins
This will hopefully be both temporary and rare, so let's not bother
localizing htem.
2018-02-16 06:43:48 -05:00
Adomas Venčkauskas
628bc536a0 Add a button in preferences to enable word plugins if some are disabled 2018-02-16 11:39:48 +02:00
Adomas Venčkauskas
00e52ae62b Improves citation processing speed
Prevents from unnecesarily sending the same citation to citeproc
multiple times
2018-02-15 12:26:50 +02:00
Dan Stillman
bb925723fd Automatically set Referer for external attachment downloads
Rather than requiring translators to explicitly set a referrer, as
proposed in #772 and #1375, this simply sets it to the URL where the
save button was triggered. This fixes the Project Euclid example
in #772. It's possible it won't fix all cases, since the translator might
build the URL manually or via an intermediate page, but hopefully it
will fix the majority of cases.

I guess there's a possibility that this would break something that
currently works, but it's hard to imagine a site would block based on
the wrong referrer from the right site and not block on no referrer.

Unlike #1375, this doesn't bother with the referrer for native downloads
(e.g., snapshots or images). The former probably don't need it, and the
latter should probably be switched to use `saveURI()` anyway.

This might also fix zotero/translators#523 (SSRN) if the translator
allowed it.

Closes #1375
2018-02-15 02:13:49 -05:00
Sean Takats
081f6bc77d
New tag selector colors. 2018-02-14 13:59:37 +01:00
Sean Takats
d0aaa7165c
Adds 10 more HiDPI itemType icons. 2018-02-14 11:56:49 +01:00
Sean Takats
a8c19b4d8b
Probably adds HiDPI/Retina icon for thesis. 2018-02-14 09:58:16 +01:00
Dan Stillman
942b8b91f3 Simplify error logging in translator architecture
Hopefully the previous stuff is no longer necessary
2018-02-13 19:26:10 -05:00
Dan Stillman
542584eed3 Make no-results error for search translation available as a property
This allows translation-server to return a specific error code when
there were no results.

Also clarify the debug logging for search translation.
2018-02-13 19:26:10 -05:00
Dan Stillman
4fdfdd341b Fix hang for invalid DOI in translation-server /search 2018-02-13 19:26:10 -05:00
Dan Stillman
a937c99f09 Return "Not Implemented" from server for 501, not "Method Not Implemented" 2018-02-13 19:26:10 -05:00
Dan Stillman
aedd361569 Fix startup error in new PDF code if application directory is read-only
In Firefox 52, `FileUtils.getFile()` tries to create the path to the
file even if the path array is empty. (In later versions (maybe in 54,
which we're using on macOS) it only does this if more than one path
component is provided.) We only need the special directory anyway, so we
can just use `getDir()`.
2018-02-13 19:26:10 -05:00
Adomas Venčkauskas
e72da417c0 Fix citeproc errors upon first interaction with the doc 2018-02-12 11:35:24 +02:00
Adomas Venčkauskas
8e2c47933a Fix noteIndex not being passed to citeproc. Closes #1439 2018-02-12 10:58:46 +02:00
Adomas Venčkauskas
966c293dea Add a pref to always show doc integration automatic updates option 2018-02-12 10:47:16 +02:00
Dan Stillman
f04a8c3736 Fix "channel is undefined" for invalid HTTP response during WebDAV sync
Follow-up to 4bbae6e17

We're now using Zotero.HTTP.request(), which does its own checking for
security errors, so there's no need to do WebDAV-specific checks (though
we could consider checking for Zotero.HTTP.SecurityError and showing
more specific messages, since a self-signed certificate is more likely
in the case of WebDAV).
2018-02-11 01:07:16 -05:00
Dan Stillman
4bbae6e17a Better handling of invalid HTTP responses
If a server returns an invalid HTTP response (e.g., Content-Encoding:
gzip with a plaintext body, a.k.a. NS_ERROR_INVALID_CONTENT_ENCODING)
but we can still parse a 4xx or 5xx HTTP response code, use that for the
XHR status, since it might be enough for what we need to do (e.g.,
verify a 404 from a WebDAV server). This fixes a current problem with
Box [1].

Also fix a "msg is not defined" error when the XHR status is 0 but the
SSL connection is fine and include the channel and response status on
the UnexpectedStatusException object (though both of these would now
only happen on an invalid 2xx response, when the XHR status would remain
as 0).

[1] https://forums.zotero.org/discussion/comment/301014/#Comment_301014
2018-02-10 22:18:45 -05:00
Dan Stillman
1aade0f268 Fix detection of WebDAV settings changes when clicking Verify Server
onchange() weirdly isn't called when clicking off the textbox to a button

Fixes #1291
2018-02-10 07:29:18 -05:00
Adomas Venčkauskas
9ed1792d9e Fix citation text editor (regression 09ceaa953) 2018-02-09 16:15:12 +02:00
Dan Stillman
e9a3f9b0e0 Show "More Information…" button on WebDAV SSL cert error
(Though the button takes you to to
https://www.zotero.org/support/kb/ssl_certificate_error rather than
https://www.zotero.org/support/kb/incomplete_cert_chain, since the error
comes from Zotero.HTTP.)
2018-02-09 02:39:34 -05:00
Dan Stillman
84d8bb4020 Fix "msg is not defined" on HTTP connection failure 2018-02-09 02:34:52 -05:00
Dan Stillman
ad53b3311e Update locales from Transifex and merge new English strings 2018-02-08 03:23:16 -05:00
Dan Stillman
bd7e1b222d Wait for any DB transactions to finish before starting sync
purgeDataObjects(), which runs at the beginning of the sync process,
uses transactions, and those can fail after the default wait timeout if
there's another active transaction. Instead, check explicitly for
another transaction and, if there is one, display a nice message and
wait for it to finish. This isn't foolproof, but it should reduce the
frequency of "operation timed out" sync errors. (Avoiding all long
transactions would be a better solution.)
2018-02-08 03:06:06 -05:00
Dan Stillman
3f6ecc0021 Fix "Can't queue event outside of a transaction"
If a transaction took over 30 seconds and another transaction timed out
waiting for it, the second transaction would reset the notifier queue,
but if the first transaction then tried to queue an event, it would fail
with this error and roll back. (It would be nice to figure out why
transactions are taking over 30 seconds, though.)
2018-02-08 02:07:44 -05:00
Dan Stillman
80cfd609ea Add sessionID option to translate() that gets passed to the ItemSaver
This will allow the connector to send a sessionID with a save request.
2018-02-07 04:04:37 -05:00
Dan Stillman
c8cf9b9e6f Support for connector-based save target selection
- Updates /saveItems and /saveSnapshot to take a sessionID
- Provides a list of editable collections in the current library
- Adds an /updateSession method that takes a sessionID and updates the
  collection and tags of any items saved via that operation (and changes
  the currently selected collection)

Cross-library changes are not yet supported
2018-02-07 04:04:37 -05:00
Dan Stillman
45ddf9827c Reset PDF tools path for tests in resetDB()
And include path on error when running PDF tool
2018-02-07 04:04:37 -05:00
Dan Stillman
06fb74aafd Use rowid to clean invalid entries from translatorCache
Since in truly weird cases [1] fileName might not exist

https://forums.zotero.org/discussion/comment/300558/#Comment_300558
2018-02-06 23:46:17 -05:00
Adomas Venčkauskas
46854b6b23 Amend comment regarding citationsByIndex keys sort order 2018-02-06 16:08:06 +02:00
Adomas Venčkauskas
4add3ec44c Fix field type changes triggering citation modified prompts 2018-02-06 15:19:08 +02:00
Adomas Venčkauskas
09ceaa953b Fix some more citation update bugs 2018-02-06 15:09:20 +02:00
Adomas Venčkauskas
edc18a4fe4 Remove LibreOffice specific setText() calls (addressed within plugin) 2018-02-05 14:15:51 +02:00
Dan Stillman
38411fb56c Allow dragging parent items to collection if children are selected
This is a simplified version of the fix from #872. Unlike the proposal
in #36, this doesn't require all child items to be selected, since in a
search some children might be grayed out. If the child of an unselected
parent item is included, the drag isn't allowed.

Closes #36
2018-02-03 04:15:09 -05:00
Adomas Venčkauskas
948a4dda64 Fix citation preview citeproc error. Closes #1430 2018-01-31 14:13:32 +02:00
Adomas Venčkauskas
97a045fe0f Fix slow display of citation dialog on first interaction with doc 2018-01-31 12:59:54 +02:00
Dan Stillman
b7a24a58fb Use temp directory for recognizePDFCache.txt 2018-01-31 05:35:13 -05:00
Dan Stillman
31f0f0d210 Fix "Retrieve Metadata for PDF" with bundled PDF tools 2018-01-31 05:34:22 -05:00
Dan Stillman
2d43518ef2 Reduce minimum width of Zotero pane to 670px
We could potentially do more, but this is the narrowest the pane can be
with the left pane collapsed without starting to hide toolbar icons, so
let's try this. (This will still hide the sync icon if the left pane
isn't collapsed.)

Closes #675
Closes #1183
2018-01-30 19:12:05 -05:00
Dan Stillman
e4a399671a Don't show Title in column picker, because hiding it doesn't make sense 2018-01-30 19:11:47 -05:00
Dan Stillman
2219bd9861 Update locales from Transifex 2018-01-29 17:38:56 -05:00
Dan Stillman
eca9d82aa2 Update submodules 2018-01-29 17:22:35 -05:00
Dan Stillman
4a41f219d8 Update citeproc-js to 1.1.183 2018-01-29 17:21:16 -05:00
Dan Stillman
5b46735204 Fix test breakage from d67c654245 2018-01-26 04:24:34 -05:00
Dan Stillman
c5fa1303e3 Prompt to reset local group files on 403 for file attachment upload
And reset modified file attachments when resetting files
2018-01-26 03:37:57 -05:00
Dan Stillman
d67c654245 Add version option to toResponseJSON() 2018-01-26 03:37:57 -05:00
Dan Stillman
3390f2405b Warn about version 0 when saving to sync cache
This should be an error, because the API will never return 0, but most
tests don't currently set the version properly in the response JSON.
2018-01-26 03:37:57 -05:00
Adomas Venčkauskas
d857a813b9 Fix integration test errors. Closes #1426 2018-01-25 12:48:12 +02:00
Adomas Venčkauskas
fe4b75758d Fixes index is not defined error. Closes #1422 2018-01-25 12:39:50 +02:00
Adomas Venčkauskas
2523bca659 Fix slow citation dialog initialization
Report: https://forums.zotero.org/discussion/69929/beta-delay-citation-feature
2018-01-25 12:35:02 +02:00
Adomas Venčkauskas
8544618445 Fix footnote edit crashing in MacWord 2018-01-24 16:00:24 +02:00
Dan Stillman
0bb0912a7b Enable 2x PDF icon 2018-01-24 06:15:23 -05:00
Adomas Venčkauskas
d41c8d6489 Fix an integration error when bibl present without citations 2018-01-22 13:26:43 +02:00
Adomas Venčkauskas
553d2b00d8 Fix 'id must be a positive integer' integration error
Report: https://forums.zotero.org/discussion/comment/298804#Comment_298804
2018-01-22 13:25:11 +02:00
Dan Stillman
2194dff7a4 Fix startup hang if note is null in database 2018-01-19 12:57:57 -05:00
Martynas Bagdonas
5815088586 Fix PDF tools usage in tests 2018-01-18 12:23:27 +02:00
Martynas Bagdonas
77ffc6ad5d Deleted strings that are no longer in use 2018-01-17 13:33:18 +02:00
Martynas Bagdonas
0d5ea8520a Use the bundled PDF tools 2018-01-17 13:33:18 +02:00
Dan Stillman
d662a828d1 Update locales from Transifex and merge new English strings 2018-01-16 13:25:23 -05:00
Dan Stillman
48757f08ff Add missing spinners from 87cf336e2 2018-01-16 12:53:31 -05:00
Dan Stillman
17d4515002 Tweak padding in doc prefs 2018-01-16 12:53:31 -05:00
Dan Stillman
e4cc28ac60 Tweak wording of delayed-citations mode
"Delay citation updates until manual refresh" would be fine in the doc
prefs, but "until manual refresh" is a bit too awkward for the prompt.
Instead, go with @rmzelle's suggestion from #1242 of referring to
"automatic citation updates", and invert the checkbox.
2018-01-16 12:53:12 -05:00
Dan Stillman
cc9efde843 Fix translator architecture hangs on bad JSON in translatorCache 2018-01-16 11:31:34 -05:00
Dan Stillman
2b8311d3d7 Start sync icon spinning before purging data 2018-01-16 09:12:14 -05:00
Dan Stillman
0cd50b5560
Merge pull request #1242 from adomasven/feature/delay-updating-citatations
Refactor integration and delay citation updates
2018-01-16 09:11:21 -05:00
Adomas Venčkauskas
2b27e40308 Refresh citation text upon citation insertion 2018-01-16 14:04:13 +02:00
Adomas Venčkauskas
b985ef8a53 Ensure delayed citation styling is removed upon proper update
Ensure delayed citation styling is removed upon proper update
2018-01-16 14:04:10 +02:00
Dan Stillman
fec3fa2a72 Update locales from Transifex 2018-01-11 20:23:13 -05:00
Dan Stillman
09fc3c2b1c Update submodules 2018-01-11 20:20:32 -05:00
Dan Stillman
7cb95f4129 Automatically rename dragged file attachments from parent metadata
Rename happens if only one file is dragged and the parent item has no
existing file attachments.

Closes #1405
2018-01-10 00:39:47 -05:00
Dan Stillman
ea2feadbff Add spacing between icon and search field in Quick Format window 2018-01-08 01:08:44 -05:00
Dan Stillman
87cf336e22 Cancel active Quick Format search if another one starts
This fixes inconsistent results (#1349) from async searches finishing
out of order.

Also adds spinner when search is active
2018-01-08 01:08:28 -05:00
Dan Stillman
7d41047a9d Blacklist spurious warnings about word processor plugin update manifests 2018-01-08 00:02:47 -05:00
Dan Stillman
3f6ef7fb01 Allow "now" in Accessed field to use current time
Closes #1340
2018-01-05 03:41:08 -05:00
Dan Stillman
5847388862 Add schema update step to remove dc:isReplacedBy relations
These should've all been replaced with dc:replaces relations in a schema
update step, so any that exist were likely synced down from the API
(since fixed) and should be obsolete/redundant.
2018-01-05 02:53:27 -05:00
Dan Stillman
4ac368e052 Add "Publication" to top level of search condition drop-down 2018-01-04 22:59:23 -05:00
Dan Stillman
fdb9e20076 Clear parentKey change marker after save
Fixes #1325, Field editor closes during auto-sync of newly created
parent item
2018-01-04 19:10:41 -05:00
Adomas Venčkauskas
4b78ebcd72 Pause the document update timer during warning dialogs 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
47744e4ccd Simplify field handling
Don't use field.writeToDoc(), because it prevents from optimizing
libreoffice text writes
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
2ad0dc00da Add session.getItems in preparation for document collections 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
f8f403eca4 Display a refresh notice instead of bibliography when citing delayed 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
2827f70daa Option to delay updating citation in document.
The checkbox in doc prefs is hidden until an update takes 5s or longer
after which the user is prompted to enable delaying.
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
6d05c3472b Add more integration tests 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
5805c7e562 Integration refactor megacommit
- Removed obsolete logic for citation.properties.deleted, which is no
  longer set anywhere
- Introduced a bibliography class
- BibliographyEditInterface no longer edits state
- Fields._processFields() now has linear flow because:
- Exception handling for missing items and corrupt fields reworked to be
  handled in relevant Field classes, so that the flow remains linear
- Document modifying functions (i.e. Fields.updateDocument()) now only
  called in Zotero.Integration.Interface functions instead of all over
  the place
- document.setDocPrefs() now called after every execCommand() since
  the cost is trivial, but that simplifies a bunch of logic
- Misc code cleanup

TODO at some point in the future:
- Move Integration.(init/delete)Pipe out
- Decouple references and clarify functions in Integration.Fields and
  Integration.Session
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
f44d563a15 Add Zotero.Integration.Citation
- Moves a bunch of citation related processing from Integration.Session
- Replaces missing item handling with a function instead of exception
- Solves some really confusing flow issues in _processFields
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
a1acbd4038 Make current session globally available
Decoupling! Sessions can be instantiated without
Zotero.Integration.Interface
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
54b4ec6f5c Fix bugs for style-switching and footnote citations 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
4159c63a3b Refactor CitationEditInterface
This is the first really big change that detangles UI stuff from
directly changing state. io.citation is no longer tied to the citation
loaded in the session in any way and CitationEditInterface does not
write anything to session or document. All writes are handled in
Fields.addEditCitation()
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
41db61ecb9 Move citation unserialization
Using new es6 class syntax because getters/setters don't
retain `this` context with Zotero.extendClass and we're building
with at least FX45 on every platform now where the syntax is supported
2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
52fd0d992d Add a wrapper class for citation and bibliography fields 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
41c93ab034 Rename Integration.Document to Integration.Interface 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
18e4e37b32 Remove integration plugin version checks 2018-01-03 14:27:16 +02:00
Adomas Venčkauskas
430f58d3c4 Moves utilities code away from Zotero.Integration 2018-01-03 14:27:16 +02:00
Dan Stillman
2baa537542 Don't close clicked field when clicking away from changed field
Fixes #1401

The item box badly wants to be redone in React.
2018-01-03 02:33:36 -05:00
Dan Stillman
374eefada1 Additional try/catch to fix NS_ERROR_UNEXPECTED from tree select
Follow-up to 7cd1439928
2018-01-02 20:20:01 -05:00
Dan Stillman
2bc44dddd1 Add attr()/text() to translator sandbox
The current document is automatically used (but can still be provided as
the first argument to avoid accidental bugs during the transition).

Closes #1323
Addresses zotero/translators#1277
2017-12-27 18:26:51 -05:00
Dan Stillman
5350931617 Update locales from Transifex 2017-12-27 17:13:51 -05:00
Dan Stillman
c4fde7ebbf Fix undo in notes to not restore changes from another note
Fixes #1398
2017-12-27 17:13:39 -05:00
Dan Stillman
5fcac10db9 Update locales from Transifex 2017-12-20 21:48:36 -05:00
Dan Stillman
a1c96f1db1 Fix deletion of tags across libraries
https://forums.zotero.org/discussion/comment/296384/#Comment_296384
2017-12-20 21:48:36 -05:00
Dan Stillman
7cd1439928 Hopefully fix intermittently broken items pane
https://forums.zotero.org/discussion/69226/papers-become-invisible-in-the-middle-pane

I can't reproduce this, but it seems like if the tree disappears (due to
a collection change?) while the tree is refreshing, the toggleSelect()
in the rememberSelection() call can fail and break the tree.
2017-12-18 02:55:24 -05:00
Dan Stillman
fa33eb72b2 Fix some UI issues with storage settings
- Enable/disable download mode drop-down for groups separately from user
  library
- Fixing hiding of terms of service message when Zotero storage isn't
  selected
2017-12-18 00:34:55 -05:00
Dan Stillman
6acf208a36 Disable "Check Database Integrity" button while running 2017-12-14 23:49:08 -05:00
Dan Stillman
a85ea18fd9 Update locales from Transifex 2017-12-14 23:31:50 -05:00
Dan Stillman
0ad439395e Log skipped libraries 2017-12-14 23:20:57 -05:00
Dan Stillman
1a46196080 Use numbered placeholders for new localized strings 2017-12-14 02:18:32 -05:00
Dan Stillman
aefeb1f613 Update locales from Transifex 2017-12-13 21:05:01 -05:00
Dan Stillman
05eb3a340c Fix cursor reset while typing in attachment notes
If you started typing just as auto-save was kicking in (i.e., 1 second
after stopping typing), any additional characters could be removed and
the cursor could jump back to the beginning of the note.

Fixes #1336, probably
2017-12-12 03:33:37 -05:00
Dan Stillman
8f5903f5eb Wrap URLs and DOIs in HTML output
Closes #1387
2017-12-11 23:24:43 -05:00
Dan Stillman
9ca40890a9 Update citeproc-js to 1.1.182 2017-12-11 17:34:17 -05:00
Dan Stillman
392687f9ee Tweak a couple font sizes in Sync -> Reset pane 2017-12-11 17:34:01 -05:00
Dan Stillman
341d4f169f Updates locales from Transifex and merge new English strings 2017-12-11 03:58:07 -05:00
Dan Stillman
6051c245b4 Fix auto-focusing of notes in external window 2017-12-11 02:39:22 -05:00
Dan Stillman
dcfaa5521e Don't show note in right-hand pane when editing in separate window
- When a child note is opened in a separate window, the parent window is
  selected. (This used to work but was broken in 5.0.)
- When a top-level note is opened (via double-click), the right-hand pane
  changes to show "Editing in separate window".
- If a note that's currently open in a separate window is clicked on,
  the right-hand pane shows "Editing in a separate window".
- If a note window is closed and the item is selected, the note editor
  reappears in the right-hand pane after the note is saved.

This will avoid unnecessary UI updates and data loss bugs from the two
notes getting out of sync (and is just generally cleaner).

Also:

- General cleanup of note display code
2017-12-11 02:25:05 -05:00
Dan Stillman
b2c9a42103 Prevent Add Item by Identifier button from flashing on textbox click
Nesting the panel in the toolbarbutton seems to cause the button to
appear as if it were clicked on any click/right-click in the textbox,
and I couldn't find a way to prevent that with event.stopPropagation().

Also cleans up this code in general
2017-12-10 23:16:01 -05:00
Dan Stillman
383f8d2219 Fix context-menu paste into Add Item by Identifier
The context menu was triggering onpopuphidden, which was clearing the
textbox.
2017-12-10 17:20:13 -05:00
Dan Stillman
df38f4ded7 Avoid upload retry loops
- Don't try uploading an object more than 5 times
- Don't retry a child item if the parent item failed too
2017-12-10 03:45:08 -05:00
Dan Stillman
c723e1ebe4 Select text in search bar when using Find menu option (or shortcut)
https://forums.zotero.org/discussion/69305
2017-12-10 02:23:39 -05:00
Dan Stillman
f353b7ca61 API-based "Restore to Online Library"
Restores the "Restore to Zotero Server" functionality, now using the
API:

1. Get all remote keys and send `DELETE` for any that don't exist
   locally.
2. Upload all local objects in full (non-patch) mode using only library
   version so that the remotes are overwritten.
3. Reset file sync history, causing all files to be uploaded (or, more
   likely, reassociated with existing remote files).

Since these are treated as regular updates on the server, they'll sync
down to other clients normally. Unsynced changes by other clients might
still trigger conflicts.

This and Reset File Sync History can also now be run on group libraries,
with a library selector in the Reset pane (which I forgot to do with
React).

The full sync option is now removed from the Reset pane, since there
wasn't ever really a reason to run it manually.

We should be able to reimplement Restore from Online Library (#1386)
using the inverse of this approach.

Closes #914
2017-12-08 00:42:03 -05:00
Dan Stillman
885ed6039f Add comment regarding strToDate()'s month handling in retrieveItem() 2017-12-08 00:42:03 -05:00
Dan Stillman
e01cb38c5d Avoid deprecation warning in recognizePDF 2017-12-08 00:42:03 -05:00
Dan Stillman
9a43b53ebe Show file path instead of "(null)" when installing style via file open
And fix deprecation warning from passing an nsIFile

(Also updates the Zotero.Styles.install() documentation to note that the
first parameter's `file` property can be a string path.)
2017-12-08 00:42:03 -05:00
Dan Stillman
045f1fbb7e Add utility functions for building drop-down library lists
A XUL one for the current use in Advanced Search and an HTML one for
future uses. Sets the value to libraryID and adds data attributes for
editable/filesEditable on the HTML one.
2017-12-08 00:42:03 -05:00
Dan Stillman
816fb52b76 Update locales from Transifex 2017-12-03 15:24:42 -05:00
Dan Stillman
4c337e5294 Show friendlier error on setDates() failure during file sync download 2017-12-02 04:14:47 -05:00
Dan Stillman
6941f96a5a Clear Windows read-only attribute when storing file 2017-12-02 04:11:35 -05:00
Dan Stillman
c3df3fcebf Fix "Access is denied" file sync error with read-only files
If the read-only file is set on a file in the 'storage' directory, it's
added to the ZIP for snapshot/WebDAV syncing, and when extracted the
setDates() call was failing. This clears the read-only attribute (and
system and hidden) when extracting all files.
2017-12-02 04:09:52 -05:00
Dan Stillman
2c47b6403d Missed image files for 2x grippy dimples from 640846961a 2017-12-02 01:51:35 -05:00
Dan Stillman
cdaf73b3d0 Fix sync error after resetting read-only group
If an item needed to be erased, it would fail with "Cannot edit item in
read-only library", because the deletion didn't skip the edit check.
2017-12-02 01:35:23 -05:00
Dan Stillman
640846961a 2x grippy dimple 2017-12-01 13:09:06 -05:00
Dan Stillman
fb74fe76b7 Update citeproc-js to 1.1.181 2017-12-01 02:10:05 -05:00
Dan Stillman
b397ee2281 Show sync error about embedded images in notes for attachment notes too 2017-11-30 23:51:36 -05:00
Adomas Venčkauskas
6970556dbd Clone feed items if translation returns no items. Closes #1377 2017-11-30 11:39:34 +02:00
Dan Stillman
9b9af65f8a Don't show Firefox profile access message on empty 'zotero' dir
But maybe do show in cases where it didn't show before, since we were
using exists(), which can return false for inaccessible directories.
2017-11-29 03:57:09 -05:00
Dan Stillman
e2eef779c5 Fix localized sorting of creator types
Don't just rely on "Author" being first
2017-11-29 00:28:05 -05:00
Dan Stillman
76b96a8b07 Fix error selecting item with item type without creator types
https://forums.zotero.org/discussion/69118/
2017-11-29 00:27:27 -05:00
Dan Stillman
45b0c3ab19 Update locales from Transifex 2017-11-27 20:48:24 -05:00
Dan Stillman
575968929c Skip auto-sync on stream notification if library version is up to date
This avoids an extra no-op sync after an upload when the notification
for the change comes back down from the streaming server.
2017-11-27 20:48:24 -05:00
Dan Stillman
baeb846b5c Simplify quick search handling in itemTreeView notify() 2017-11-27 20:48:24 -05:00
Dan Stillman
7bbb4a8e2d Avoid logged deprecation warning in external note editor 2017-11-27 19:56:14 -05:00
Dan Stillman
202192bc72 Restore use of beginUpdateBatch/endUpdateBatch in itemTreeView notify()
Not sure why this was disabled, but it prevents flashing of child items
when a child item is modified.
2017-11-27 19:56:14 -05:00
Dan Stillman
ae21b3113e Avoid unnecessary item map refreshes during sorting 2017-11-27 19:56:14 -05:00
Dan Stillman
a854ce9dce Filter stack in debug output when using debug.stackTrace pref 2017-11-27 19:56:14 -05:00
Dan Stillman
a70a517f7e Don't start transaction to clear search temp table
This might fix loss of item focus when editing a note in a search,
possibly starting with fbf2fbe0c6.
2017-11-27 19:56:14 -05:00
Adomas Venčkauskas
da387874a2 Temporarily restore double text setting in LibreOffice for footnotes
Regressions from 921b21c3. Footnotes in LibreOffice lose styling
2017-11-27 17:24:42 +02:00
Dan Stillman
8241149079 Fix sync error if item with no content type somehow was indexed
https://forums.zotero.org/discussion/68954/mimetype-is-undefined-error

Not sure how this could happen.
2017-11-22 04:22:08 -05:00
Dan Stillman
d45a9c22c5 Merge locales from Transifex 2017-11-22 03:18:32 -05:00
Dan Stillman
dfea8b5a6a Localize "Verify Server" 2017-11-22 03:15:37 -05:00
Dan Stillman
4a6922ba48 Check for lost legacy data directory after migration
The check only does anything if we're using the default location, and
otherwise if we migrate the wrong directory (say, because somebody
opened Standalone 4.0 before upgrading to 5.0) we won't prompt until the
next restart.
2017-11-22 03:15:37 -05:00
Adomas Venčkauskas
921b21c3e1 Remove the additional setText() call for libreoffice plugin
Possible since zotero/zotero-libreoffice-integration@2deea6bd46
2017-11-21 11:36:56 +02:00
Dan Stillman
88a6e4f79f Don't send inPublications=false in 'full' mode for group items 2017-11-20 16:27:45 -05:00
Dan Stillman
f0b7a212e5 Skip migration on error checking whether dataDir is on different drive 2017-11-20 11:38:15 -05:00
Dan Stillman
f546fbda99 Remove ellipses from toolbar button labels 2017-11-19 22:27:46 -05:00
Dan Stillman
d072c6233e Update locales from Transifex 2017-11-19 21:33:18 -05:00
Dan Stillman
10a5d8d02e Check for Firefox profile access at startup and show warning
f40b7ae6ac didn't help with people who've already upgraded, so check at
startup and show a warning if the profile is inaccessible until 1) the
profile has been accessed once or 2) the user checks "Don't show again"
in the warning dialog.

Also fix Zotero.Profile.getDefaultInProfilesDir() to properly throw an
error if it can't access the default directory.
2017-11-17 22:49:57 -05:00
Dan Stillman
f40b7ae6ac Show warning on Firefox profile access error after installation
https://www.zotero.org/support/kb/data_missing_after_zotero_5_upgrade
2017-11-17 09:36:35 -05:00
Adomas Venčkauskas
9bf4bac292 Reduce spacing in collection pane on Linux. Closes #1369
The collections pane height change in bf36a98 made the linux
collection pane vertical spacing very big. This resets it to previous spacing
2017-11-17 13:19:09 +02:00
Dan Stillman
04a730da7f More complete fix for invalid creator row error at startup
Follow-up to 7d3311679e
2017-11-17 02:56:20 -05:00
Dan Stillman
7d3311679e Add creator fix to integrity check, and run at startup if necessary 2017-11-16 06:43:18 -05:00
Dan Stillman
1cb49cc5d3 Fix DB integrity check when there's only one of a given problem 2017-11-16 05:54:59 -05:00
Dan Stillman
810e0a3239 Add Zotero.getStringFromBundle()
The same as Zotero.getString(), but takes an nsIStringBundle as the
first parameter. Extensions could use this to get the same getString()
features with their own properties files.
2017-11-16 01:18:42 -05:00
Dan Stillman
c7fd46e6b4 Don't ignore whitespace when sorting
Intl.Collator's ignorePunctuation ignores whitespace too, so stop using
it, since it produces much weirder results than sorting on punctuation does.
2017-11-16 01:17:24 -05:00
Dan Stillman
20ad57a368 Update submodules 2017-11-12 18:47:32 -05:00
Dan Stillman
cd90cfd388 Update locales from Transifex 2017-11-12 18:46:15 -05:00
Dan Stillman
fbf2fbe0c6 Fix extremely slow tag query with some SQLite databases
Reverts a80f13099, "Avoid temporary table when getting tags for current view",
fixes a couple things, and removes the unused Zotero.Tags.getAllWithinSearch().

Fixes #1290
2017-11-11 04:11:30 -05:00
Adomas Venčkauskas
08eefeaf57 Don't send translator error from connectors reports in private-browsing mode 2017-11-10 14:20:40 +02:00
Dan Stillman
6b031249ac Fix HTTP breakage in bb1cbdff26 2017-11-08 02:18:33 -05:00
Dan Stillman
bb1cbdff26 Fix responseCharset parameter in HTTP methods
Setting `contentCharset` on the channel doesn't seem to work anymore, so
use `overrideMimeType()` instead like we do in the connector. As noted
in the comment, we should probably have a `responseContentType`
parameter instead, since that's what XHR actually allows. For the moment
we just use `text/plain`.
2017-11-07 16:53:14 -05:00
bwiernik
e935001586 Support short DOIs in cleanDOI() and update DOI copyAsURL prefix (#1356) 2017-11-07 16:48:12 -05:00
Adomas Venčkauskas
24507a73f6 Save to current collection from /connectors/savePage.
Closes #1351
2017-11-06 12:57:01 +02:00
Adomas Venčkauskas
8012829992 Ignore translator browserSupport in connectors except bookmarklet
Addresses zotero/zotero-connectors#197
2017-11-06 12:35:30 +02:00
Dan Stillman
16175912ca Update to citeproc-js 1.1.80 2017-11-05 02:23:27 -05:00
Dan Stillman
a3e711b7b5 Fix feed item read shortcut, and delay 1 second before marking as read
This allows keyboard navigation without marking all items in between as
read.
2017-11-03 04:36:42 -04:00
Dan Stillman
c40e321c4b Add 2x version of creator type menu dropboxmarker 2017-11-01 14:41:39 -04:00
Dan Stillman
0f743e55c7 Fix "Rename File from Parent Metadata" if target filename exists
Add a unique numeric suffix to the filename, before any extension
2017-11-01 01:06:20 -04:00
Dan Stillman
14ecf88ad4 Don't return unparsed Mac persistent descriptor from Item.getFilePath()
And auto-convert to path, not filename
2017-10-31 22:04:42 -04:00
Dan Stillman
676ab7852b Fix date parsing from Atom feeds
Use Atom namespace when getting fields, and use `<updated>` date before
`<published>`. (The dates are also available on the nsIFeedContainer
(`feedEntry`), but we're getting them directly from the fields for some
reason.)
2017-10-31 02:21:21 -04:00
Dan Stillman
6150a08dc1 Fix logged error clicking below list in "Choose Libraries…" window 2017-10-30 16:02:36 -04:00
Dan Stillman
33bf3b2e12 Activate "Set Up Syncing" button on context-menu paste or drag and drop 2017-10-27 20:22:33 -04:00
Dan Stillman
196e45c849 Fix file conflict resolution after f0770fa84d
merge.xul now returns an object with .data and .selected instead of
returning .data directly
2017-10-27 04:07:35 -04:00
Dan Stillman
e22d7a8459 Fix some property access issues
- Return `undefined` instead of throwing an error trying to access
  `libraryTypeID` on a Zotero.Feed -- this fixes a test failure with
  the latest Chai, which annoyingly runs inspect() on an object passed
  to .include() regardless of whether the test succeeds
- Make some deprecated properties non-enumerable to avoid unnecessary
  logging when the object is dumped
2017-10-27 03:25:08 -04:00
Dan Stillman
f0770fa84d Fix various conflict resolution bugs
Among other things, when choosing the local side for a conflict, the
remote version could still end up being saved.
2017-10-27 01:08:38 -04:00
Dan Stillman
5901a3c7af Fix possible skipped group download when another group is archived 2017-10-26 19:05:46 -04:00
Dan Stillman
14f40218a9 Fix potential restart error switching to first note of session 2017-10-26 01:23:10 -04:00
Dan Stillman
1deba232fa Fall back to en-US sorting if we can't parse the locale 2017-10-26 00:54:05 -04:00
Dan Stillman
7de192cd3a Update locales from Transifex 2017-10-25 23:55:12 -04:00
Dan Stillman
d08db42f7b Additional debugging for group sync issue
https://forums.zotero.org/discussion/68299/group-library-not-showing-up-report-id-198634382
2017-10-25 23:51:25 -04:00
Dan Stillman
73d88421bb Fix items list problems when adding item with a search entered
When an item is created, an active quick search is cleared, but that's
now an async operation. We weren't waiting for that, which meant that
new items weren't selected and depending on a race condition could even
show the welcome pane despite there being items in the library.
2017-10-25 23:51:13 -04:00
Dan Stillman
1a779bb7aa Fix "item._changed.creators is undefined" error at startup
This could occur if creator indexes needed to be corrected for an item.
2017-10-23 03:21:02 -04:00
Dan Stillman
e35b035224 Separate identifer parsing from Add Item by Identifier and search translation
- Move identifier detection to `Zotero.Utilities.Internal.extractIdentifiers()`
  so that it can be used for things other than Add Item by Identifier
  (e.g., translation-server)
- Add a `Zotero.Translate.Search::setIdentifier()` function that takes an
  identifier object produced by `extractIdentifiers()` (`{ DOI: "10/..." }`),
  converts that to the search format expected by translators, and calls setSearch()
2017-10-21 03:32:28 -04:00
Dan Stillman
4e717a0934 Fix dropmarkers on Linux after 2x upgrades 2017-10-20 18:15:27 -04:00
Dan Stillman
677b2edd51 Throw a proper error if item.relations isn't an object 2017-10-20 17:42:11 -04:00
Dan Stillman
2ecfff6681 Improve idle detection for full-text content processor
It was previously possible for a return-from-idle to not properly stop
active processing.
2017-10-20 04:04:55 -04:00
Dan Stillman
9c5a3ad820 Fixed 2x note column icon size 2017-10-19 02:54:19 -04:00
Dan Stillman
223c427888 Add missing 2x Mac collection/search icons and fix 2x sync icon size 2017-10-18 06:05:51 -04:00
Dan Stillman
30ae61d60e More 2x icon fixes
Follow-up to 5b2af4845b
2017-10-18 04:09:10 -04:00
Dan Stillman
16792df11d Update locales from Transifex 2017-10-17 21:05:15 -04:00
Dan Stillman
5b2af4845b Toolbar button and icon overhaul
- New 2x toolbar button shapes and other icons from @johanneskrtek --
  this HiDPI-ifies basically all graphics other than a few remaining item
  type icons
- Use the Mac search dropmarker for all menu buttons, since it's wider
  and more pleasant. Reduce menu button padding slightly to compensate.
- Better toolbar button state for inactive window and pressed state
- Fix dropmarker overlap in tag selector icon

Closes #347, Better/retina-style OS X toolbar icons
Closes #1339, Create new button PNGs for macOS
2017-10-17 20:53:43 -04:00
Dan Stillman
1f5639da42 Fix #1335, Item drag and drop is unreliable
Regression from e62433edfb

Load a locale file once via nsIConverterInputStream and cache it for
subsequent retrieveLocale() calls. I'm not sure if using a stream
instead of synchronous XHR is actually necessary now that there's
caching, but it can't hurt.
2017-10-09 23:07:47 -04:00
Dan Stillman
68b5ac456f Add note input event debugging via extensions.zotero.debugNoteEvents 2017-10-08 18:00:28 -04:00
Dan Stillman
8f3909713f Save note on forward-delete when text is selected
This doesn't generate a keypress event for some reason, even though it
does when no text is selected.
2017-10-08 17:59:40 -04:00
Dan Stillman
4fb8f44d01 Fix rebuilding of full-text index 2017-10-08 16:58:06 -04:00
Dan Stillman
08d322932d Fix sync error from invalid link mode in database
And add cleanup step to DB integrity check
2017-10-08 04:42:42 -04:00
Dan Stillman
773a93f55d Fix item selection that requires switching to library root
Broken in c7639f328f
2017-10-07 05:05:34 -04:00
Dan Stillman
d4569d3640 Remove unnecessary condition 2017-10-07 03:45:58 -04:00
Dan Stillman
982719bf83 Fix data-dir-not-found error on first run with no legacy dataDir 2017-10-07 03:45:58 -04:00
Dan Stillman
352cf310b4 Update locales from Transifex 2017-10-05 19:00:20 -04:00
Dan Stillman
492e7917b6 Fix breakage in the connector from 365e58249d 2017-10-05 17:18:43 -04:00
Dan Stillman
7d14da3a8c Fix translator test mismatches due to 5.0 tag format 2017-10-05 17:18:43 -04:00
Dan Stillman
ffcf608de1 Don't show "Running handler" for 'debug' handler during translation 2017-10-05 17:18:42 -04:00
Dan Stillman
9209edd081 Use object for translate() in translator tests 2017-10-05 17:18:42 -04:00
Dan Stillman
23cf6bd007 Use new HTTP.processDocuments() in translatorTester 2017-10-05 17:18:42 -04:00
Dan Stillman
d5261841be Allow substrings when filtering translator tests 2017-10-05 17:18:42 -04:00
Dan Stillman
c44af1c7bd Fix import translators in translation-server 2017-10-05 17:18:42 -04:00
Dan Stillman
819be60796 Switch to XMLHttpRequest for processDocuments()
processDocuments() now uses an XHR 'document' request, wrapped to
provide a 'location' property, and uses promises for a simpler call
signature (though the old one will continue to work, for existing
translators). 'done' and 'exception' can now be handled via promises,
and in the translator sandbox an optional noCompleteOnError argument
instructs it not to automatically cancel the translation process with an
error (e.g., for supplementary materials).

Since we do need a hidden browser in some situations (e.g., for saving
snapshots), the old hidden-browser-based processDocuments() is still
available as Zotero.HTTP.loadDocuments().

This hopefully also fixes various problems with document property access
in translation-server.
2017-10-05 17:18:42 -04:00