Commit Graph

320 Commits

Author SHA1 Message Date
Gregory Szorc
9428ab2bbe Bug 732605 - Only schedule shorter sync interval if records were successfully applied; r=rnewman, r=mconnor 2012-03-06 14:27:56 -08:00
Gregory Szorc
f8528d4840 Bug 710448 - Rewritten Sync record reconciling to handle edge cases; r=rnewman, r=philikon
This patch rewrites Sync's record reconciling logic to properly handle
edge cases. Before, there were a few cases where data loss could occur
because of improperly handled and ignored timestamps.
2012-01-25 13:32:05 -08:00
Gregory Szorc
a588914fb5 Bug 709424 - More robust handling of reconciling for duplicate records; r=rnewman 2011-12-13 15:46:54 -08:00
Richard Newman
eab3e9f84f Bug 684798 - Part 3: Catch server errors when wiping/disabling engines. r=rnewman (reland) 2011-10-27 22:25:00 -07:00
Philipp von Weitershausen
28bd994e45 Back out bug 684798 parts 1 thru 3. 2011-10-20 16:21:17 -07:00
Philipp von Weitershausen
c63e6756a8 Bug 684798 - Part 3: Catch server errors when wiping/disabling engines. r=rnewman 2011-10-12 13:55:19 -07:00
Gregory Szorc
0e59ef5a22 Bug 685757 - Document Store API; r=philikon DONTBUILD 2011-09-09 10:34:58 -07:00
Philipp von Weitershausen
ebb3454501 Bug 681863 - Replace Utils.isArray with Array.isArray. r=rnewman 2011-08-26 10:26:11 -07:00
Richard Newman
614e3df10c Bug 679279 - Part 3: Object.keys and test improvements. r=philikon 2011-08-19 17:17:58 -07:00
Richard Newman
87ca8dd03f Bug 679279 - Part 1: minor improvements to engines code. r=philikon
In particular, tracking of _modified items no longer allows _modified to
occasionally not exist! This condition was hit in Bug 675299.
2011-08-19 17:17:58 -07:00
Marina Samuel
c45b32a359 Bug 664792 - Tune sync intervals according to user behaviour. r=philikon
Part 4: Adjust sync interval based on idle time.
2011-06-27 14:24:33 +01:00
Richard Newman
5bf0b6446b Bug 656513: part 1: provide a way for record handlers to abort incoming sync. r=philiKON 2011-06-15 00:03:32 -07:00
Philipp von Weitershausen
3095595fe1 Bug 661587 - Don't use the root logger. r=rnewman 2011-06-13 20:42:18 +02:00
Philipp von Weitershausen
546d99116d Bug 662178 - Simplify timed callbacks. r=rnewman 2011-06-06 21:27:36 +02:00
Richard Newman
5b644a32fd Move Resource.serverTime to AsyncResource, fix comments for AsyncResource. r=philiKON 2011-05-30 19:01:25 -07:00
Richard Newman
d86728156d Move async utilities into async.js. Add Async.makeSpinningCallback as a temporary shim for wrapping Cb versions of functions. r=philiKON 2011-05-30 19:01:13 -07:00
Marina Samuel
7948b2a496 Bug 659107 - Only report failure for newly failed items. r=philikon,rnewman 2011-05-27 17:32:13 -07:00
Philipp von Weitershausen
08f48b17e4 Bug 648364 - Replace custom helpers with XPCOMUtils.jsm. r=rnewman 2011-05-19 18:08:35 -07:00
Philipp von Weitershausen
3bf3b1074c Bug 646347 - Use Sync API version 1.1. r=rnewman 2011-04-08 14:52:08 -07:00
Philipp von Weitershausen
e48dd927d6 Bug 565430 - Service.startOver should purge client-specific data (i.e. client/tabs) from the server. r=rnewman 2011-04-08 14:51:55 -07:00
Richard Newman
9b5bd5c842 Bug 638301: SyncEngine._processIncoming: ensure we don't hit URL length limit for fetchBatch on desktop. r=philiKON 2011-04-06 17:18:22 -07:00
Richard Newman
77d7c794ad Bug 642727 - Don't trigger sync error when bad HMAC records are deleted. r=philiKON 2011-03-20 16:10:40 -07:00
Philipp von Weitershausen
9e38e27df8 Bug 636312 - Forms and passwords engines: yield back to the main thread during batches of synchronous I/O. r=rnewman a=blocking-fennec 2011-03-07 13:07:59 -08:00
Philipp von Weitershausen
b0b3e2a514 Bug 636673 - Avoid accessing 'arguments' in code that's called a lot. r=rnewman a=blocking-fennec 2011-03-02 15:27:16 -08:00
Richard Newman
23ab949c38 Bug 629463: delete bad server-side clients records. r=philiKON a=beltzner 2011-03-01 11:56:29 -08:00
Philipp von Weitershausen
c218c4a0a0 Bug 636402 - Simplify Sync.js to avoid creating new objects. r=rnewman a=blocking-fennec 2011-02-25 14:43:18 -08:00
Philipp von Weitershausen
28e18f7541 Bug 622762 - Add batch API for incoming records, deal with exceptions in SyncEngine's recordHandler. r=mconnor,rnewman 2011-01-28 09:39:12 -08:00
Philipp von Weitershausen
df1fed815d Bug 608757 - Make API and tests for Utils.json{Load|Save} async. r=mconnor
Utils.jsonLoad() already has an async API. Utils.jsonSave() had an ill-named 'callback' parameter which s renamed to 'obj'; an optional callback parameter (in the async sense) is added.
2011-01-26 21:43:24 -08:00
Philipp von Weitershausen
c2b6d4918e Bug 615284 - Download chunking needs to be more resilient against app shutdowns. r=mconnor 2011-01-26 21:34:31 -08:00
Philipp von Weitershausen
448d9b94ac Bug 609421 - Combine base_record/* files into record.js. r=rnewman
--HG--
rename : services/sync/modules/base_records/wbo.js => services/sync/modules/record.js
2011-01-18 16:23:30 -08:00
Philipp von Weitershausen
52ed8e305a Bug 609421 - Move tracker and store implementation into engines.js. r=rnewman 2011-01-18 16:23:25 -08:00
Philipp von Weitershausen
9ee1e6ed53 Bug 623813 - Preserve stack traces when rethrowing exceptions conditionally. r=mconnor 2011-01-13 14:01:05 -08:00
Richard Newman
906e72b628 Bug 618341: Rethrow exceptions we aren't supposed to handle. r=philiKON 2010-12-10 15:43:12 -08:00
Richard Newman
b700f4e4a5 Bug 617709: Tests and functionality for on-the-fly HMAC error recovery. r=philiKON 2010-12-09 23:06:44 -08:00
Richard Newman
98051adf04 Bug 616265: Add download limit for history, lift magic number. r=mconnor 2010-12-06 17:25:35 -08:00
Richard Newman
ffb07cee37 Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen
31d6d2b3c1 Bug 591126 - Handle upload interruption gracefully [r=mconnor] 2010-11-23 21:21:31 -08:00
Philipp von Weitershausen
7440175181 Bug 610923 - Allow engines to bypass the tracker for certain or all changed items [r=mconnor]
SyncEngine now uses the getChangedIDs() method to get all changed IDs before a sync. By default this still goes through the tracker, but engines can override this method to do queries based on timestamps, or to bypass the tracker entirely.

SyncEngine now also exposes a lastSyncLocal property that keeps the local timestamp of the last sync so that engines can do timestamp based queries.
2010-11-11 11:00:35 -08:00
Philipp von Weitershausen
08efe3cb23 Bug 609398 - Get rid of partial sync [r=mconnor] 2010-11-09 13:51:19 -08:00
Philipp von Weitershausen
3065b1ede2 Bug 601973 - SyncEngine._testDecrypt() yields wrong result [r=mconnor]
Fix a 'this' scoping error in SyncEngine._testDecrypt(). Rename this method to canDecrypt() since it's clearly public API.

Provide tests for SyncEngine.canDecrypt() as well as Service.wipeClient().
2010-10-05 20:32:56 +02:00
Philipp von Weitershausen
753f9d8d3e Bug 600995 - Use a record's "encryption" property only as a fallback, default to the engine's value. [r=mconnor] 2010-10-04 22:39:08 +02:00
Philipp von Weitershausen
6e250f858f Bug 569968 - Migration requires client to remove absolute URLs in crypto records
Make WBORecord.uri, CryptoWrapper.encryption, PubKey.privateKeyUri, PrivKey.publicKeyUri as well as the CryptoMeta keyring keys relative URLs in the payload.  As a result, all records now *must* know their URI.

Bump storage version from 2 to 3 to trigger reupload of all data and exclude older clients.
2010-08-12 22:19:39 +02:00
Philipp von Weitershausen
c29a0e55af Bug 578671 - Sync which engines are enabled across clients, wipe data for disabled engines [r=mconnor] 2010-09-07 18:44:01 +02:00
Philipp von Weitershausen
a2466ae2e3 Bug 582083 - Should inspect POST responses for failed WBOs [r=Mardak]
Make sure records that failed to upload continue to be marked in the tracker so that they'll be uploaded again in the next sync.
2010-07-31 13:28:00 +02:00
Mike Connor
39e9fff92b Bug 578825 - sync should only sort on mobile clients, r=Mardak 2010-07-14 18:18:24 -04: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
0d25dd2924 Bug 568677 - Failure to get CryptoMeta assumes it's missing [r=mconnor]
Explicitly check the status code to make sure we stop syncing on non-404 crypto meta failures. Add tests to check correct behavior of 404 and non-404 errors during syncStartup.
2010-06-14 15:16:53 -07:00
Edward Lee
9ddf0f8ed5 Bug 546551 - Weave status bar notifications are too busy [r=mconnor]
Remove status bar icon/text for setup/connect/sync status. Add menuitem for setting up sync instead of drilling down a 1-item submenu that leads to a button. Remove unused Engine.displayName and related strings.
2010-06-14 10:30:37 -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
Philipp von Weitershausen
ceaa8fab03 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for SyncEngine.sync(), incl some additions to harness.
2010-06-01 15:07:50 -07:00