Commit Graph

51 Commits

Author SHA1 Message Date
Philipp von Weitershausen
ff3d7c76a6 Bug 603301 - Add async resource API. [r=mconnor]
The async API is exposed as AsyncResource which is functionally equivalent to Resource.
The latter is now a wrapper around AsyncResource.
2010-10-29 10:20:27 -07:00
Philipp von Weitershausen
7e51b2c724 Bug 580672 - Implement quota UI (Part 1) [r=mconnor]
Recognize quota warnings from server, implement API calls to retrieve quota information.
2010-09-11 18:39:21 +02:00
Edward Lee
4e55362a90 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Map the modules directory to services-sync instead of weave and update imports.
2010-06-16 14:30:08 -07:00
Edward Lee
2ddf5e7a90 Bug 568136 - Migration requires client to check for a node again after a 401 [r=mconnor]
Allow observers to watch for resource 401s and to specify a new uri to request. Test to make sure "weave:resource:status:401" gets notified and resource handles uri changes.
2010-06-03 18:37:07 -07:00
Philipp von Weitershausen
721e3fa637 Bug 557596 - code audit and create unit test plan for resource.js [r=mconnor]
Lots of resource tests, Resource.serverTime initialized to null, Resource.headers normalized to lowercase.
2010-06-01 15:15:53 -07:00
Edward Lee
b8f15b4d9c Bug 560184 - Proxy authentication: Initial Weave connection attempt doesn't time out [r=mconnor]
Delay the abort timer from the constructor in addition to onStartRequest and onDataAvailable in-case the callbacks never get called.

--HG--
extra : rebase_source : 1243f3baa468b13f8da28175b10aa99b2341e53a
2010-04-21 11:10:21 -07:00
Edward Lee
3b4aa0220d Bug 550627 - Default reconciliation to server wins for older changed items [r=mconnor]
Save the time the tracker adds a new changed id and use that to compare the age of the record on the server vs the age of the local change to decide if it's server wins or client wins. Fix up various direct uses of changedIDs to use the API and make the save-to-disk lazy to avoid excessive writes. Add a test to make sure addChangedID only increases in time.
2010-04-01 15:54:53 -07:00
Edward Lee
68c0cda5cf Bug 544532 - Weave won't sync after resume from standby [r=mconnor]
Start an abortTimer onStartRequest and refresh the timer on each onDataAvailable only to cancel on an onStopRequest. If the timer triggers, the sync/async call will be aborted.
2010-04-01 15:25:47 -07:00
Edward Lee
b8de893593 Bug 545764 - Convert constructor -> _init pattern to just use constructor
Inline various _init calls and do super's init with <Super>.call(this, args..). Add various get/set sugar to those missing e.g., meta.keyring. Also simplify crypto record creation by setting cleartext in the parent.

--HG--
extra : rebase_source : 6c9a9f210f8f46ac338adb84188538e7353c9673
2010-02-11 15:25:31 -08:00
Edward Lee
fdaee13190 Bug 535722 - Reduce the amount of logging for default log levels
Include the URI on success/fail requests and only trace log the onStartRequest. Switch various debug messages to trace and remove importing Log4Moz in fx-weave-overlay and generic-change. Drop the rootLogger to Debug to not log trace messages from unpreffed loggers.
2009-12-17 18:51:55 -08:00
Edward Lee
c05e0c5f94 Remove trailing whitespace from the codebase. 2009-11-20 14:34:20 -08:00
Mike Connor
4faaba2018 bug 511549 - make detailedStatus much smarter about errors and backoff, r=edilee
--HG--
extra : rebase_source : 42e3eb9c89d2567d18c02e7583202e284dd69b0e
2009-09-15 21:38:52 -04:00
Edward Lee
d932000cff Chop off the end of long URIs for debug output onStartRequest. 2009-09-11 14:52:27 -07:00
Edward Lee
8b8447ab6e Remove some unnecessary logs that follow right after the notify/event now that we only show verbose. Only log non-success response body for Trace. 2009-09-10 22:57:36 -07:00
Edward Lee
b0c3b9005e Bug 515676 - Allow giving objects to PUT/POST without Filters to avoid stringify([parse(stringify(stringify(obj)))])
Get rid of Filters and automatically JSON.stringify PUT/POST data that aren't strings, so plain Records can be passed in to PUT and POST. This leverages toJSON of Records to provide an object that can be serialized. Fix up client record serialize/deserialize to still escape/unescape non-ASCII.
2009-09-10 11:05:13 -07:00
Edward Lee
e8d9f12442 Bug 515678 - Provide a smart getter to get the object representation of a JSON Resource response
Always allow getting an object representation of potentially JSON response for any Resource instead of explicitly on filterDownload. Update existing Resource GETs that manually parse the response. This prevents the String response from accidentally toString()ing a filteredDownload that converted to a different type.
2009-09-10 11:04:36 -07:00
Edward Lee
009411f482 Bug 511746 - Resource.foo shouldn't throw except in exceptional cases. r=thunder
Get rid of lastChannel and return a String object from _request with additional properties of status, succeeded, headers -- even if the response was handled by cache. Update engines to check for non-success and throw the failure. Update tests to use these additional properties instead of lastChannel, etc.
2009-08-26 15:32:46 -07:00
Edward Lee
ca6fe1108c Backed out changeset 129ca9a54aed due to burning
test_auth_manager:      FAIL
test_resource:  FAIL
2009-08-26 01:50:36 -07:00
Anant Narayanan
371e639357 Change Resource.get() semantics and support X-Weave-Alert (bug #478330)
--HG--
extra : rebase_source : e0eb1e34f85ddd041005d780590640005dc0b434
2009-08-26 00:05:57 -07:00
Edward Lee
11ce9c4f76 Bug 510152 - Check for failure onStopRequest and throw the error for extra debugging
Wrap the error code with a JS Error to track the stack, and re-wrap it to get the full stack trace. Also, remove args for __request for the stack because it's sometimes the whole record..
2009-08-12 20:28:46 -07:00
Edward Lee
a26f0b1166 Bug 485573 - Fennec runs out of memory and crashes if too many history items to sync. r=thunder
Incrementally process records as the collection finds record boundaries and converts them to records for the engine to use. Get rid of the collection iterator and original RecordParser. Add tests for incremental record parsing and remove old iter tests.
2009-07-22 16:38:34 -07:00
Edward Lee
d252180708 Debug log the size of PUT/POSTs messages.
--HG--
extra : rebase_source : 67a4e2afd1c908cc9184c0866226a55c77a96292
2009-07-14 13:59:46 -07:00
Edward Lee
e934d2d097 Strip newline from various debug output. 2009-07-09 17:44:41 -07:00
Edward Lee
5c482eea0d merge weave. resolve comments added to resource.js. 2009-07-09 11:21:20 -07:00
Anant Narayanan
fec355a521 Add some docs for Resource module 2009-06-25 16:13:52 -07:00
Edward Lee
0a049604fb Remove Async.sugar from auth.js, resource.js, stores.js, trackers.js. 2009-06-05 00:51:09 -07:00
Edward Lee
5b50599fd4 Remove Sync(filterUpload/Download) and make them plain sync function as well as beforePUT and afterGET. 2009-06-04 22:10:41 -07:00
Edward Lee
428d54a14a Change Resource.get() to be sync (no callback) and fix up call sites used for login + sync now. 2009-06-04 10:16:07 -07:00
Edward Lee
f5447a5500 Switch Resource._request to Sync. (ChannelListener, filterUpload/Download) 2009-06-04 10:14:54 -07:00
Edward Lee
4f6ebe6be5 Bug 481741 - Switch to JSON from nsIJSON 2009-03-31 14:09:38 -05:00
Dan Mills
ece801b286 add a setHeader() function so you can set some headers and leave others as they are; set merge to /false/ when setting headers on the channel; set content-type properly when uploading content 2009-03-25 19:30:16 -07:00
Dan Mills
5f77a79129 inhibit caching, since we bypass the cache anyway 2009-03-12 00:35:54 -07:00
Edward Lee
a45ed6623b Bug 482178 - Clean up services -> lazy services. r=thunder 2009-03-10 06:30:30 -05:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
02d92a86ca Fennec now launches first run page, and updates extensions.weave.lastversion, so that it's no longer resetting syncId and therefore resetting the server every single time it tries to sync. Also set the download in resource.js to use LOAD_BYPASS_CACHE. Together these changes seem to fix bug 480270. 2009-03-07 00:55:47 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ff833098f5 Resource.js now always validates the cache (VALIDATE_ALWAYS) when downloading stuff. This seems to fix bug 480270 on Firefox but not on Fennec. 2009-02-27 18:28:26 -08:00
Dan Mills
8c671b69c9 Wrap.notify now takes the topic prefix as an argument, instead of requiring this._osPrefix to be set; use Observers.js in several places (sync.js, status.js, etc); some event topics have changed, beware; fix up status window, now prints some useful status as sync progresses 2009-02-22 00:04:58 -08:00
Dan Mills
08d4b718f3 upgrade to latest Observers.js version 2009-02-20 01:50:26 -08:00
Anant Narayanan
57fc13f195 Ignore bad HTTPS certificates (bug #476758) 2009-02-11 18:11:18 +01:00
Dan Mills
a3d9640e3c Make records not extend Resource, instead they have a serialize() method that can be used to create a Resource for uploading if necessary.
Use global service instances under Svc.*
Consolidate various record managers (caches/convenience factories) to extend the same base object
Log exceptions caught by notify wrapper
2009-01-27 13:35:10 -08:00
Dan Mills
078387cb07 move Observers.js and Preferences.js into an ext/ directory, to make it clear they are externally-mantained libraries 2009-01-22 11:48:36 -08:00
Anant Narayanan
de382c7b72 Make RecordParser interface little easier to use 2009-01-08 06:39:39 +01:00
Anant Narayanan
0134157f37 Basic record parsing in place 2009-01-08 06:29:55 +01:00
Dan Mills
ff240dd3ce add clients sync (list of clients with names and types); make it simpler to create Engine subclasses; remove the 2nd 'authenticator' parameter for Resources; resetServer is now wipeServer; consider 0 an invalid place ID (fixes bug when calculating item depths); add a Svc global exported from utils.js where commonly used services can live 2009-01-06 13:54:18 -08:00
Dan Mills
4874eb740f limit json filter's debug output 2009-01-02 13:35:40 -08:00
Dan Mills
676e05f069 don't filter downloads on a PUT; fail permanently on http status 400-499, 501, 505 2008-12-19 15:24:37 -08:00
Anant Narayanan
c5ece4c18e Use stream based communication instead of XHR 2008-12-19 00:42:12 +01:00
Dan Mills
a422bdb9b3 print http status, even for successful requests 2008-12-01 14:18:12 -08:00
Dan Mills
45c250d767 make it so filters can be called (to e.g. manually copy resource data out 2008-11-20 09:19:51 +09:00
Dan Mills
b12787f2f2 crypto changes: private keys get their own iv and salt, crypto meta records get a separate iv and no salt. various fixes in crypto code and other wbo related objects. fix crypto tests to match. 2008-11-08 02:00:33 -08:00
Dan Mills
7091144051 make sure records always have a data field that represents their state (e.g. for serialization); add some pki routines (createKeypair); add incoming/outgoing queue to NewEngine 2008-11-06 23:23:35 -08:00