Commit Graph

230 Commits

Author SHA1 Message Date
Dan Mills
5094a04f3d initial patch
--HG--
extra : rebase_source : 250c8f0d85483300147a6f0d691e0214db6d837b
2009-09-15 21:54:05 -04: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
91e977a052 Fix exception name. 2009-09-11 13:10:19 -07:00
Edward Lee
e856402be7 Add some comments to partial download code and remove other comments. 2009-09-11 08:24:42 -07:00
Edward Lee
9380981a9e Merge weave to weave-partial-view. 2009-09-10 23:18:33 -07:00
Edward Lee
fb1bc5da49 Bug 507429 - Partial sync download support
Only fetch a limited number of items on first/update syncs and if we get the same number, ask the server for the ids to fetch later. Also on every download, process some of the backlog and save the list of GUIDs to disk as json for cross-session support.
2009-09-10 23:11:33 -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
b59b775794 Merge weave to weave-partial-view. 2009-09-10 12:42:29 -07:00
Edward Lee
8f5372e6b1 Update lastSync to the lastModified time from info/collections instead of updating times on each record. This is to prepare for fetching a list of GUIDs and processing a list of GUIDs. 2009-09-10 12:41:38 -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
0dc7cf0d81 Merge weave to weave-partial-view. 2009-09-08 23:35:21 -07:00
Edward Lee
258a985cee Expose a _handleDupe on engines and provide a custom one for bookmarks that tracks GUID changes so that it can keep an alias mapping to fix incoming item properties (id, parent, predecessor). Move out _reparentOrphans so that it is triggered on update and not just create because folders can change ids to the right parent. 2009-09-08 23:33:15 -07:00
Edward Lee
19443b737b Bug 514323 - Use info/collections to check if there's new data. r=thunder
Fetch info/collections before syncing engines and set the lastModified property on the engine so that they can check if they need to process incoming.
2009-09-03 21:30:40 -07:00
Edward Lee
9ec91eed07 Bug 514600 - Track how long various parts of sync take
Instrument all functions that are part of the sync engine (except some constructors, etc.) and generate statistics (min/max/sum/num/avg) for processing. For now with the default appender, implement toString to report just the total time.
2009-09-03 20:11:36 -07:00
Edward Lee
0fa22bedac Switch to 0.5 server API for deleting multiple ids from a collection. 2009-08-31 18:30:44 -07:00
Edward Lee
5a3c53fd6a Merge weave to weave-partial-view w/ conflicts. 2009-08-31 18:03:35 -07:00
Edward Lee
f8541ddf2f Pick a canonical guid to keep in a way that all machines can agree without having all data -- "smaller" guid. 2009-08-31 17:51:26 -07:00
Edward Lee
994b05a7d1 Implement multiple ids deletion for use with 0.3 APIs. 2009-08-31 17:50:23 -07:00
Edward Lee
97e3f746cb Switch end-of-sync deletes to something SyncEngine is aware of and runs at _syncFinish. 2009-08-31 17:30:34 -07:00
Edward Lee
5468320159 Convert uses of recordLike/findLikeId to findDupe except Bookmarks is unimplemented. 2009-08-31 17:27:30 -07:00
Edward Lee
4175f5ee7e Resolve lastChannel removal and 0.5 api changes. r=thunder 2009-08-26 16:09:48 -07:00
Edward Lee
9fd47b7f98 Merge weave to weave-0.5-api w/ conflicts. 2009-08-26 15:42:05 -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
8431f6ff7f Read out the timestamp of the POST response header because the modified time is not part of the response data. 2009-08-25 18:04:46 -07:00
Anant Narayanan
e7097f319f Bug 507433 - Update client to use the weave 0.5 server. r-Mardak
Initial 0.5 server API switch not quite working.
2009-08-25 17:06:13 -07:00
Edward Lee
dfe8e7e513 Don't include changes to special places Library "exclude from backup" items. 2009-08-25 16:15:05 -07:00
Edward Lee
e6732d5263 Conditionally log trace records to avoid always doing record.toString().
--HG--
extra : rebase_source : 65d8025324ed95eac29d530e2699a2f29c8a2cb7
2009-08-20 17:00:15 -07:00
Edward Lee
014c01848d Print out the stack when failing to apply an incoming record. 2009-08-16 12:39:23 -07:00
Edward Lee
2335b057db Get rid of depth and sort on index instead. 2009-08-15 00:56:27 -07:00
Edward Lee
3ca750f464 Remove meta/mini records. Bye! 2009-08-13 18:50:54 -07:00
Edward Lee
6ddbaa9a8e Bug 506795 - Handle adding duplicate logins. r=thunder
Refactor reconcile to call findLikeId that by default will look for recordLike in the outgoing queue as it does now. Override findLikeId for password engine to search local logins.
2009-07-28 10:06:02 -07:00
Edward Lee
551f097468 Convert various debug messages to trace. 2009-07-22 21:40:18 -07:00
Dan Mills
db7966a67b Bug 505906: Don't do a last POST if there is nothing left to send. Regression from bug 481347. r=mardak 2009-07-22 17:48:47 -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
Dan Mills
7f9996ac73 Bug 481347: Split uploads into multiple chunks to get around server upload limit and curtail memory usage 2009-07-22 16:21:33 -07:00
Edward Lee
baa48207f2 Bug 504387 - Cache keys after creating/PUTting them instead of after GETting. r=thunder
Set the record manager for CryptoMetas, PubKeys, PrivKeys after uploading keys.
2009-07-16 23:13:58 -07:00
Edward Lee
68d361380a Bug 504230 - Use Engine's logging level for Store and Tracker
Use the log.logger.engine.* prefs to determine what the Store and Tracker should log with. This requires putting the same engine name on each Store/Tracker object, so there's some duplicate string values right now.
2009-07-14 18:34:03 -07:00
Edward Lee
e94143f4e2 Bug 504212 - Have javascript stack traces show [object Object] for various CryptoWrapper functions
Pass the ID object instead of reading out the password and passing it in to encrypt/decrypt.
2009-07-14 16:51:04 -07:00
Edward Lee
2b33ab565b Bug 504177 - Don't block the UI when syncing up/down
Sync.sleep(0) to let the main thread do UI, etc. after every record encrypt or decrypt.
2009-07-14 14:01:26 -07:00
Edward Lee
84c52a6411 merge weave. resolve addition of kSpecialIds to bookmarks.js near removal of Async.sugar. 2009-06-23 22:34:57 -07:00
Edward Lee
ad5f01ba04 Bug 493816 - Timestamps need to be saved as string prefs
Internally store .lastSync as a string but keep exposing set/getters as float values. parseFloat takes both strings and numbers and gives a number.

--HG--
extra : rebase_source : b657dd3f732b9f3b3b0ef208ee53e799aa87d2c6
2009-06-16 17:22:59 -07:00
Edward Lee
4084603da5 Remove async.js and wrap.js and remove remaining references to Async.sugar, etc. 2009-06-06 18:24:30 -05:00
Edward Lee
1b781dda8c Remove Async.sugar from engines.js. 2009-06-05 15:34:39 -07:00
Edward Lee
48b4ac18ef Engine_wipeServer: async -> sync. SyncEngine__wipeServer: async/yield -> sync. 2009-06-05 15:34:37 -07:00
Edward Lee
f9aeec8b2c Engine_wipeClient: async -> sync. Engine__wipeClient: async/yield -> sync. 2009-06-05 15:34:35 -07:00
Edward Lee
3d3f786723 Engine_resetClient: async -> sync. SyncEngine__resetClient: async/yield -> sync. 2009-06-05 15:34:34 -07:00
Edward Lee
81f7652b56 Engine_sync: async -> sync. SyncEngine__sync: async/yield -> sync. 2009-06-05 15:34:32 -07:00
Edward Lee
4f22e547b2 Temporarily convert _notify to _notifyAsync and add a Utils.notify. 2009-06-05 15:34:23 -07:00