Commit Graph

312 Commits

Author SHA1 Message Date
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
Philipp von Weitershausen
ba3ea98599 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for EngineMangerSvc, Engine and SyncEngine sans sync().
2010-06-01 15:06:16 -07:00
Edward Lee
98d3a793fe Bug 567371 - replace server and replace local options does not sync certain Passwords/bookmarks [r=mconnor]
Make sure to clear local cache when deleting crypto records from the server. Handle missing crypto by deleting any existing data and reuploading. Fix broken records by uploading new ones.
2010-05-21 12:15:58 -07:00
Edward Lee
433ac3095f Bug 562515 - Reset sync option "Replace all data on this computer with your Weave data" is not handling local deletes correctly [r=mconnor]
Clear out any changed ids when wiping the client to prevent delete records from getting uploaded for these items.
2010-05-03 14:39:32 -07:00
Edward Lee
210f158298 Bug 556454 - engine.sync should always check engine.enabled [r=mconnor]
Just check if the engine is enabled at the beginning of sync. For now keep getEnabled as it's used for other behavior and not just sync.
2010-04-29 16:42:21 -07:00
Mike Connor
914768c99b bug 496485 - make Service.wipeServer work properly, r=Mardak 2010-04-07 20:06:37 -04:00
Edward Lee
32b2f2a15a Bug 557891 - Wipe local triggers deletions on all other clients! [r=mconnor]
Ignore tracker changes triggered by wiping the local client store.
2010-04-07 17:52:22 -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
e2f2dee6c3 Bug 546768 - form history uses hashes for GUIDs [r=mconnor]
Write a FormWrapper that knows about GUIDs and get/sets them in moz_formhistory as needed. It lazily adds the columns on failure and lazily generates GUIDs for entries that are missing it. Don't eagerly create a sha1 formItem mapping -- don't create it at all, so empty syncs will be much faster too.
2010-04-01 15:29:16 -07:00