Dan Stillman
458d110269
Add file for custom sync exceptions
2016-05-06 05:18:09 -04:00
Dan Stillman
950b583e3b
Remove obsolete code
2016-05-06 05:00:36 -04:00
Dan Stillman
52ca6d4713
Handle browser-offline error from anywhere in sync code
...
And don't throw from ConcurrentCaller, because it results in an
unhandled rejection
2016-05-06 05:00:17 -04:00
Dan Stillman
2894e4f462
Fix search by collection
2016-05-06 04:31:49 -04:00
Dan Stillman
8ba9fe7b80
Remove redundant failure delay handling in sync engine
...
The API client now automatically retries 5xx errors with a backoff schedule, so
the engine doesn't need to do it.
2016-05-06 04:31:49 -04:00
Dan Stillman
a78f923a72
Sync engine cleanup
...
- Use custom exception for user-initiated sync cancellations, which can bubble
up to the sync runner -- this should help with a sync stop button (#915 )
- Separate out deletions-downloading code
- Refactor delay generator handling on library version mismatch
- Clearer variable names
2016-05-06 04:31:49 -04:00
Dan Stillman
ab4138cf26
Don't throw in Zotero.DataObjects::get() for nonexistent objects
...
Return false for single ids or skip for multiple ids. This is the original
behavior, but at some point it started throwing an UnloadedDataException. IDs
are always loaded at initialization, though, so we know whether the objects
actually exist.
2016-05-05 06:36:24 -04:00
Dan Stillman
bf3ad6a2a4
Fix test breakage from 3ab335a0
and 09c3a95a
2016-05-05 06:36:24 -04:00
Dan Stillman
b7ad582d99
Merge pull request #991 from adomasven/fix/feed-import-test
...
Fixes feed-import (and possibly other feed) test unhandled rejections
2016-05-05 06:08:33 -04:00
Adomas Venčkauskas
d4a799b5cb
Closes #981 . Fixes feed-import (and possibly other feed) test unhandled rejections
2016-05-05 11:07:27 +01:00
Dan Stillman
09c3a95a7e
Improve downloaded object processing
...
- Use an increasing notifier batch size, so objects initially appear one by one
but then start showing up in batches, up to 50. (UI updates are expensive, so
for larger syncs we don't want to update after each object.)
- Avoid separate save to update attachment file sync state, which was also
happening outside of notifier batches (causing individual updates regardless
of the batch size)
- Add a 10ms delay after processing each object, which keeps the UI responsive
during downloads. #989 could reduce this to 1 during idle, to save a few
minutes when downloading very large libraries.
2016-05-05 04:47:01 -04:00
Dan Stillman
4ac2da42d1
Zotero.Items.getAsync() -> get() in itemTreeView::notify()
2016-05-05 02:16:09 -04:00
Dan Stillman
3ab335a078
Don't clear search field when updating items list during sync
...
Fixes #985
2016-05-05 02:16:08 -04:00
Dan Stillman
8c98abe9dc
Fix #988 , 5.0: Tab skips Abstract and Extra fields
2016-05-04 21:10:08 -04:00
Dan Stillman
cd5e805b9e
Sync logic improvements
...
- Cancel sync when cancelling conflict resolution window
- Don't try to upload unsynced objects if present in sync queue
2016-05-04 01:39:24 -04:00
Dan Stillman
391f525a75
Close #975 , Process conflicts for all batches together
2016-05-03 23:18:42 -04:00
Dan Stillman
f8a0f9ad1d
Use synchronous object getters during sync
...
Since objects should always already be loaded
2016-05-03 18:27:08 -04:00
Dan Stillman
f751495ce8
Remove debug output hover over sync icon
2016-05-03 18:27:08 -04:00
Philipp Zumstein
aef8453924
Fix some for each ... in cases ( #978 )
2016-05-03 17:51:12 -04:00
Dan Stillman
096ebb188b
Try to log a better error for some instances of Zotero.debug(e);
2016-05-03 13:47:37 -04:00
Dan Stillman
72c8711cd3
String::contains() -> indexOf() for Firefox 48 (and 38) compatibility
...
.contains() was removed in Firefox 48, but .includes() wasn't available until
40, so use indexOf() for now. We can start using .contains() once we no longer
need to support 38 ESR.
2016-05-03 12:08:38 -04:00
Dan Stillman
315100e5ef
Remove obsolete style code
2016-05-03 12:06:29 -04:00
Dan Stillman
e8aec31715
Fix various cases of sync errors with read-only libraries
...
Addresses #983
2016-05-03 02:55:26 -04:00
Dan Stillman
f844d9e46d
Skip full-text content download if main library version hasn't changed
...
Since a data sync always happens first, the main library version will
always be higher if there's any full-text content to download.
2016-05-03 01:17:53 -04:00
Dan Stillman
e0e744f9b1
Use multi-item requests for full-text writes
...
This is necessary to get a library version after the write instead of an
item version. Otherwise after a full-text write, the main library
version is behind, so the next sync checks all object types for that
library instead of getting a 304.
Full text is batched up to 500K characters or 10 items, whichever is
less.
This also switches to using ?format=versions for /fulltext requests,
which isn't currently necessary but reflects what it's actually doing.
2016-05-03 01:17:52 -04:00
Dan Stillman
a0c7cf9bee
Remove redundant error handling in Z.Sync.Data.Engine::_uploadObjects()
...
makeRequest() now retries 5xx errors automatically, so it's not
necessary higher up.
2016-05-02 05:53:07 -04:00
Dan Stillman
4cc6408105
Use object destructuring in Zotero.Sync.Data.Engine::_uploadObjects()
2016-05-02 05:52:42 -04:00
Dan Stillman
862b371b49
Refactor some API response handling code
2016-05-02 01:28:37 -04:00
Dan Stillman
14ce455483
Fix #982 , 5.0: File dots not showing up for child attachments
2016-04-30 19:18:59 -04:00
Dan Stillman
6afce0cf22
Fix "treeRow is undefined" error dragging to bottom of collections list
...
If you drag past the collections list the row is -1.
Fixes #958
2016-04-30 17:15:13 -04:00
Dan Stillman
10181f7f56
Fix sync error on missing full-text
...
If a version is returned for an item's full-text content but a 404 is returned
for the content itself (because it's missing in Elasticsearch for some reason),
don't throw an error.
Also remove legacy array comprehensions in fulltext and syncFullTextEngine test
files, which apparently weren't being run.
2016-04-30 01:24:33 -04:00
Dan Stillman
750d691712
Throw errors instead of strings in FeedReader rejections
2016-04-29 23:32:49 -04:00
Dan Stillman
13c4bbebfa
Save master item when merging
2016-04-29 20:29:44 -04:00
Dan Stillman
877063e73d
Merge branch '4.0'
2016-04-29 20:29:31 -04:00
Dan Stillman
b4ac43fd77
Fix startup error on Firefox 48
...
Addresses #980 . There are a couple other uses of the old API, but I'm not sure
how they're triggered, and we might be gone from Firefox before this is
relevant.
2016-04-29 17:28:24 -04:00
Dan Stillman
ef71d3f729
Revert "Try disabling gzip compression of uploads, in case it fixes sync error"
...
This reverts commit adec007df0
.
Doesn't seem to make a difference.
2016-04-29 11:57:11 -04:00
Dan Stillman
adec007df0
Try disabling gzip compression of uploads, in case it fixes sync error
...
Just to see if it fixes the "Error connecting to server" errors some people are
seeing after upgrading to Firefox 46.
2016-04-29 00:38:19 -04:00
Adomas Venčkauskas
477a1fb5bc
Fixes sync error when transfering credentials from legacy to API key
2016-04-28 15:18:09 +01:00
Dan Stillman
186561f320
Merge pull request #950 from adomasven/feature/import-feeds-from-opml
...
Close adomasven/zotero#11 . Add support for feed imports from OPML files
2016-04-28 01:09:47 -04:00
Adomas Venčkauskas
3b758e562b
Close adomasven/zotero#11 . Add support for feed imports from OPML files
2016-04-27 20:32:20 +01:00
Dan Stillman
bb522868ad
Merge pull request #977 from adomasven/fix/feed-remove-after-setting
...
Closes #961 . Fixes feed dialogue remove read articles value not saving
2016-04-27 13:29:36 -04:00
Adomas Venčkauskas
98a3c4aeaa
Closes #961 . Fixes feed dialogue remove read articles value not saving
2016-04-27 16:38:28 +01:00
Adomas Venčkauskas
1892f7b5b0
Closes #951 . Bypasses cache when retrieving feeds
2016-04-27 15:27:09 +01:00
Dan Stillman
295e9f3ecf
Don't retry cancelled conflicts immediately
...
If other items were saved in the same batch, the conflict resolution
window could reappear immediately after cancelling it.
2016-04-27 05:45:35 -04:00
Dan Stillman
c146adce38
Hide sync error panel after custom button is clicked
2016-04-27 03:15:29 -04:00
Dan Stillman
e5bf7eff21
Open account settings in new tab from quota message
2016-04-27 03:15:10 -04:00
Dan Stillman
6d6afdd706
Show correct quota message for personal library
2016-04-27 03:14:51 -04:00
Dan Stillman
0ebf49849a
Log counts of storage requests that succeeded and failed
2016-04-27 02:35:24 -04:00
Dan Stillman
1c90a77298
Fix handling of 413 for over-quota errors
...
And fix handling of custom error dialog button text/callbacks in
general.
2016-04-26 18:59:23 -04:00
Dan Stillman
098655d913
Prompt about username change at sync time, not just in prefs
...
This is necessary because you can copy a database synced with a
different account into the data directory without affecting the stored
pref.
Also tweak the text to use proper quotes and remove quaint references to
"the server".
2016-04-26 18:12:20 -04:00
Dan Stillman
758af2be9e
Align "Set Up Syncing" button in prefs
2016-04-26 16:27:26 -04:00
Dan Stillman
a62e7e46bf
Remove some unreachable code
...
Addresses #974
2016-04-26 02:00:51 -04:00
Dan Stillman
95ba68a757
Don't skip uploads of more than 25 items…
...
Fixes #965
2016-04-26 01:35:01 -04:00
Dan Stillman
55688a8104
Load item data in feed libraries before refreshing feeds
2016-04-26 00:00:12 -04:00
Dan Stillman
a8e94a8cba
Extra debug logging for #965
2016-04-25 23:41:49 -04:00
Dan Stillman
f82fb89e1c
Sort parent collections and items first in uploads
...
Closes #972
2016-04-25 20:16:31 -04:00
Dan Stillman
12e369b2b6
Show the invalid login prompt for an invalid API key
...
Addresses #953 , but the message should still be updated to be more
precise now that passwords aren't used directly.
2016-04-25 03:12:11 -04:00
Dan Stillman
4eee369b66
Use /keys/current for key requests
...
Possible after https://github.com/zotero/dataserver/commit/beb38579ca1
2016-04-25 02:51:35 -04:00
Dan Stillman
ebb2f1667d
Log feed errors to console
2016-04-25 00:50:28 -04:00
Dan Stillman
a05134e903
Fix search by file type
...
Fixes #966
2016-04-25 00:50:27 -04:00
Dan Stillman
010249e49b
Fix support for old type-forcing object syntax for DB query parameters
2016-04-25 00:50:19 -04:00
Dan Stillman
a605fe1cff
Don't try to access itemsView until loaded in citation dialogs
2016-04-25 00:33:57 -04:00
Dan Stillman
7bc80d1f32
Don't allow citing from feeds in classic dialog
...
And allow feeds to be hidden from collectionTreeView with hideSources
Fixes #964
2016-04-25 00:32:32 -04:00
Dan Stillman
174405defb
Fix feed refresh interval calculation
2016-04-25 00:05:05 -04:00
Dan Stillman
7d4aa521ac
Update citeproc-js to 1.1.101
2016-04-24 20:06:22 -04:00
Dan Stillman
bee32d1a51
Remove merged items from duplicates view without regenerating list
2016-04-24 19:58:44 -04:00
Dan Stillman
7cf0ff2683
Update citeproc-js to 1.1.100
2016-04-24 06:50:45 -04:00
Dan Stillman
a218da859c
Fix COinS generation outside of translators
...
Fixes #963 , 5.0: CrossRef lookup is not working
2016-04-24 04:50:29 -04:00
Dan Stillman
6a47d1dc44
Fix #962 , 5.0: Add item by identifier in collection
...
Also adds a test for this, but lookup tests are disabled
until #699 is resolved.
2016-04-24 04:28:56 -04:00
Dan Stillman
425c86ca5e
Fix #957 , 5.0: Drag collections creates error messages
2016-04-24 04:07:23 -04:00
Dan Stillman
87a2eece3a
Fix #959 , 5.0: Submit to Zotero Server is not working
2016-04-24 04:04:40 -04:00
Dan Stillman
9f100cd011
Add 'logBodyLength' flag to Zotero.HTTP.request()
...
Can be used to limit how much of the request body is shown in debug
output, defaulting to 1024 chars.
2016-04-24 04:01:14 -04:00
Dan Stillman
a91957c588
Fix #956 , 5.0: Merging of duplicate items is not working
2016-04-24 02:44:21 -04:00
Dan Stillman
c6444c29de
Merge branch '4.0'
2016-04-23 04:07:51 -04:00
Dan Stillman
385e36a746
Show invalid-login prompt if no API key
...
This can be improved further in #953 .
2016-04-23 03:33:01 -04:00
Dan Stillman
352eff2f04
Allow typing of usernames with spaces in the middle
2016-04-23 03:19:16 -04:00
Dan Stillman
f633db1f01
Miscellaneous tweaks
2016-04-23 00:59:20 -04:00
Dan Stillman
b66a6b9518
Remove old sync throttle code (replaced by Backoff header)
2016-04-23 00:58:52 -04:00
Dan Stillman
121a2f79a8
Check for closed database and cancel sync
...
This can prevent a long hang if there's a shutdown during sync.
2016-04-22 22:48:58 -04:00
Dan Stillman
d3fc4eb554
Mark browser-offline exception as fatal during syncing
2016-04-22 22:48:58 -04:00
Dan Stillman
9c7663979e
Fix dragging of URLs into items list
2016-04-22 22:48:58 -04:00
Dan Stillman
f1af54236e
Add Zotero.Notifier.Queue to keep event groups separate, and use for sync
...
A queue can be created and passed as an option to data layer methods, which
will then queue events on that queue instead of the main internal queue. A
queue or an array of queues can then be passed to Zotero.Notifier.commit() to
commit those events.
Some auxiliary functions don't yet take a queue, so those events will still get
run on DB transaction commit.
Sync data processing now processes notifier events in batches to reduce
repaints, even though individual objects are processed within their own
transactions (so that failures don't roll back other objects' data).
Also remove some unused notifier code
2016-04-22 22:48:58 -04:00
Dan Stillman
1e5090579b
Fix ordering of notifier events
...
I'm not sure this matters -- since it was broken, itemTreeView notify()
code probably accounts for situations where, say, a 'modify' comes in
before an 'add' -- but it might avoid some edge cases in the future.
2016-04-22 22:48:57 -04:00
Dan Stillman
d974206d65
Add Zotero.warn()
...
Similar to Zotero.logError()
2016-04-22 22:48:46 -04:00
Dan Stillman
a726699b27
Update citeproc-js to 1.1.99
2016-04-22 00:01:37 -04:00
Dan Stillman
8a6402a744
Remove extra map refresh in itemTreeView::sort()
2016-04-22 00:00:37 -04:00
Dan Stillman
0539aa244a
Another Zotero.Tags.getID() fix after e2cbfbd0fe
2016-04-21 16:40:45 -04:00
Dan Stillman
10806c0a2d
Add id to Zotero.Tags notifier registration
2016-04-21 16:17:13 -04:00
Dan Stillman
39973abfa4
Update additional Zotero.ID.getID() calls after e2cbfbd0f
2016-04-21 16:15:41 -04:00
Dan Stillman
e7d27ee0f3
Close #931 , [Async DB] Update long tag fixer
2016-04-21 11:46:23 -04:00
Dan Stillman
e2cbfbd0fe
Deasyncify Zotero.Tags.getID()/getAsync(), and add Zotero.Tags.create()
2016-04-21 11:07:16 -04:00
Dan Stillman
bf416e56c2
Tweak sync error logging
2016-04-20 02:32:12 -04:00
Dan Stillman
3dabd63a0a
Close #930 , [API Syncing] Sync synced settings
2016-04-19 05:22:16 -04:00
Dan Stillman
97f3854662
Include 400 response in logged sync errors
2016-04-19 05:21:45 -04:00
Dan Stillman
716ba66032
Replace deprecated function call in sync code
2016-04-19 05:20:53 -04:00
Dan Stillman
2ee6886cf1
Update citeproc-js to 1.1.98
2016-04-17 04:16:25 -04:00
Dan Stillman
67f358df4b
Fix error trying to load old snapshot annotations
2016-04-16 16:49:48 -04:00
Dan Stillman
d8850b25c2
Fix buttons in proxy redirect notification box
2016-04-16 14:22:11 -04:00
Dan Stillman
5e6b763623
Update citeproc-js to 1.1.96
2016-04-16 02:44:33 -04:00
Dan Stillman
c5716a395f
Various RTF Scan fixes
...
- Firefox 46 compatibility
- Async DB
- Stretched progress meters
2016-04-15 04:45:50 -04:00