Граф коммитов

1764 Коммитов

Автор SHA1 Сообщение Дата
Richard Newman 8883edec66 Bug 628788: return more readily after processing GUID anno. r=mconnor 2011-02-07 17:49:42 -08:00
Richard Newman fbf9cd3c41 Bug 628788: copying a bookmark should yield a new Sync GUID. r=philiKON
--HG--
extra : transplant_source : J9%A1Bw%B2%14%2C.%E1R%40%B6%EC2%E1%E4%3B%24t
2011-02-07 11:25:47 -08:00
Philipp von Weitershausen abec9f34f5 Bug 600261 - Provide hooks for ignoring network errors. r=mconnor a=blocking-betaN 2011-02-03 10:23:39 -08:00
Philipp von Weitershausen 49c535bb6c Bug 630720 - Form sync: apply records batched and in transactions to avoid fsyncs. r+a=mconnor 2011-02-03 10:23:38 -08:00
Richard Newman fb8ce24b3f Bug 609380: password sync: don't apply records with both httpRealm and formSubmitURL. r=mconnor 2011-01-31 23:22:13 -08:00
Richard Newman 5e0f9786a2 Bug 574380: make constants useful on trunk. r=mconnor 2011-01-31 23:19:04 -08:00
Philipp von Weitershausen a5731557a0 Bug 591102 - Correctly identify network errors. r=mconnor 2011-01-31 20:55:48 -08:00
Philipp von Weitershausen aae4881a79 Bug 591102 - Ensure exceptions from [Async]Resource contain the status code. r=mconnor 2011-01-31 20:55:48 -08:00
Philipp von Weitershausen 320733ecaf Bug 606353 - History sync: use mozIAsyncHistory::updatePlaces. r=rnewman 2011-01-28 09:39:35 -08:00
Philipp von Weitershausen de2eb34de6 Bug 606353 - Add a Utils.checkGUID() helper. r=rnewman 2011-01-28 09:39:28 -08:00
Philipp von Weitershausen 034dbc550a 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
Richard Newman b48638a57d Bug 610501: better rewriting of tag search smart bookmarks. r=philiKON 2011-01-28 00:18:36 -08:00
Richard Newman 4f67a6cb54 Bug 610501: dupe Smart Bookmarks based on anno. r=philiKON 2011-01-28 00:14:08 -08:00
Philipp von Weitershausen 6ea5f6c474 Bug 608757 - Make Utils.jsonSave/Load use NetUtil.asyncCopy and asyncFetch, respectively. r=mconnor 2011-01-26 21:43:33 -08:00
Philipp von Weitershausen f857f6374c 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 8fcbca0f65 Bug 615284 - Download chunking needs to be more resilient against app shutdowns. r=mconnor 2011-01-26 21:34:31 -08:00
Richard Newman 38886bdf84 Bug 610501: handle smart bookmarks correctly in Sync. 2011-01-26 12:36:38 -08:00
Richard Newman 8f4afe2745 Bug 627497: remove annotations from copied bookmarks. r=philiKON 2011-01-25 12:37:23 -08:00
Richard Newman c3ac6e081a Bug 626796: Bookmark sync: restore from backup should trigger reupload. r=philiKON 2011-01-24 23:06:42 -08:00
Richard Newman fd114bcab4 Bug 627490: Bookmark sync: don't cache places IDs. r=philiKON 2011-01-24 10:45:27 -08:00
Philipp von Weitershausen 56f91610cc Bug 609421 follow-up: fix copypasta. r=rnewman 2011-01-19 14:12:14 -08:00
Philipp von Weitershausen ae612b75dd Bug 609421 - Combine auth.js and resource.js. r=rnewman 2011-01-18 16:23:38 -08:00
Philipp von Weitershausen c8db464dbc 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 49b2260e62 Bug 609421 - Move tracker and store implementation into engines.js. r=rnewman 2011-01-18 16:23:25 -08:00
Philipp von Weitershausen a1199856dc Bug 609421 - Combine type_record/* files with their respective engines/* counterparts. r=rnewman 2011-01-18 16:23:20 -08:00
Philipp von Weitershausen 3b14dfa8f2 Bug 618403 - Orphan reparenting too aggressive, can lead to double bookmarks on storage version upgrade. r=rnewman 2011-01-14 13:41:09 -08:00
Philipp von Weitershausen 271172cd7e Bug 591103 - Ensure the client record is refreshed. r=mconnor 2011-01-14 13:22:20 -08:00
Philipp von Weitershausen f46d33c149 Bug 591103 - use TTL for history, form history, clients, tabs. r=mconnor 2011-01-14 13:22:20 -08:00
Richard Newman f7dc2166de Bug 623795: add ensureMPUnlocked function. r=dolske 2011-01-13 16:56:10 -08:00
Philipp von Weitershausen bbc3af166b Bug 623418 - Bookmark sync: use a SQL query to fetch child GUIDs. r=mconnor,sdwilsh 2011-01-13 14:03:11 -08:00
Philipp von Weitershausen 9f19341780 Bug 623418 - Bookmark sync: don't record children in annotation. r=mconnor 2011-01-13 14:03:09 -08:00
Philipp von Weitershausen f25f45ee8f Bug 623813 - Preserve stack traces when rethrowing exceptions conditionally. r=mconnor 2011-01-13 14:01:05 -08:00
Philipp von Weitershausen c8be7f77df Bug 623375 - History sync: failure on javascript: URLs. r=mconnor 2011-01-11 15:04:45 -08:00
Richard Newman 218c03dd3e Bug 623689: don't misbehave on master password cancel. r=philiKON 2011-01-10 21:51:29 -08:00
Richard Newman 3f4146ba5f Bug 624019: log exceptions, not just their stacktrace, in onDataAvailable. r=philiKON 2011-01-07 14:30:16 -08:00
Richard Newman e606392d85 Bug 597400: return null if GUID lookup fails in forms engine. r=philiKON 2011-01-06 12:05:30 -08:00
Richard Newman c9a23f8fc5 Bug 622760: log exceptions thrown in _onProgress callbacks. r=philiKON 2011-01-04 16:27:00 -08:00
Philipp von Weitershausen 3e59469096 Bug 622769 - Make log rotation and its threshold configurable. r=mconnor 2011-01-04 15:04:19 -08:00
Philipp von Weitershausen 7608296c6a Bug 621489 - Make sure to call _orderChildren even if _processIncoming fails. r=mconnor 2011-01-04 15:04:18 -08:00
Philipp von Weitershausen 7058fee0e1 Bug 621594 - History sync: failure when title is null. r=mconnor 2010-12-28 17:36:18 -08:00
Richard Newman a860e06027 Bug 620593: use built-in trim function. r=philiKON 2010-12-28 10:33:23 -08:00
Richard Newman 4446c521f0 Bug 620593: add normalizeAccount, use in addon UI. r=philiKON 2010-12-21 15:32:58 -08:00
Richard Newman 9374404bfe Bug 543784: don't login automatically, prompt for master password. r=philiKON 2010-12-20 20:01:34 -08:00
Richard Newman f3265a73ed Bug 619567: allow leading and trailing whitespace in pre-normalized passphrases. r=philiKON 2010-12-20 14:46:16 -08:00
Richard Newman a108a4e85b Bug 619162: default resource success is false; retry once. r=philiKON 2010-12-20 12:47:51 -08:00
Richard Newman 801dd50f93 Bug 618335: normalize old-style 20-char sync keys. r=philiKON 2010-12-20 10:10:37 -08:00
Richard Newman b0e9d01a0a Bug 616568: better log message when sync is already in progress. r=philiKON 2010-12-16 12:00:57 -08:00
Philipp von Weitershausen 91b699daac Bug 616001 follow-up: Async statements are compiled asynchronously and fail on first execution, not creation. r=sdwilsh 2010-12-15 16:08:04 -08:00
Richard Newman 1e0438cf6d Bug 619169: never clear logs, even on resetService. r=philiKON 2010-12-15 14:36:53 -08:00
Shawn Wilsher 762b239ba0 Bug 616001 - Sync needs to check moz_places.guid and moz_bookmarks.guid if it exists. r=philikon
Part 2 - Update bookmark engine.
2010-12-14 15:48:05 -08:00
Shawn Wilsher d4a9d49241 Bug 616001 - Sync needs to check moz_places.guid and moz_bookmarks.guid if it exists. r=philikon
Part 1 - Update history engine.
2010-12-14 15:48:03 -08:00
Philipp von Weitershausen 13153c7f8d Bug 618411 - Accept non-alphabetical character in the sync key entry. r=mconnor 2010-12-13 18:09:21 -08:00
Richard Newman 6b42c03ded Bug 618389: additional precision in key clearing. r=philiKON 2010-12-10 21:22:39 -08:00
Richard Newman d71ed80bcd Bug 618389: fix for broken key clearing. r=philiKON 2010-12-10 19:41:55 -08:00
Richard Newman ddcdb55ef9 Bug 618389: reset and clear keys on changePassphrase. r=mconnor 2010-12-10 16:53:40 -08:00
Richard Newman bca15c8e10 Bug 618340: don't report network failure for unknown errors. r=philiKON 2010-12-10 16:32:16 -08:00
Richard Newman da7b3caef0 Bug 618341: Rethrow exceptions we aren't supposed to handle. r=philiKON 2010-12-10 15:43:12 -08:00
Richard Newman da614d86c9 Bug 617709: Tests and functionality for on-the-fly HMAC error recovery. r=philiKON 2010-12-09 23:06:44 -08:00
Richard Newman 82424f8bd0 Bug 618179: make sure we create a meta/global record if one is not found. r=philiKON 2010-12-09 19:37:02 -08:00
Philipp von Weitershausen 7c4ac9db45 Bug 602876 - Implement network client for credentials exchange via J-PAKE. r=mconnor 2010-12-09 18:12:09 -08:00
Philipp von Weitershausen 0e226c056e Bug 617868 - Use the RFC5869-compliant HKDF in the SyncKeyBundle. r=mconnor
This requires new bulk keys and constitutes a storage version bump.
2010-12-09 12:14:17 -08:00
Philipp von Weitershausen 19f7ef9568 Bug 617868 - RFC-5869 compliant HKDF implementation with test vectors. r=mconnor 2010-12-09 12:14:08 -08:00
Richard Newman 13d861e16a Bug 617709: download and reset when server bulk keys change. r=mconnor 2010-12-09 10:32:03 -08:00
Philipp von Weitershausen cf1ee5696a Bug 617521 - Random bookmark reordering due to dupe handling. r=mconnor 2010-12-07 21:49:22 -08:00
Richard Newman df46a7337e Bug 617478: clear CollectionKeys on startOver. r=philiKON. 2010-12-07 16:30:06 -08:00
Richard Newman d9a0b60f3c Bug 617351: more tests for engine disabling. r=mconnor 2010-12-07 16:18:22 -08:00
Richard Newman c1e4717b80 Bug 616265: Add download limit for history, lift magic number. r=mconnor 2010-12-06 17:25:35 -08:00
Richard Newman 722f26a00b Bug 615926: Belt-and-braces engine disabling check. r=mconnor 2010-12-06 17:23:38 -08:00
Philipp von Weitershausen 5ebb101761 Bug 615285 - Bookmark sync: track ordering on folder. r=mconnor 2010-12-06 15:51:56 -08:00
Philipp von Weitershausen 71cb004b93 Bug 615410 - Use different annotations for parent and predecessor. r=mconnor
The old annotations will no longer be valid because they point to a different kind of GUID.
Since we're using our own GUID system now, we also don't have to munge predecessor and parent GUIDs before setting them.
2010-12-06 15:51:48 -08:00
Philipp von Weitershausen 2be6596619 Bug 615410 - Have bookmarks generate new-style GUIDs. r=mconnor 2010-12-06 15:51:38 -08:00
Richard Newman d3138d405f Bug 615926: fix stupid typo. r=mconnor 2010-12-06 15:09:14 -08:00
Richard Newman c2ac353231 Bug 615926: attempt to avoid screwing up meta. 2010-12-06 14:22:09 -08:00
Richard Newman 901929364b Bug 610914: performance improvements for WeaveCrypto. 2010-12-06 11:52:30 -08:00
Philipp von Weitershausen 16f6f8c3cc Bug 616179 - Persona is not displayed after pref sync cleanup. r=mconnor 2010-12-02 11:03:01 -08:00
Philipp von Weitershausen 74b8241d7f Fix indentation (no bug) 2010-12-01 14:59:33 -08:00
Philipp von Weitershausen 07eb8a8845 Bug 615604 - Only accept pref updates for the current app. r=mconnor 2010-11-30 13:37:07 -08:00
Philipp von Weitershausen a84a019b81 Bug 615604 - Make pref GUIDs base64url. r=mconnor 2010-11-30 13:36:01 -08:00
Philipp von Weitershausen abb0ad626a Get rid of superfluous parameter. r=me 2010-11-30 10:47:03 -08:00
Philipp von Weitershausen 8f37b5682d Bug 614104 - Use new annotation for history GUIDs. r=mconnor
This way all history entries are assigned new-style GUIDs.
2010-11-30 10:26:15 -08:00
Philipp von Weitershausen 86d93d274e Bug 614104 - Make Utils.makeGUID generate new style GUIDs. r=mconnor
New style GUIDs are 9 random bytes encoded with base64url, yielding 12 characters with 72 bits of entropy.
2010-11-30 10:26:13 -08:00
Richard Newman f35aba613e Bug 614737: detecting upgrade, being nice to old clients. r=philikon 2010-11-29 16:41:33 -08:00
Richard Newman f0b19a496e Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen 69c699c467 Bug 560580 - Pref sync cleanup [r=mconnor] 2010-11-23 21:21:37 -08:00
Philipp von Weitershausen fe95dc94ad Bug 591126 - Handle upload interruption gracefully [r=mconnor] 2010-11-23 21:21:31 -08:00
Richard Newman be8d50e72a Bug 610749: (FIXED) add pure-JS PBKDF2 implementation. r=philikon 2010-11-16 11:50:18 -08:00
Richard Newman 000b5df8db Bug 610749: add pure-JS PBKDF2 implementation. 2010-11-16 11:42:17 -08:00
Philipp von Weitershausen a2b8bef32a Bug 600993 - Tab sync has no reason to ever touch disk [r=mconnor] 2010-11-11 11:00:41 -08:00
Philipp von Weitershausen 6fbfb072c1 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 959c42dca4 Bug 610375 - Make bookmark folders not sync last [r=mconnor] 2010-11-09 13:53:50 -08:00
Philipp von Weitershausen 80f1e34958 Bug 609398 - Get rid of partial sync [r=mconnor] 2010-11-09 13:51:19 -08:00
Philipp von Weitershausen fb0b837cdf Bug 584927 - Use async queries to set page annotations in the history engine [r=mconnor,sdwilsh] 2010-11-02 16:34:46 -07:00
Philipp von Weitershausen f7cbfd1d88 Bug 584927 - Use an async query to get page annotations in the history engine [r=mconnor,sdwilsh] 2010-11-02 16:34:38 -07:00
Philipp von Weitershausen 040ac50a4c Bug 584927 - Factor GUIDForUri and setGUID into HistoryStore [r=mconnor] 2010-08-06 14:40:06 -07:00
Philipp von Weitershausen 772cdce99c 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 e1a52f2169 Bug 606695 - Helper for chaining async functions [r=mconnor] 2010-10-29 06:54:30 -07:00
Philipp von Weitershausen 72f5932f42 Backed out changeset fb506072dca8 due to crashes
Bug 570619 - Move crypto off the main thread
2010-10-28 17:05:53 -07:00
Philipp von Weitershausen 1fd27817df Bug 570619 - Move crypto off the main thread [r=mconnor,sdwilsh]
Provide a ThreadedCrypto object that defers method calls to another thread while keeping the synchronous API.
2010-10-14 21:22:29 +02:00
Philipp von Weitershausen 5d0af86da9 Bug 562431 - Rewrite WeaveCrypto as a .jsm [r=mconnor]
--HG--
rename : services/crypto/WeaveCrypto.js => services/crypto/modules/WeaveCrypto.js
2010-10-14 21:17:35 +02:00
Philipp von Weitershausen 7696d8b879 Bug 603502 - Syncing an account with email will generate a nonsensical device name [r=mconnor] 2010-10-14 10:59:08 +02:00
Philipp von Weitershausen 36d5e5299f Bug 597404 - History sync: Null id for anno! (invalid uri) [r=mconnor]
Don't fail history sync when the places DB contains invalid URIs.
2010-10-14 07:12:19 +02:00
Mark Finkle 61d949b838 Bug 599928 - Need a single pref to toggle logging [r=mconnor] 2010-10-11 12:46:53 -04:00
Philipp von Weitershausen 375238940e 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 dc0e75b6ad 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 981f479bc7 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 d757e4d701 Bug 592465 - Show a passphrase strength meter for custom passphrases [r=mconnor] 2010-09-23 02:04:31 +02:00
Philipp von Weitershausen cef1e48b12 Bug 593820 - Move generatePassphrase and friends from UI code to util.js [r=mconnor] 2010-09-17 17:48:06 +02:00
Philipp von Weitershausen 9454591570 Bug 596093 - Do not allow email addresses as the username [r=mconnor]
Make sure the semantics of Weave.Service.checkUsername and Weave.Service.createAccount don't change when used by the old UI code (as present in current Firefox 4.0 betas).
2010-09-15 12:54:33 +02:00
Philipp von Weitershausen 8750b813cb Bug 589979 - Generate username from email address (part 3) [r=mconnor]
Consolidate email and username in the UI.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen 64eb619594 Bug 589979 - Generate username from email address (part 2) [r=mconnor]
The Weave.Service.account property holds whatever the user entered for email address/username. If it only contains characters valid for usernames, it is assumed to be a username. Otherwise it's SHA1 hashed and base32 encoded.

The special tab mangling (to avoid broken Basic Auth headers) is now obsolete.

--HG--
rename : services/sync/tests/unit/test_service_checkUsername.js => services/sync/tests/unit/test_service_checkAccount.js
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen 639270982f Bug 589979 - Generate username from email address (part 1) [r=mconnor]
Implement Utils.encodeBases32 and Utils.sha1Base32.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen 0018859799 Bug 594785 - First sync disables all engines [r=mconnor]
Track whenever we create a new global/meta record and don't evaluate the engines property in that case.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen dd802fcf47 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
Philipp von Weitershausen 2bc7990ba6 Bug 594520 - Get rid of more "secret phrase" occurrences [r=mconnor] 2010-09-09 00:20:13 +02:00
Philipp von Weitershausen a6922bbe42 Bug 594241 - Can't disable history sync [r=mconnor]
Take engine.prefName rather than engine.name when looking for changed prefs.
2010-09-08 21:09:40 +02:00
Matt Brubeck a230b7a160 Bug 580050 - Use hardware model instead of oscpu to identify clients [r=Mardak] 2010-09-08 11:55:57 -07:00
Philipp von Weitershausen 96393d8b0c 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 b48d9715a2 Bug 592276 - Utils.mpLocked() should allow nsIPKCS11Slot.SLOT_UNINITIALIZED [r=mconnor] 2010-08-31 17:58:35 +02:00
Philipp von Weitershausen a39bd93a56 Bug 587027 - Use as little memory as possible (part 4)
Refactor Service._checkSetup() to Status.checkSetup().

Also move the test fixture for WeaveCryptoID to the individual tests that need it.
2010-08-25 15:49:45 -07:00
Philipp von Weitershausen 4f2fd07e21 Bug 587027 - Use as little memory as possible (part 1)
Move the Weave object out of service.js
2010-08-25 15:49:44 -07:00
Philipp von Weitershausen cc929a11a8 Bug 523426 - Save a query for meta/global if info/collections reports unmodified meta [r=mconnor] 2010-08-23 06:20:39 -07:00
hariniachala 359e999540 bug 567583 - Get tabs sync to work for SeaMonkey, r=mconnor 2010-08-17 15:44:29 +02:00
Mark Finkle 97f3b6922d Disable error logging from weave crypto. rs=mconnor, a=bustage fix 2010-08-13 15:31:00 +12:00
Philipp von Weitershausen 280a8f839d Bug 585291 - FormEngine tests leak [r=mconnor]
Nuke service references on xpcom-shutdown, particularly Svc.Form (nsIFormHistory2) which doesn't clean up after itself as it was only used by nsIFormAutComplete so far.
2010-08-11 01:54:46 +02:00
Philipp von Weitershausen 0b3664b843 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4 followup: Fix a reference error in Weave.Service._checkServerError and improve test coverage for verifyLogin() to exercise that code path.
2010-08-10 18:16:57 +02:00
Philipp von Weitershausen a602452e16 Bug 585753 - Changeset 7e8b1f7852a9 breaks bookmark sync [r=mconnor] 2010-08-10 01:59:26 +02:00
Philipp von Weitershausen 7904dca00a Bug 585740 - Weave.Service.login() should start trackers if it's called in lieu of a setup process [r=mconnor] 2010-08-10 01:46:54 +02:00
Philipp von Weitershausen 76e998252a Bug 583847 - Weave should be using createAsyncStatement instead of createStatement [r=mconnor] 2010-08-09 18:38:18 +02:00
Philipp von Weitershausen 5a745d9fdb Bug 583852 - Weave should not be querying on places views [r=mconnor]
Query moz_places, moz_historyvisits *and* moz_places_temp, moz_historyvisits_temp instead of the slower views.
If the temp tables aren't available (bug 552023), just query the regular tables.

Fixed some style and syntax nits.
2010-08-09 18:38:18 +02:00
Philipp von Weitershausen 6cefdc1625 Bug 487558 - Use satchel notifications to track form data [r=mconnor] 2010-08-06 17:31:36 +02:00
Philipp von Weitershausen 57c4f23de7 Bug 584241 - Disable trackers when client isn't configured [r=mconnor] 2010-08-06 17:30:58 +02:00
Philipp von Weitershausen c163a5ae51 Bug 578835 - wipeServer doesn't deal well with failure [r=mconnor]
Have wipeServer() abort if it encounters a server error (anything other than 200 or 404) and throw an exception.  Don't catch any exceptions wipeServer() throws, let them bubble up to the callers.
2010-08-05 18:24:45 +02:00
Philipp von Weitershausen 3960a68871 Bug 584486 - Changing password via web leads to unknown error [r=mconnor] 2010-08-05 16:52:17 +02:00
Philipp von Weitershausen e97c6b419f Bug 584402 - Audit references across XPCOM borders [r=mconnor]
Use weak references for observers.
2010-08-04 21:07:53 +02:00
Philipp von Weitershausen bf06e6e72e Bug 584402 - Audit references across XPCOM borders [r=mconnor]
Nuke refs to XPCOM services on shutdown.
2010-08-04 21:07:27 +02:00
Mike Connor 213217a82e Bug 584369 - history sync is busted on tip, r=philiKON 2010-08-04 11:07:50 -04:00
Mike Connor 967ecb4058 [mq]: weakRefForms 2010-08-04 10:42:09 -04:00
Paul O’Shannessy e414ab20ea Bug 545752 - DB Statements aren't finalized in HistoryStore [r=mconnor]
Also nullifies the cached service so we don't leak.
2010-08-04 14:59:34 +02:00
Paul O’Shannessy c719dfb93c Bug 584040 - Fix leaky tests [r=mconnor]
Make sure we explicitly nullify the cached services in the BookmarksStore & BookmarksTracker.
Also, explicitly finalize the statement if it was created.
2010-08-04 14:50:44 +02:00
Philipp von Weitershausen db32010a7b 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
Philipp von Weitershausen 0102c7f8db Bug 580158 - Change Firefox Sync behavior in Private Browsing mode [r=mconnor]
Don't disable sync when in private browsing. When in explicit private browsing mode (either via menu item or -private command line flag), have tabs engine not provide data.
2010-07-19 23:07:45 -07:00
Philipp von Weitershausen f35d794526 Bug 579510 - Make sure multi-byte passwords are stored and sent correctly [r=mconnor]
UTF8-encode passwords when creating accounts, changing passwords, and when authenticating. Detect old low-byte only passwords on the server and reupload them as UTF8.
2010-07-20 00:28:54 +02:00
Edward Lee 68aa673b35 Bug 579209 - Blue "i" for delayed node assignment disappears on sync [r=mconnor]
Explicitly set the NO_SYNC_NODE sync status to keep the "i".
2010-07-15 17:02:06 -07:00
Mike Connor b9854306a3 Bug 578825 - sync should only sort on mobile clients, r=Mardak 2010-07-14 18:18:24 -04:00
Philipp von Weitershausen c4e977df64 Bug 558963, part 2, UTF-8 encode passphrase and rewrap keys if needed, r=mconnor 2010-07-03 14:13:40 -04:00
Philipp von Weitershausen 138373b089 Bug 558963, part 1, add UTF-8 helpers and tests, r=mconnor 2010-07-03 14:11:58 -04:00
Edward Lee 9039f07964 Bug 575423 - Forced syncs fail to upload some history [r=mconnor]
Select from views to get disk and memory data now that async makes it not block.
2010-06-29 11:18:21 -07:00
Edward Lee 736c131289 Bug 573870 - Be less strict about what the path/root of an exception stack file can be [r=mconnor]
Just match anything that doesn't look like another stack file entry.
2010-06-22 16:29:47 -07:00
Edward Lee 64264d8ec0 Bug 573108 - Remove references to chrome://weave from services [r=mconnor]
Remove openWindow/Dialog helpers and inline into ui bits for prefs-common and pass arguments into generic-change.
2010-06-18 13:59:30 -07:00
Philipp von Weitershausen a8135a264a Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 5: Tests for checkUsername, createAccount, changePassword
2010-06-17 16:47:13 +01:00
Philipp von Weitershausen 2caf470608 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4: Get rid of superfluous attribute, introduce constants for password/passphrase realms, add/improve tests for login(), logout(), persistLogin().
2010-06-17 04:12:38 +01:00
Philipp von Weitershausen 1e214b9bf7 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 3: Tests for Weave.Service._{find|set|update}Cluster()
2010-06-09 11:07:54 -07:00
Philipp von Weitershausen 6a68634cbf Bug 572436 - Get rid of app-specific hacks (switch (Svc.AppInfo.ID)) in sync library [r=mconnor]
Set relevant default preferences programmatically in app specific overlays, making app-specific code paths in the sync library unnecessary.
2010-06-16 23:11:40 +01:00
Philipp von Weitershausen 52ec13eb30 Bug 572970 - Hardcode some pre-processed values for .in files like prefs and constants [r=mconnor]
* Rename constants.js.in to constants.js.
* Get rid of unused DEFAULT_SERVER variable
* Hardcode STORAGE_VERSION. The three other variable substitutions are add-on specific.
2010-06-18 09:13:02 -07:00
Edward Lee ce6de55601 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Migrate prefs from extensions.weave. to services.sync. when loading the service for the first time before migration.
2010-06-16 14:30:13 -07:00
Edward Lee 0cbfa6f197 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 2256714107 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 9529fb34fa Bug 562878 - Override for machine name [r=mconnor]
Allow setting of the computer name during Firefox account setup and from prefs. Also allow setting device name from Fennec prefs. Fix up strings for Fennec.
2010-06-11 11:36:51 -07:00
Philipp von Weitershausen 67eff5457d Bug 570180 - Setup wizard sets passphrase='foo' [r=mconnor]
Promote _verifyLogin to a public method so we have a way to query login status even with a non-existent or invalid passphrase.
2010-06-14 21:03:39 +01:00
Philipp von Weitershausen 2a116ee59d Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 2) [r=mconnor]
Weave.Service.onStartup now triggers autoconnect after a fixed delay specified in a preference. If that preference is absent, nothing happens and apps are responsible for triggering autoconnect in a weave:service:ready observer themselves. Provide such observers for Firefox and Fennec.
2010-06-10 17:04:49 -07:00
Philipp von Weitershausen eb4e7c1045 Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 1) [r=mconnor]
Weave.Service._registerEngines now reads the list of engines from a preference so that apps can specify it this way. The switch logic stays as fallback for the addon case.
2010-06-09 17:22:03 -07:00
Edward Lee cdf449bd0f 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
Edward Lee 6af153cd30 Bug 566061 - After server syncing, lightweight themes do not get applied to Chrome [r=mconnor]
Make sure the pref exists (is a bool) before trying to access its value.
2010-06-10 10:57:49 -07:00
Edward Lee 587c8c9d4c Bug 569355 - source code reorg, redux [r=mconnor]
Split the code structure to service/{crypto,sync} and ui/{fennec,firefox}. Update the top level makefile to build the addon staging directory to merge various parts of directories.
2010-06-09 17:03:31 -07:00
Edward Lee 1d9a29c0dd Bustage fix for bug 570635 to check null for item.guid instead of item. 2010-06-09 16:10:38 -07:00
Edward Lee 4d4c161152 Bug 570635 - Use async queries for fetching form data [r=mconnor]
Create a Utils.queryAsync to wrap executeAsync that fetches all rows and columns by name. Update form and history engines to use it.
2010-06-09 09:35:01 -07:00
Philipp von Weitershausen 38dd746086 Bug 569740 - Tab Characters within Usernames Can Cause Connectivity Issues & Security Events [r=mconnor]
Strip tabs from username since tabs are stripped from URIs and the username is part of all URIs.
2010-06-08 19:05:05 -07:00
Philipp von Weitershausen c8aa414112 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 2: Tests for module startup, Weave.Service attributes.
2010-06-04 17:05:55 +01:00
Philipp von Weitershausen 8d8af96450 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 1: Get rid of unused '_syncInProgress' attribute, unnecessary getters and setters.
2010-06-04 16:38:38 +01:00
Philipp von Weitershausen 79b588a085 Bug 569730 - Can't log in a 2nd computer [r=Mardak]
Fix a regression introduced with the status.js refactoring (bug 557590).
2010-06-04 14:44:04 +01:00
Edward Lee bffd21b356 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
Edward Lee 2de3b0d76b Bug 565411 - Accept max_results as a parameter to allow configuring the number of history items. [r=mconnor] 2010-06-02 15:18:01 -07:00
Edward Lee 8ca541a1a3 Bug 565411 - Sync 5000 most frecent pages instead of 1000 recent for first sync [r=mconnor]
Use an async sql query to get uris by frecency instead of query result nodes, and wrap it with sync/async to keep the sync interface without blocking UI. Rough timings of getAllIDs: old 1k = 1.6sec blocking; old 5k = 2.7sec blocking; new 1k = .2sec non-block; new 5k = .6sec non-block.
2010-05-13 11:44:19 -07:00
Philipp von Weitershausen ada4345433 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 46b96f4455 Bug 557590 - code audit and create unit test plan for status.js [r=mconnor]
Initialize status values in status.js + tests for status.js.
2010-06-01 15:12:25 -07:00
Philipp von Weitershausen 1a8a8ad8e5 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 dafa05caeb 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 8fd0b69ca3 Bug 568518 - Unhelpful log messages [r=mconnor]
Remove "Server attack" from exceptions.
2010-05-27 11:04:30 -07:00
Edward Lee d658d7f0cb Bug 568440 - sync errors when resetting sync at the same time as other syncs are occurring [r=mconnor]
Clear out cached crypto and keys if info collections says they've been modified.
2010-05-27 11:04:26 -07:00
Edward Lee 69526a658b Bug 568256 - form history changes breaks form sync, FF search bar, probably more [r=mconnor]
Check for both old and new class IDs and use the one that exists when wrapping. Also add FormTracker as the observer object so that its notify function is correctly called by nsHTMLFormElement.

--HG--
extra : rebase_source : 470430eaa643415e635836db3c38fb639a4e44b6
2010-05-26 11:56:04 -07:00
Mike Connor 21899cdb80 Bug 567364 - final tweaks, r=Mardak
--HG--
extra : rebase_source : d103816fec7641a6f5a672a6b8557f2bbbb56566
2010-05-21 17:41:19 -04:00
Edward Lee 975a3a25f8 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 bd4a46d064 Bug 557591 - Add tests for Utils.lazySvc. [r=mconnor]
Add a fake service that definitely won't exist for testing purposes.
2010-05-17 13:46:19 -07:00
Mike Connor e3ff29780a Bug 564523 - passphrase can match password for new accounts, r=Mardak
--HG--
extra : rebase_source : bae8d44f67c0f836efa1a6f607e6605f3d30b33b
2010-05-07 18:39:58 -04:00
Mike Connor e670005eb2 Bug 564365 - canceling setup, then setting up Weave, doesn't set firstrun pref, causing problems later, r=mardak 2010-05-07 16:16:37 -04:00
Mike Connor 11b09dae28 Bug 563868 - Provide better feedback when server is unreachable or doesn't have a server instance during setup. also fixes bug 564329. r=Mardak 2010-05-07 00:02:00 -04:00
Edward Lee 32ffff545f Bug 563989 - Reset Sync option 3, doesn't properly propagate to other clients [r=mconnor]
Always sync client data by making sure it's always enabled and only update local cilent with remote commands. Make sure to sync clients to get a list of clients that need to receive commands. Also, make sure to upload data after wiping remote now that remoteSetup happens before wipeRemote.
2010-05-05 17:16:17 -07:00
Mike Connor d500173a72 Bug 563682 - Latest Secret phrase does not update in password manager, r=Mardak
--HG--
extra : rebase_source : bc6631f3d4732fb48ddb131cb36ce1bde23d991e
2010-05-04 16:56:12 -04:00
Mike Connor 18372106ac Bug 561391 - Add hidden pref to let createAccount include X-Weave-Secret header to bypass captcha, r=Mardak
--HG--
extra : rebase_source : 7c26037977ab47b4f7bceb8ec9889786abd3f0fd
2010-05-04 16:55:34 -04:00
Edward Lee 0c62a45494 Bug 561839 - import PlacesUtils.jsm instead of utils.js [r=mconnor]
Try the new PlacesUtils file before the old utils.js.
2010-05-04 12:14:48 -07:00
Edward Lee 2a2cbfbad2 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 eb6d0834d7 Bug 562100 - need enhanced activity logging to measure sync performance from client [r=mconnor]
Track a start time and print the total sync time to hundredths of a second.

--HG--
extra : rebase_source : b1639875d527b0bfabe57be90413bb47ba0b05ce
2010-05-03 14:01:08 -07:00
Mike Connor 2b46d6a587 Bug 561382 - Theme doesn't dynamically switch on sync to default theme, r=Mardak
--HG--
extra : rebase_source : e2a8fe1659816065cd162c2514336ec6f5a07521
2010-05-03 16:44:18 -04:00
Edward Lee 152c9df466 Bug 559163 - Don't select from slow indexless views for just one item [r=mconnor]
Just select from moz_places instead of _view where data might be slightly stale but good enough.
2010-04-29 14:36:15 -07:00
Edward Lee d5a98d02e2 Bug 554836 - On idle occurs 'JavaScript component does not have a method named: "onDeleteVisits"' [r=mconnor]
Add onDeleteVisits in addition to onPageExpired to maintain compatibility with old and new API.
2010-04-29 16:42:39 -07:00
Edward Lee 1fc133e489 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
Edward Lee 1618e0cb25 Bustage fix from sync-asyncExecute: don't throw as the old code would catch and implicit return undefined. 2010-04-29 15:18:05 -07:00
Edward Lee 5dbc80dbd3 Bug 553709 - Syncing "Browsing History" uses 100% of a CPU core for extended periods [r=mconnor]
Sync asyncExecute to avoid forcing synchronous waits on disk but keep existing calling conventions (no callbacks) for callers by using Sync.
2010-04-29 14:36:15 -07:00
Edward Lee 26717b95bc Bug 558077 - Bookmark folder and its contents lost under certain conditions of syncing same named folder [r=mconnor]
Mark entries as dupe if they're known to be dupes locally so that receiving ends won't bother looking for dupes for these items.

--HG--
extra : rebase_source : 2623f7ed20160ba445b58f538c3397caa0ef78e3
2010-04-29 14:36:09 -07:00
Mike Connor d59d71b959 Bug 560887 - Heartbeat doesn't detect new clients if the browser is closed before 1 hour, r=Mardak 2010-04-29 11:50:46 -04:00
Mike Connor eb6db50e8a Bug 562159 - Tabs from other computers don't show at about:weave-tabs, r=Mardak
--HG--
extra : rebase_source : 6e585fc3ddf75f3654286c08f1cd660586ce2de3
2010-04-28 22:20:08 -04:00
Edward Lee 29159af867 Bug 561005 - Use FakeSvc to grab binary crypto if js-ctypes doesn't work [r=zpao r=mconnor]
Lazily load the binary component service onto FakeSvc if ;2 fails to register on Svc.
2010-04-28 16:36:41 -07:00
Edward Lee 2a8342da17 Bug 561638 - Weave Error in Trunk Nightly (Status Bar Icon Missing) [r=mconnor]
Remove the extra name from get/set declarations now that Spidermonkey doesn't want them.
2010-04-26 11:37:12 -07:00
Mike Connor 7dd144218f Bug 560937 - move all setup into a single wizard, and clean up interactions, r=mardak 2010-04-21 20:40:42 -04:00
Mike Connor 99319d631c Bug 526012 - audit observer service usage, r=mardak 2010-04-20 21:56:44 -04:00
Mike Connor 9912926c15 Bug 556930 - Wrong secret phrase warning shows up when logging in, r=Mardak 2010-04-09 13:20:41 -04:00
Justin Dolske 75fe297323 Bug 513798 - Rewrite WeaveCrypto in JS. r=mconnor, r=dwitte
--HG--
rename : services/crypto/components/IWeaveCrypto.xpt => services/crypto/IWeaveCrypto.xpt
2010-04-21 19:02:16 -07:00
Edward Lee fba87f0c14 Bug 553402 - New pages in a tab aren't synced [r=mconnor]
Trace pageshow events to indicate that new tab data should be uploaded. Because scores must be integers, still increment the score by 1, but only do that 10% of the time for pageshows.
2010-04-21 16:35:51 -07:00
Edward Lee 0f030153cc Bug 558191 - Theme/persona sync sometimes doesn't happen until restart of client [r=mconnor]
Wait until all lightweight theme prefs have synced before poking at the lightweight theme manager.
2010-04-21 13:41:18 -07:00
Edward Lee f05a827ed2 Bug 480448 - Get rid of code to delete old snapshots [r=mconnor]
SnapshotStore got removed with bug 524916 and hasn't been getting called for a long time now.
2010-04-21 11:10:32 -07:00
Edward Lee 30147177c1 Bug 437277 - update daily backup before first bookmark sync [r=mconnor]
Share an archiveBookmarks function that wraps the PlacesUtils call to be used from storage.wipe and first sync.
2010-04-21 11:10:32 -07:00
Edward Lee 12f3abb6e4 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 04e6b1f9a8 Bug 559674 - Put the xpi type (dev/rel) in the updated url [r=mconnor]
Add two constants: WEAVE_CHANNEL and UPDATED_URL that get preprocessed with @xpi_type@.
2010-04-15 16:33:09 -07:00
Edward Lee 74ee9ca0f3 Bug 534218 - Changing sync direction from outdated clients loses client/server data [r=mconnor]
Check remoteSetup first to determine if we're okay to sync before wiping client/remote. Additionally only wipe enabled engines instead of everything.
2010-04-14 15:00:29 -07:00
Mike Connor a0b39324a1 bug 543851 - autoconnect should call _checkSync(), r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor 327c2da464 bug 556710 - Make mpLocked part of Utils, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor 4f5f1a7edb bug 556683 - password reset URL is hardcoded, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor ff2b435a77 bug 496485 - make Service.wipeServer work properly, r=Mardak 2010-04-07 20:06:37 -04:00
Mike Connor db5f17224a bug 551572 - 100% CPU when sitting on merge-choice screen, r=Mardak
--HG--
extra : rebase_source : 1b2d36ff6d6d80b81cdadaad4fb53592f851e903
2010-04-05 23:53:31 -04:00
Edward Lee ea7a2f7ba7 Bug 558654 - Firefox crashes every ~2min after update to 1.2 [r=mconnor]
Limit the number of initial form entries to 500 ordered by "frecency".
2010-04-11 12:34:27 -07:00
Edward Lee 1532b85056 Bug 558264 - Form data fails to sync when there's nothing to upload [r=mconnor]
Wrap the createStatement calls to guard against missing guid columns and lazily add it.

--HG--
extra : rebase_source : c59a692c6ad08321835c75023b54f02e8d1964da
2010-04-09 10:20:58 -07:00
Edward Lee b62b60e410 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 a5fc13f320 Bug 557623 - Tab sync broken on fennec since session-store was added [r=zpao]
Check for existance of both cid and iface in Cc/Ci to decide to use the platform's service or fake one. Remove unused lazyInstance to clean up API (iface == string not object).
2010-04-06 14:13:21 -07:00
Edward Lee b4d4505934 Bug 549789 - Point user/misc urls to 1.0/ instead of 1/ [r=mconnor]
Fix up both url getters to have the extra dot oh.
2010-04-06 12:07:34 -07:00
Edward Lee 079257bf2f Bug 557503 - bookmark restore from backup and server-wins interact badly [r=mconnor]
Don't resetLastSync as that will make local changes look old and instead mark each as changed now that addChangedID doesn't jsonSave on each call.
2010-04-06 11:59:50 -07:00
Edward Lee 65f25d882a Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -07:00
Edward Lee 35083577f3 Replace tabs in files under source/ with appropriate number of spaces. 2010-04-02 16:37:53 -07:00
Paul O’Shannessy 02de93e6b7 Bug 554936 - Make statusbar text "Set Up Weave..." until Weave has been configured [r=Mardak]
* Added a "Set Up Weave..." status message which is determined by Status.login states
* The "Set Up Weave..." message opens the pref window directly instead of showing the menu
* Added an additional error state for NO_PASSPHRASE
* Added checks to onStartup to check some status (no username/password/passphrase) for when autoconnect=false
* When the prefpane is opened and there's an error, it will open to the correct page so that can be corrected
* If using a custom server, that will be reflected when shown that page in the prefpane
2010-04-02 16:30:09 -07:00
Mike Connor ca58a97947 bug 545725 - Changing passphrase should prevent other clients from syncing, r=Mardak 2010-03-31 21:58:07 -04:00
Edward Lee 084907c53f 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 caac21044c 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
Edward Lee cc452bb5e2 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 1891e47f71 Bug 556361 - New searches from the searchbar don't get synced [r=mconnor]
Add a component that notifies when satchel methods are getting called. The notifications come as "form-notifier" with JSON data of the function name, arguments, and type (before vs after).
2010-04-01 15:21:54 -07:00
Edward Lee 0bc6e62a98 Bug 554924 - Weave should not sync during session restore [r=mconnor]
Get rid of STATUS_DELAYED and initialize Weave listeners, etc immediately. At the end of onStartup, wait a little bit to let sessionstore restore tabs and then count how many busy tabs to delay autoconnecting to avoid doing network while tabs are doing network.
2010-04-01 15:16:19 -07:00
Edward Lee 1fddfb0347 Bug 556509 - folders description not synchronised [r=mconnor]
Allow descriptions to be set on folder records and set description on creation.

--HG--
extra : rebase_source : d380f5d28130bd53532e5b4d293468aa053c19b2
2010-04-01 15:11:42 -07:00
Paul O’Shannessy dfeaeaf6ac Bug 539057 - better flow with start over [r=mconnor]
* Adds an option to the manage account to change sync option.
* Changes "start over" to "use a different account".
* Hides the "start over" button on the sync options page when not running through the whole process.
* Adds a prompt when starting over (which fixes bug 524186).
2010-04-01 13:43:09 -07:00
Edward Lee fe072a177b Bug 535326 - Need to rethink tab sync limit of 25 [r=mconnor]
Fit as many tabs as possible in 20000 characters by linearly estimating how many will fit then remove extras one by one.

--HG--
extra : rebase_source : 1ef3700a9cddd7e3cb0f96b9affada15e98ea672
2010-02-17 18:24:22 -08:00
Mike Connor 71f982d974 bug 539056 - Better Tab sync UI and discoverability, r=Mardak
--HG--
extra : rebase_source : d0c98d78b889ed74f5b130077a6ee1806bd81282
2010-03-12 16:14:09 -08:00
Edward Lee 6c104ff79a Bug 552134 - Ensure that keyring/symmetric key haven't been tampered with [r=mconnor]
Store a HMAC with the encrypted symmetric key instead of just the wrapped key and verify that the HMAC matches before unwrapping. Test that normal getting works and a tampered payload/HMAC fails but succeeds on restoring the correct HMAC.
2010-03-25 19:23:44 -07:00
Edward Lee 46632f7ac1 Bug 549638 - Ensure that encrypted payloads haven't been tampered with [r=mconnor r=dolske]
Generate a SHA256 HAMC hex string from the base64 ciphertext and base64 symmetric key. Generate a HMAC key from the symmetric key and cache them together when unwrapping. Refactor the Utils.sha1 to share the same digest code.

--HG--
extra : rebase_source : dae973c62317eb3b738306fc30ea19870555c7df
2010-03-16 16:31:56 -07:00
Mike Connor 777762c48e bug 550597 - explicit server backoff is buggy, r=Mardak
--HG--
extra : rebase_source : 8e3621b0d7de77d918f1fe7ce1304f303fd19f97
2010-03-25 17:24:41 -04:00
Mike Connor a8a384a3b0 bug 535136 - improve transition from single-client to multiple-client mode, r=Mardak
--HG--
extra : rebase_source : 8a667e947aa442e65eec1e13059e7076b00f9878
2010-03-25 17:24:41 -04:00
Edward Lee 503f711a99 Bug 550267 - Sync tabs before other data for Fennec [r=mconnor]
Move tabs to be first instead of last to sync for fennec.

--HG--
extra : rebase_source : 74596397668d4cdcd15993cd0930b0b65b0df777
2010-03-25 14:21:42 -07:00
Paul O’Shannessy 8a1c83fe01 Bug 555015 - JavaScript strict warning: bookmarks.js: undeclared variable record [r=Mardak]
Just make sure the record variable is declared before using it.
2010-03-25 13:58:27 -07:00
Edward Lee e0f3625f3c Bug 503964 - Have per-engine versioning to avoid wiping all engine data [r=mconnor]
Add an engines object to meta/global to track version and syncID for each engine. If the server is outdated, wipe the data and set a new version and syncID. If the client is oudated, ask for an upgrade. Differing syncIDs cause a reupload. All engines are right now the default version 1.
2010-03-25 10:05:21 -07:00
Edward Lee 1cd3c07303 Bug 548066 - JavaScript strict warning: clientData.js, line 194: reference to undefined property this.clients[id] [r=mconnor]
Get rid of get/setInfo on ClientEngine and ClientStore and expose functions to read/modify client data: stats, clearCommands, sendCommand. Also expose the local client information as local[ID,Name,Type,Commands] and rework the storage to use these instead of trying to keep the JS object clients entry in sync with prefs, etc. Update users of the old interface (service/tabs/chrome) to use the new local*. Set the client type based on app id instead of from each app's overlay.
2010-03-16 16:39:08 -07:00
Edward Lee 1555ba9d3c Bug 554427 - Move syncID from clients.js to service.js [r=mconnor]
Switch from Clients.syncID to this.syncID for service.js. Don't special case resetSyncID and just use = "".
2010-03-25 16:52:45 +00:00
Edward Lee 7379a71033 Bug 547007 - Use a per-record IV instead of one for each symkey [r=mconnor]
Generate a random IV on every encrypt instead of taking it from the CryptoMeta. Don't bother generating a bulkIV per CryptoMeta.
2010-03-16 16:31:56 -07:00
Edward Lee 6e5b14f642 Bug 547048 - Only allow clients to issue delete records [r=mconnor]
Don't specially serialize/not encrypt delete records and store the deleted flag as part of the cleartext payload.
2010-03-16 16:31:56 -07:00
Edward Lee e057d3a639 Bug 547049 - Verify that encrypted payloads correspond to the requested record [r=mconnor]
Write the record's id to both .data and .cleartext and check that they match when decrypting.
2010-03-16 16:31:56 -07:00