Commit graph

9192 commits

Author SHA1 Message Date
Dan Stillman
fd7c2a6f6f Try harder to prevent sync-in-progress messages 2017-07-11 02:42:00 -04:00
Dan Stillman
c701f34aaa Fix array length check in Item.setType() 2017-07-11 02:41:41 -04:00
Dan Stillman
e683b2be07 Fix a potential sync error with child attachments
If a standalone attachment existed in a collection and then was added to
a parent (e.g., via Create Parent Item), and attachment metadata was
also changed at the same time (e.g., due to file syncing), the
'collection item must be top level' trigger could throw on another
syncing computer. To work around this, remove collections first, then
make changes to the parentItemID columns, and then add new collections.
2017-07-11 02:35:11 -04:00
Dan Stillman
3272387afe Increase snapshot save timeout to 30 seconds
We should maybe have a shorter timeout in the connector to show an error
and avoid showing the save-to-server dialog, but let's err on the side
of not cancelling saves.
2017-07-09 23:31:25 -04:00
Dan Stillman
32dedc6fb4 Cancel snapshot saves after 15 seconds
Otherwise a save could go on forever and the connector will never show
an error, and if you quit Zotero the connector will show the
save-to-server dialog (though the connector should have its own
timeout).
2017-07-09 23:17:30 -04:00
Dan Stillman
e551777989 Vacuum database automatically on successful integrity check
Firefox does this for Places, so we might as well too.
2017-07-09 18:17:15 -04:00
Dan Stillman
6ffd7b11cb Update locales from Transifex 2017-07-09 18:09:38 -04:00
Dan Stillman
55b2dc39bf Fix Firefox 55 breakage (and remove unnecessary locale lookups)
We were manually looking up the current locale in various places and
passing it to nsIStringBundleService::createBundle(), but that hasn't
even been a supported argument for years. (I assume it was a long time
ago?)
2017-07-09 06:59:50 -04:00
Dan Stillman
59edca783e Allow dragging onto welcome text 2017-07-09 05:49:02 -04:00
Dan Stillman
91512469d5 Make About window narrower 2017-07-08 21:32:07 -04:00
Dan Stillman
2ca10b3d54 Update non-English strings 2017-07-08 19:14:34 -04:00
Dan Stillman
a7e2e73e51 Update About dialog
- Replace Developers section with text that links to RRCHNM, the credits
page, and Get Involved.
- Remove dedicated zotero.org link
- Only show link underlines on hover
2017-07-08 19:11:45 -04:00
Dan Stillman
73ac74332c Update locales from Transifex 2017-07-08 17:49:42 -04:00
Dan Stillman
e5972b705f Update translators 2017-07-08 17:25:10 -04:00
Dan Stillman
2ba773d612 Additional checks for stopped sync 2017-07-07 19:05:22 -04:00
Dan Stillman
043c0ac6b7 Update locales from Transifex 2017-07-07 18:29:38 -04:00
Dan Stillman
de3b47fd78 Add "Delete Automatic Tags in This Library…" option to tag selector menu
I think it might be worth having a tag management window that lets you
view tags as a grid, sort by column (e.g., type), select ranges, delete,
consolidate, etc., but until then, this fulfills a popular request.
2017-07-07 18:19:12 -04:00
Dan Stillman
941ae5499c Use spread operator in flattenArguments 2017-07-07 18:19:12 -04:00
Dan Stillman
f2af77498b Allow single string in Zotero.Utilities.pluralize()
Zotero.Utilities.pluralize(5, 'tag') will produce 'tags' automatically
2017-07-07 18:19:12 -04:00
Dan Stillman
e2d7c7e999 Fix full-text sync tests after 1da18e4ca7 2017-07-07 06:23:27 -04:00
Dan Stillman
c55cacfb5a Update 2x icon styles 2017-07-07 05:31:37 -04:00
Dan Stillman
3b2d7eb970 Log errors from Zotero.serial()
And output errors in concurrentCaller if not otherwise logged
2017-07-07 05:31:37 -04:00
Dan Stillman
71fb054efe Update deprecated openPreferences() call 2017-07-07 05:31:37 -04:00
Dan Stillman
cb913ffccb Update non-English strings 2017-07-07 05:31:36 -04:00
Dan Stillman
1da18e4ca7 Add "Stop Sync" button
Stops all syncing (not just file syncing like in 4.0) as soon as
possible.
2017-07-07 05:28:20 -04:00
Dan Stillman
7729dcafc0 Update non-English strings 2017-07-07 03:41:50 -04:00
Dan Stillman
b07fdc6335 Add intro text to middle pane when My Library is empty
This replaces the Quick Start Guide item in earlier versions.

Also increases size of My Publications intro text when the window is
wider.
2017-07-07 03:41:50 -04:00
Adomas Venčkauskas
1ddb38036e Moving Utilities.itemToServerJSON() to the connector codebase
See Zotero.Item.toJSON() for similar functionality
2017-07-06 13:38:00 +03:00
Dan Stillman
f7c1c56d7d Use 'async' configOptions property to indicate promisified translators
Instead of >"2017-07-05"

Addresses https://github.com/zotero/translators/issues/1353
2017-07-05 15:29:13 -04:00
Dan Stillman
5ff5ea88fb Fix error in export options window if translator has no options 2017-07-05 15:25:41 -04:00
Dan Stillman
53c3f62f1e Fix overlapping lines in attachment box with empty title 2017-07-05 11:33:24 -04:00
Dan Stillman
198bd70b59 Make 909b4b31c8 apply to search translators too, and fix tests
Addresses https://github.com/zotero/translators/issues/1353
2017-07-05 09:15:12 -04:00
Dan Stillman
909b4b31c8 Assume import translators updated after today are async
See https://github.com/zotero/translators/issues/1353 for details.

minVersion is problematic for various reasons, so this is safer.
2017-07-05 08:54:27 -04:00
Dan Stillman
d73fc63273 Do a manual check from the repo when enabling auto translator/style updates 2017-07-05 05:45:30 -04:00
Dan Stillman
d40822c540 Fix streaming server connection when auto-sync is on with no credentials 2017-07-05 05:45:00 -04:00
Dan Stillman
dc71af9110 Update translators 2017-07-05 05:18:00 -04:00
Dan Stillman
22e99a421c Update locales from Transifex 2017-07-05 05:17:18 -04:00
Dan Stillman
86cf7cbd07 Update translators/styles at startup and on push notifications
Previously, if a translator or style was fixed, people didn't get the
fix until their client checked the repository for updates, which could
take up to 24 hours. Now, in addition to checking once a day, we check
every time Zotero is started and also when we receive a notification
from the streaming server, which happens immediately after a translators
or style is updated on GitHub. To avoid DDoSing ourselves, the
notification includes a random delay (within a given period) before the
update is triggered by the client.

The streaming server connection is now made when either "Automatically
check for updated translators and styles" or "Sync automatically" is
enabled. It can be disabled via the extensions.zotero.streaming.enabled
pref.
2017-07-04 18:46:30 -04:00
Dan Stillman
b476c7c7c5 Update locales from Transifex 2017-07-03 03:11:18 -04:00
Dan Stillman
7769b5d09e Update submodules 2017-07-03 03:03:41 -04:00
Dan Stillman
c867b3bb85 Fix WebSocket reconnect delay
Only reset delay generator after regular message, not on connect,
because a subscription failure happens after a connect. Also cancel
reconnect if auto-sync is disabled during the failure delay.
2017-07-02 01:44:22 -04:00
Dan Stillman
2efd7121b8 Only skip retry for WebSocket errors between 4400 and 4499 2017-07-02 01:32:47 -04:00
Dan Stillman
72feaab6f4 Update locales from Transifex 2017-07-01 07:07:31 -04:00
Dan Stillman
dc89cfb3ba Clean up Sync -> Reset pane
- Hide radio buttons for now, since there's only one option in each
section
- Tweak text for file sync history reset
2017-07-01 06:58:56 -04:00
Dan Stillman
88088c68db Add Sync.Storage.Local.updateSyncStates()
This speeds up updating of sync states, particularly after resetting
file sync history.
2017-07-01 06:31:46 -04:00
Dan Stillman
b72f1c2a08 Don't calculate total file size for every uploaded attachment
This required checking the file size of every file (including auxiliary
snapshot files) in every attachment to be uploaded, and it was an
estimate anyway, because snapshots are compressed, so we kept track of
the compression ratio, but there was no particular reason to think later
files would have the same ratio... In any case, we're not currently
displaying file sync progress in 5.0 anyway, and while we should, we can
probably just show a count of attachments remaining.
2017-07-01 06:31:46 -04:00
Dan Stillman
9a3ff2d244 Add .contentType and .charset options for importFromFile()
And use them in new importTextAttachment() and importHTMLAttachment()
test support functions. These can be used to avoid needing a hidden
browser for determining the character set of the imported text
documents.
2017-07-01 06:31:46 -04:00
Dan Stillman
b1fad5a310 Automatically run JS build process before tests if not running 2017-07-01 06:31:46 -04:00
Dan Stillman
b633038bf9 Close directory iterator in Attachments.hasMultipleFiles()
This was leaving a file descriptor to the directory open during file
syncing.
2017-06-30 18:08:46 -04:00
Dan Stillman
22eab3e09d Don't leave file descriptor open in md5Async()
This could cause "Too many open files" errors during file syncing
2017-06-30 17:54:33 -04:00