Commit Graph

1756 Commits

Author SHA1 Message Date
Richard Newman
ab94047f78 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
52c66719b1 Bug 602876 - Implement network client for credentials exchange via J-PAKE. r=mconnor 2010-12-09 18:12:09 -08:00
Philipp von Weitershausen
0c5caf1b02 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
d34fb9c651 Bug 617868 - RFC-5869 compliant HKDF implementation with test vectors. r=mconnor 2010-12-09 12:14:08 -08:00
Richard Newman
b3a296aa95 Bug 617709: download and reset when server bulk keys change. r=mconnor 2010-12-09 10:32:03 -08:00
Philipp von Weitershausen
3ace8aaf0a Bug 617521 - Random bookmark reordering due to dupe handling. r=mconnor 2010-12-07 21:49:22 -08:00
Richard Newman
8f038452ba Bug 617478: clear CollectionKeys on startOver. r=philiKON. 2010-12-07 16:30:06 -08:00
Richard Newman
28580e1b5a Bug 617351: more tests for engine disabling. r=mconnor 2010-12-07 16:18:22 -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
0b0eaa9772 Bug 615926: Belt-and-braces engine disabling check. r=mconnor 2010-12-06 17:23:38 -08:00
Philipp von Weitershausen
d8c109a724 Bug 615285 - Bookmark sync: track ordering on folder. r=mconnor 2010-12-06 15:51:56 -08:00
Philipp von Weitershausen
5ea3894792 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
85eb795fda Bug 615410 - Have bookmarks generate new-style GUIDs. r=mconnor 2010-12-06 15:51:38 -08:00
Richard Newman
29811e977e Bug 615926: fix stupid typo. r=mconnor 2010-12-06 15:09:14 -08:00
Richard Newman
968a496a0e Bug 615926: attempt to avoid screwing up meta. 2010-12-06 14:22:09 -08:00
Richard Newman
0746bfe3b7 Bug 610914: performance improvements for WeaveCrypto. 2010-12-06 11:52:30 -08:00
Philipp von Weitershausen
f9740e32c7 Bug 616179 - Persona is not displayed after pref sync cleanup. r=mconnor 2010-12-02 11:03:01 -08:00
Philipp von Weitershausen
8cacccf2e0 Fix indentation (no bug) 2010-12-01 14:59:33 -08:00
Philipp von Weitershausen
729a42719c Bug 615604 - Only accept pref updates for the current app. r=mconnor 2010-11-30 13:37:07 -08:00
Philipp von Weitershausen
01ffd2d9a2 Bug 615604 - Make pref GUIDs base64url. r=mconnor 2010-11-30 13:36:01 -08:00
Philipp von Weitershausen
dc3c9d2e88 Get rid of superfluous parameter. r=me 2010-11-30 10:47:03 -08:00
Philipp von Weitershausen
c8ecebe93b 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
0073c97150 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
238d11c9a3 Bug 614737: detecting upgrade, being nice to old clients. r=philikon 2010-11-29 16:41:33 -08:00
Richard Newman
ffb07cee37 Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen
b445191feb Bug 560580 - Pref sync cleanup [r=mconnor] 2010-11-23 21:21:37 -08:00
Philipp von Weitershausen
31d6d2b3c1 Bug 591126 - Handle upload interruption gracefully [r=mconnor] 2010-11-23 21:21:31 -08:00
Richard Newman
00fb41dbff Bug 610749: (FIXED) add pure-JS PBKDF2 implementation. r=philikon 2010-11-16 11:50:18 -08:00
Richard Newman
6a03ded70c Bug 610749: add pure-JS PBKDF2 implementation. 2010-11-16 11:42:17 -08:00
Philipp von Weitershausen
a8b99bdfa2 Bug 600993 - Tab sync has no reason to ever touch disk [r=mconnor] 2010-11-11 11:00:41 -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
f591065405 Bug 610375 - Make bookmark folders not sync last [r=mconnor] 2010-11-09 13:53:50 -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
f32561863b 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
8e81c5b7cd 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
3d8a0cccc7 Bug 584927 - Factor GUIDForUri and setGUID into HistoryStore [r=mconnor] 2010-08-06 14:40:06 -07:00
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
803b0a1422 Bug 606695 - Helper for chaining async functions [r=mconnor] 2010-10-29 06:54:30 -07:00
Philipp von Weitershausen
f60e694777 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
3112962661 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
adbb677fa2 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
17e9694951 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
b82a6c9745 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
0d92538398 Bug 599928 - Need a single pref to toggle logging [r=mconnor] 2010-10-11 12:46:53 -04: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
7cd7025e74 Bug 592465 - Show a passphrase strength meter for custom passphrases [r=mconnor] 2010-09-23 02:04:31 +02:00
Philipp von Weitershausen
c1b1fa990d 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
cd4c7db129 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
1e7744501c 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
38347b08b2 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
61179044c7 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
a8e294fe4f 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
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
Philipp von Weitershausen
b4ae3b2207 Bug 594520 - Get rid of more "secret phrase" occurrences [r=mconnor] 2010-09-09 00:20:13 +02:00
Philipp von Weitershausen
b0460d903d 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
19147be0a2 Bug 580050 - Use hardware model instead of oscpu to identify clients [r=Mardak] 2010-09-08 11:55:57 -07: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
158b836dae Bug 592276 - Utils.mpLocked() should allow nsIPKCS11Slot.SLOT_UNINITIALIZED [r=mconnor] 2010-08-31 17:58:35 +02:00
Philipp von Weitershausen
57109455df 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
92af1b132e 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
e96524714a 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
cfb6a32501 bug 567583 - Get tabs sync to work for SeaMonkey, r=mconnor 2010-08-17 15:44:29 +02:00
Mark Finkle
1696d67e10 Disable error logging from weave crypto. rs=mconnor, a=bustage fix 2010-08-13 15:31:00 +12:00
Philipp von Weitershausen
95212247f0 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
cc829291e7 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
252e31061d Bug 585753 - Changeset 7e8b1f7852a9 breaks bookmark sync [r=mconnor] 2010-08-10 01:59:26 +02:00
Philipp von Weitershausen
3923f450c9 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
7af40237fb Bug 583847 - Weave should be using createAsyncStatement instead of createStatement [r=mconnor] 2010-08-09 18:38:18 +02:00
Philipp von Weitershausen
67d49970e4 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
59d452e839 Bug 487558 - Use satchel notifications to track form data [r=mconnor] 2010-08-06 17:31:36 +02:00
Philipp von Weitershausen
a6703ed75f Bug 584241 - Disable trackers when client isn't configured [r=mconnor] 2010-08-06 17:30:58 +02:00
Philipp von Weitershausen
481a8d0356 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
09068d65c1 Bug 584486 - Changing password via web leads to unknown error [r=mconnor] 2010-08-05 16:52:17 +02:00
Philipp von Weitershausen
4678af4c19 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
d2bdde4533 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
31d5c911e8 Bug 584369 - history sync is busted on tip, r=philiKON 2010-08-04 11:07:50 -04:00
Mike Connor
9be564a5ca [mq]: weakRefForms 2010-08-04 10:42:09 -04:00
Paul O’Shannessy
4cdd8a43b7 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
69a6017b51 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
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
Philipp von Weitershausen
23ee08503e 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
223fbdf62d 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
61ced88b2e 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
39e9fff92b Bug 578825 - sync should only sort on mobile clients, r=Mardak 2010-07-14 18:18:24 -04:00
Philipp von Weitershausen
efc1efae81 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
c7f7dd613e Bug 558963, part 1, add UTF-8 helpers and tests, r=mconnor 2010-07-03 14:11:58 -04:00
Edward Lee
eca54fde2e 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
b3db2d2328 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
cc4ff52606 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
919ecb4821 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
bf85b6b3c2 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
47e58c78c2 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
43920b5e3d 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
bd04c994d8 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
46e1de249f 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
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
61f3668330 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
b37e25a581 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
4eb68874cb 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
128fdd1bef 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
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
Edward Lee
fd2b51aee6 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
0ef81dfdae 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
1fdb100093 Bustage fix for bug 570635 to check null for item.guid instead of item. 2010-06-09 16:10:38 -07:00
Edward Lee
ef8599f8c5 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
fb0dbc769b 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
79066a071f 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
baa0ab1b37 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
c827b6ed13 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
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
Edward Lee
b217211241 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
653b88df98 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
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
912b4b6b57 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
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
89f3d54c0f Bug 568518 - Unhelpful log messages [r=mconnor]
Remove "Server attack" from exceptions.
2010-05-27 11:04:30 -07:00
Edward Lee
63636bdec1 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
c2d690b112 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
c3178901c3 Bug 567364 - final tweaks, r=Mardak
--HG--
extra : rebase_source : d103816fec7641a6f5a672a6b8557f2bbbb56566
2010-05-21 17:41:19 -04: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
7befe92e24 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
b3a2e33a1d 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
668d091bc7 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
ac56a121ac 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
b7c52221c4 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
37bff0565d 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
f7ba0ea470 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
f65cfa40d2 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
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
1dd866a6e9 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
2c1b819cdf 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
ff3ec7ac67 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
d98d0bfafa 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
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
Edward Lee
69584666ee 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
3c6fd67fb6 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
ffe2ddb849 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
72f93ad8d0 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
f2d003872f 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
cf43c4421b 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
450a3cd37a 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
d588221cab 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
11c85ae589 Bug 526012 - audit observer service usage, r=mardak 2010-04-20 21:56:44 -04:00
Mike Connor
6c844c551e Bug 556930 - Wrong secret phrase warning shows up when logging in, r=Mardak 2010-04-09 13:20:41 -04:00
Justin Dolske
661389fa2f 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
9d76d3dc30 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
7493d97441 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
691016566c 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
be8613110f 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
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
2d05ad5684 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
3dd894f835 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
e2dbcafe70 bug 543851 - autoconnect should call _checkSync(), r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
870dab5a2f bug 556710 - Make mpLocked part of Utils, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
042c9312c3 bug 556683 - password reset URL is hardcoded, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
914768c99b bug 496485 - make Service.wipeServer work properly, r=Mardak 2010-04-07 20:06:37 -04:00
Mike Connor
7ea478d0db 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
5771a28188 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
4bc0d28e5b 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
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
56e9f06576 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
5e906447cf 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
9dea7f5571 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
c79c303ba8 Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -07:00
Edward Lee
37ec3dd78c Replace tabs in files under source/ with appropriate number of spaces. 2010-04-02 16:37:53 -07:00
Paul O’Shannessy
b52cf705d0 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
c572a8eee6 bug 545725 - Changing passphrase should prevent other clients from syncing, r=Mardak 2010-03-31 21:58:07 -04: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
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
5833da7aa7 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
a399960cee 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
ab278f01cd 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
1d41397906 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
05af24a32c 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
23d76a73c9 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
ba60f514a6 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
e5bce4658d 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
54016ff07a bug 550597 - explicit server backoff is buggy, r=Mardak
--HG--
extra : rebase_source : 8e3621b0d7de77d918f1fe7ce1304f303fd19f97
2010-03-25 17:24:41 -04:00
Mike Connor
9f9e921640 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
d679522490 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
9aefb399d5 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
0ad782b0b5 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
21f7747109 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
15e1f02e87 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
e73dbf06b9 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
177b122960 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
6c37148ae4 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
Edward Lee
eca5bad2df Bug 549636 - Don't unnecessarily [wrap] cleartext for JSON.stringify [r=mconnor]
Remove the unnecessary indirection now that JSON.stringify can take strings.
2010-03-16 16:31:56 -07:00
Edward Lee
00f548581e Bug 544069 - Move bookmark parentid into the encrypted payload [r=mconnor]
Tweak the get/setters to refer to the PlacesItem instead of WBORecord.
2010-03-16 16:31:56 -07:00
Edward Lee
af0bf0ab2a Bug 546772 - Encrypt the clients records [r=mconnor]
Store data in cleartext instead of directly in the payload to have it encrypted with the CryptoWrapper. This cleans up some hacks needed to get the plain WBO client record to behave nicely with other encrypted data.
2010-03-16 16:31:55 -07:00
Edward Lee
35ae88f40a Bug 545517 - Make the remote version check compare storage versions and not weave versions [r=mconnor sr=mhanson]
Move back to a model where multiple client versions can read the same data of the same storageVersion. The only time meta/global is written is on a freshStart/server wipe. Initialize the version to 1.2pre1.1 so that individual storage-incompatible changes can bump the value. Old versions are strings, so estimate with a parseFloat, but future versions will be integers.
2010-03-16 16:31:55 -07:00
Edward Lee
dced4ea743 Bug 554472 - Only sync prefs under extensions.weave.prefs.sync. (with a trailing dot) [r=mconnor]
Add a "." to the end of WEAVE_SYNC_PREFS value and fix up uses that did extra work to remove the dot (or something that might not have been a dot).
2010-03-23 18:51:47 -07:00
Edward Lee
accbff6fd1 Bug 551874 - Figure out if we can avoid getting into partial synced state [r=mconnor]
For not-mobile clients, sync everything by specifying Infinity to keep existing math/logic working. Don't add a limit ?query if it's Infinity.
2010-03-19 11:35:01 -07:00
Paul O’Shannessy
59471f450c Bug 548939 - Use SessionStore in tab engine [r=Mardak]
Created a fake SessionStore service for Fennec that imitates the parts of Firefox's SessionStore API that we need. Then used the now "consistent" SessionStore service in the Tabs engine.
2010-03-16 15:14:32 -07:00
Paul O’Shannessy
6734a1e7b5 Bug 552532 - Sync form data to mobile [r=Mardak]
Add the "Form" engine to the list of engines used on Fennec.
2010-03-16 12:00:40 -07:00
Edward Lee
1ce05d4603 Bug 549633 - Standardize record creation so all SyncEngines encrypt data [r=mconnor]
Always add the id and encryption value so client and delete records can be encrypted.
2010-03-05 14:46:48 -08:00
Edward Lee
a9c2e6c4c2 Bug 549632 - Remove storage cache, which is mostly un/incorrectly used [r=mconnor]
Remove incorrectly used cache from some engines and clean up references from SyncEngine.
2010-03-05 14:43:11 -08:00
Edward Lee
da13b169a2 Revert svc/svc == null change from 87f9860d8e5a. 2010-03-02 11:22:20 -08:00
Paul O’Shannessy
137de41059 Refactor fake services so it's easier to add more [r=Mardak]
Created a FakeSvc object to put fake services into.
2010-03-02 11:07:30 -08:00
Paul O’Shannessy
b5463708b7 Bug 547827 - JavaScript strict warning: modules/util.js, line 617: reference to undefined property thisObj[name] [r=Mardak]
Check that name is a property of thisObj before trying to access it.
2010-02-23 13:10:32 -08:00
Paul O’Shannessy
f39831ac01 Bug 546397 - Exception: Clients.getClients()[Clients.clientID] is undefined [r=Mardak]
Overrode _wipeClient in ClientEngine; treat resetting the same as wiping.
2010-02-19 13:36:42 -08:00
Paul O’Shannessy
d367359168 Bug 545756 - Get rid of quit-application observer [r=Mardak]
Stop observing 'quit-application', remove handling from observe, and remove WeaveSvc.isQuitting

--HG--
extra : rebase_source : e52fab892127d4ddd9a7312e74202cc3e09b2c8c
2010-02-12 12:04:06 -08:00
Edward Lee
3273de6ac1 Bug 545785 - Actively remove passwords that we don't want to sync
Check if we haven't deleted yet, and if not, grab the guids for weave credentials and delete them from the server.
2010-02-11 17:14:57 -08:00
Edward Lee
1ad29052b7 Bug 545767 - Clean up various names/strings needed for each set of engines/stores/trackers
Pass the engine name when constructing a subclass engine and construct the store/tracker with the same name.
2010-02-11 15:29:15 -08: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
Paul O’Shannessy
a3f801887c Bug 545487 - Cleanup TabTracker_observe [r=Mardak]
Remove the "load" event listener and don't QI since we don't need to.
2010-02-11 15:08:28 -08:00
Edward Lee
e238de1fc6 Bug 545701 - explicitly exclude Weave password/passphrase from pw sync
Don't include weave passwords when getting all ids and ignore their changes.
2010-02-11 15:05:22 -08:00
Edward Lee
ed5e098629 Bug 544068 - Assume moved bookmarks should be where they're moved
Don't keep the annotation around in-case the predecessor/parent finally syncs because the user positioned it otherwise.
2010-02-03 15:34:42 -08:00
Edward Lee
2a92715bee Bug 541722 - updating out of date machine can cause data to be reverted
Don't have each engine reset their last sync but still have the service clear out its cached data (keys, records).
2010-02-03 15:23:58 -08:00
Edward Lee
a371ae83ae Reverse thresholds to make more sense for single vs multi. 2010-01-26 12:08:41 -08:00
Edward Lee
91b160ab92 Bug 541766 - Logging in with email address kinda works but not
Detect finding cluster failure due to invalid username and treat like failed login.
2010-01-25 10:30:31 -08:00
Edward Lee
39e968e8de Bug 531489 - weave lost bookmarks with same url
Do dupe detection for bookmarks like how we do folders/separators but check against the url/title. Add parentName to bookmark records, so bump version.
2010-01-25 09:33:49 -08:00
Edward Lee
4cbaa75427 Lower tab logging to trace when wrapping tabs. 2010-01-21 09:59:27 -08:00
Edward Lee
8dfdbe920a Bug 526937 - Bookmarks are re-uploaded when they get visited
Don't mark item as changed on a favicon notification to avoid churn that can result in merge messing up bookmark ordering.
2010-01-19 11:24:00 -08:00
Mike Connor
d8ffe9498d Bug 524221 - Weave's current auto-login behavior is super-annoying if you have a master password. r=Mardak
Only autoconnect if the master password has already been entered and autoretry later if not.
2010-01-07 16:13:44 -08:00
Edward Lee
e8ccb18a12 Bug 536595 - Sync fewer items per data type on mobile
Just sync a flat 50 instead of .1 of 1500 to avoid increasing slowdown when processing many items.
2010-01-06 10:00:05 -08:00
Edward Lee
def7a2495e Bug 536594 - Warn on record creation failure but continue the sync
Wrap createRecord and encrypt incase an engine fails to create one or more of the records similar to how process incoming records are wrapped.
2010-01-06 09:59:05 -08:00
Edward Lee
c53310f982 Bug 536596 - Don't force garbage collections on every record processed
Remove the forceGC at the end of each onProgress from Collections and let normal actions trigger GC.
2010-01-06 09:57:05 -08:00
Edward Lee
48b1cf979f Bug 537954 - Some tabs don't get synced
Listen for load before adding the unload listener (and the Tab listeners).
2010-01-06 09:54:15 -08:00
Edward Lee
934cd0c6ea Bug 536457 - Include the version when pinging
Append a v=<version> to include the version and make it easier to add things in the future.
2009-12-22 13:46:34 -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
d3218dee1f Bug 535479 - Be smarter in getting rid of the "remote tabs" notification
Add a tri-state pref that is unset, 0, or a number (modified time in seconds) and don't show the notification if it's in the "0" state. Unset pref means no modified time has been saved, and a non-0 state is the modified time of the last synced tab. So when tabs arrive with a different modified time, switch to the 0 state. Additionally, still remember if the user ever dismissed the notification and never show it again.
2009-12-17 12:20:07 -08:00
Edward Lee
16a6c51fc6 Bug 535477 - Always sync tabs but inform Fennec users that recent tabs need syncing
Remove special casing of tabs prefs and remove tabs.backup to simplify the UI logic. Also remove dynamically enabling/disabling based on number of clients. For Fennec, show a notification about recent tabs need syncing.
2009-12-16 19:15:18 -08:00
Edward Lee
81644b3217 Bug 535476 - Ping the server once a day to help count active daily clients
Fetch info/collections? with an extra "?" once a day on a normal sync so that it gets the same data but is easily differentiated in access logs.
2009-12-16 19:08:36 -08:00
Edward Lee
33626cced1 Bug 532175 - Send event when Weave is ready to register new engines
Notify with "weave:service:ready" so observers can lazily load and wait to add engines, Weave UI.
2009-12-15 14:21:13 -08:00
Edward Lee
1213f59b7e Bug 534923 - Only show Mobile Bookmarks if there are mobile bookmarks
Fix up existing users as well as only creating the place query under AllBookmarks if there are mobile bookmarks.
2009-12-15 14:21:13 -08:00
Edward Lee
cee1a6e884 Bug 534944 - Avoid loading/importing weave files until necessary to speed up fennec startup
Have importing service.js trigger startup instead of only starting up from Weave.js, which now is used as a backup kickstarter. Only call import(service.js) when necessary from various Fennec files.
2009-12-15 14:21:12 -08:00
Edward Lee
baf9c41432 Bug 534687 - Weave's pref syncing can sync lightweight themes in a broken fashion
Trigger lightweight theme manager's currentTheme setter when changing the usedThemes pref.
2009-12-14 16:05:07 -08:00
Edward Lee
c77f5b2807 Have wipeRemote wipe just the engines' data and make sure the clients process the command. 2009-12-10 18:39:51 -08:00
Edward Lee
a48b0da141 Bug 532936 - Add root level node for bookmarks synced from Fennec
Create a mobile root in Firefox and link it to the Library UI as a query that fixes its own title if changed. Mark the mobile root on Firefox/Fennec as special so Weave uses "mobile" for the guid in the record, and items will appear in the appropriate folder.

--HG--
extra : rebase_source : fbd3afa2647204a370f7dacdf9d824e462ebb9b9
2009-12-10 16:12:14 -08:00
Mike Connor
6d3bbf8523 bug 533759 - delay real startup for 10 seconds on Fennec to get away from startup 2009-12-10 12:20:16 -08:00
Mike Connor
c12a983183 Bug 533580 - strip busted tbird support 2009-12-08 16:09:26 -08:00
Edward Lee
6f16e5f19c Bug 532770 - Allow tab sync's filtered urls to be set by pref
Expose engine.tabs.filteredUrls as a string to be used as regex and filter case insensitively.
2009-12-03 14:54:23 -08:00
Mike Connor
ccf44215ac bug 530824 - close window and start syncing much sooner when setting up second machine
--HG--
extra : rebase_source : 10919d9957e323e0f12f5ca1b67e5fe9f8294288
2009-12-03 15:03:39 -05:00
Edward Lee
88aab17b7b Bug 532722 - Use AddonOptionsLoad event to update Weave options
Make the weave add-on guid available as a constant and watch for AddonOptionsLoad with the matching addonID.
2009-12-03 12:14:56 -08:00
Edward Lee
4676b9cb18 Bug 488922 - Treat bookmarks restore specially
Add observers for bookmarks-restore-* and ignore changes during import and trigger a fresh start on success.
2009-12-02 19:20:44 -08:00
Edward Lee
c52dbbee72 Bug 532449 - Tabs don't sync until 4 syncs have happened
Always update the lastModified time to avoid tabs only sometimes getting updated.
2009-12-02 19:03:27 -08:00
Edward Lee
0da867fd27 Bug 532570 - "keyring doesn't contain a key" when signing-in with a differently-cased username
Make sure username is always lowercase so that pubkey uri, storage uri, etc. are all the same no matter how the user logged in. Server needs to be wiped to make sure existing keys with other casing are removed.
2009-12-02 18:25:18 -08:00
Edward Lee
835dcd80cf Bug 531005 - Sync is not working after update IWeaveCrypto.unwrapSymmetricKey NS_ERROR_FAILURE
Avoid concurrent key generation by updating meta/global immediately after resetting the client and have wipeServer not delete the meta collection. Also on detecting a syncid mismatch, sleep to allow remote keypair to be uploaded, and don't force a mismatch on upgrade.
2009-12-02 17:57:13 -08:00
Edward Lee
86d2294e4d Bug 531005 - Sync is not working after update IWeaveCrypto.unwrapSymmetricKey NS_ERROR_FAILURE
Check that the cryptometa is unwrappable when syncing; if not purge the key and data and make a new crypto record.
2009-12-02 17:25:14 -08:00
Edward Lee
bef67b3db3 Bug 532173 - Don't sync tabs of some pages (weave firstrun, about:blank)
Ignore certain filtered urls when creating a list of tabs for remote machines.
2009-12-02 14:46:02 -08:00
Edward Lee
08eca0017c Bug 530717 - sync after wipe local should always replace local values with remote
Always take the incoming item after a wipe and otherwise do the normal reconcile.
2009-12-02 14:44:52 -08:00
Edward Lee
c5bc7653dd Bug 531239 - clear out duplicate/old machines from Clients record
Get rid of persistent storage for clients and tabs to always fetch fresh records.
2009-12-02 14:44:17 -08:00
Igor Velkov
f0ff5ea6b0 Bug 526521 - Can't open preferences in SeaMonkey 2.0.1pre. r=Mardak
Reorganize fx-prefs to overlay itself so seamonkey can reference the same id and add Tabs sync.
2009-12-01 11:49:23 -08:00
Edward Lee
a46e202447 Share tab-gathering code for both createRecord and locallyOpenTabMatches. 2009-12-01 11:36:56 -08:00
Edward Lee
78b1fdad91 Provide a fake service for platforms that don't have the service like Private Browsing (for Fennec/Seamonkey). 2009-11-30 14:36:03 -08:00
Edward Lee
74e2b05d84 Bug 531943 - Sync scheduled by global threshold during private browsing
Use checkSyncStatus instead of directly calling syncOnIdle or scheduleNextSync so that we only schedule if we're okay to sync.
2009-11-30 14:03:59 -08:00
Edward Lee
8b1c00090a Bug 530863 - Global threshold update causes multiple syncs to fire
Make sure we only add one idle observer by keeping a flag.
2009-11-30 13:35:20 -08:00
Edward Lee
eb87765d7b Bug 530823 - Engines need to be able to specify a prefName for sharing prefs (different history types)
Use prefName for checking if an engine is enabled and have forms share a prefName with history.
2009-11-30 12:15:18 -08:00
Edward Lee
d851be860d Remove unused SnapshotStore. (Bug 524916) 2009-11-25 17:59:26 -08:00
Edward Lee
d4295ef8e9 Remove unused prefs and imports. (Bug 524916)
--HG--
extra : rebase_source : 074e542f63ee840b61db7fe63a6c3540c13a31a5
2009-11-25 17:49:15 -08:00
Mike Connor
7e923534c2 archive local bookmarks before wiping
--HG--
extra : rebase_source : dd54af2118cf60c9e4f4b3bf08b7a5c61e9e78b8
2009-11-25 17:09:32 -08:00
Mike Connor
86380e1e7c bug 530832 - make Merge more prominent, and clearly the recommended choice, with crisper wording
--HG--
extra : rebase_source : 68fdf9035bf3354a99c93b5050eb4af58c54a072
2009-11-25 17:08:51 -08:00
Edward Lee
7820fd7df1 Bug 530904 - tabs list style doesn't match fennec lists
Make headers larger, adjust text margins, add nokia sans font family.
2009-11-25 16:59:02 -08:00
Edward Lee
df947df75e Bug 531177 - Tabs don't sync from firefox (when there's lots of tabs)
Simplify tab record to just use deferGetSet like the other records and sort tabs based on their last usage to pick out a subset.
2009-11-25 15:22:45 -08:00
Edward Lee
dd2f688ee2 Bug 531171 - Tabs don't always update
Only expose that the tab engine knows about the current client's tabs, so always create/apply incoming and only create records tabs for local.
2009-11-25 15:17:39 -08:00
Edward Lee
877e53a9da Bug 531170 - Tabs don't sync from fennec
Add listeners for Fennec tab events the same way we do it for Firefox and share listener logic for various event types.

--HG--
extra : rebase_source : 685e45c16052db3d285c25c68db47680b7d15f72
2009-11-25 15:14:56 -08:00
Mike Connor
f4d942624f bug 527504 - overlay macBrowserOverlay so menu works on all windows that include
--HG--
extra : rebase_source : 1c95c891e89557f87539a66b678e3b54d659ce39
2009-11-24 15:50:51 -08:00
Edward Lee
b4233752d2 Bug 524916 - remove any/all code/images/strings that we aren't using anymore
Remove unused sync engines (cookies, extensions, input, microformats, plugins, themes).
2009-11-24 16:02:55 -08:00
Edward Lee
c05e0c5f94 Remove trailing whitespace from the codebase. 2009-11-20 14:34:20 -08:00
Edward Lee
d032f1effe Bug 527790 - Allow client names to be different from the default "Firefox"
Generate a client name based on the logged in username, appname, hostname, and profile name.
2009-11-19 23:31:04 -08:00
Edward Lee
c9efc4abfe Bug 514545 - weave mangles bookmarks
For both folders and separators, use the parent name (not guid) in addition to the item's title/position to determine if it's a dupe. This modifies the bookmark format for folders and separators, so a storage version bump is needed.
2009-11-19 21:34:17 -08:00
Edward Lee
0342adbfbc Bug 528539 - Start over should warn about incorrect username/password before prompting for secret phrase
Show Connecting... when signin in on page 0 and Verifying... when checking the passphrase on page 1.
2009-11-18 14:42:13 -08:00
Edward Lee
19934febcc Bug 507666 - Handle deleting places history
Use onBeforeDeleteURI to get the page's GUID and upload the delete record and process it by removing the page.
2009-11-18 11:47:25 -08:00
Edward Lee
ac2b6c824d Bug 529103 - Removing folders must use removeItem not removeFolder
Switch to Svc.Bookmark.removeItem from this._bms.removeFolder.
2009-11-18 10:24:09 -08:00
Edward Lee
b9f1c4dc0e Bug 525786 - Weave's log has a record of private browsing start/stop times
Switch some messages like private browsing, network change to trace and make the default service.main level Debug instead of Trace.
2009-11-16 17:11:10 -08:00
Edward Lee
cc9e18c9bf Comment out some trace logging in service.main for now (they always appear). 2009-11-12 19:25:43 -08:00
Edward Lee
8bcc3584b3 Bug 526942 - Try to sync tabs when viewing remote tabs
Try fetching tabs when loading the remote tabs view and if the sync got new tabs, reload the page.
2009-11-12 15:18:43 -08:00
Edward Lee
8b8ea72a82 Bug 528343 - Tabs don't sync
Set the current client on any tab change for tracker.changedIDs and reset that when sync finishes.

--HG--
extra : rebase_source : 3100141bc1fdfaaa959b5f990a9538527761aace
2009-11-12 14:48:54 -08:00
Edward Lee
79f980a983 Bug 527767 - Sync more history items on first sync
Syncing 1000 items should be good enough for anybody......
2009-11-12 13:51:28 -08:00
Edward Lee
64503c605c Bug 528090 - When logging out, stay disconnected until told to connect
Toggle the autoconnect pref on login/logout.
2009-11-12 13:49:41 -08:00
Mike Connor
8ebf17dca7 Backed out changeset 23d90c46b89c 2009-11-12 15:44:33 -05:00
Edward Lee
9723bf4362 Bug 528278 - Remove remote commands and wait for user on wipeRemote/changePassphrase
Store the reason for starting fresh (new syncId) in meta/global and fail remoteSetup on certain reasons to let the UI show a notification to the user for a response (pick merge or change passphrase). Code paths (sync, prep, etc.) related to remote commands are removed.
2009-11-12 11:54:21 -08:00
Mike Connor
4ee721a9df bug 526569 - add explicit choice to setup flow for additional computers
--HG--
extra : rebase_source : 45e0af54dc4b059368e14fcf241fe4ab3250b151
2009-11-12 13:11:54 -05:00
Edward Lee
2c1baed50d Remove unwanted info logging for bookmark indices. 2009-11-11 15:20:19 -08:00
Edward Lee
37a2e8a729 Reset the score when calculating the global score. 2009-11-11 15:19:00 -08:00
Edward Lee
89460e2378 Bug 527766 - Sync history pages with a single visit
Backout bug 518972 (6954c93b8903) so now we push all data instead of pages with more than 1 visit.
2009-11-10 15:52:40 -08:00
Edward Lee
5013b211cb Bug 527775 - Allow customizable api version on the client
Add a new pref storageAPI (currently 0.5) that gets used for storage urls.

--HG--
extra : rebase_source : 74ca13de918d4211cbdcf708c30cc03d876fec7d
2009-11-10 15:24:31 -08:00
Mike Connor
a3dc67aa1b bug 518075 - fix copy/paste fail 2009-11-09 16:30:37 -05:00
Edward Lee
28e1e7e40d Bug 527379 - Passphrase gets synced back to previous value
Persist the new passphrase in the login manager to have it sync the modify (delete+add).

--HG--
extra : rebase_source : 940c8362aa3900615a06b73e34815acd6365e086
2009-11-09 12:56:14 -08:00
Mike Connor
36e194a542 bug 518075 - fix timer usage, reset engine score once added to globalScore 2009-11-09 14:33:53 -05:00
Mike Connor
14acb12656 bug 518075 - tweak original patch and item values 2009-11-09 12:57:58 -05:00
Edward Lee
8c078124a1 Bug 526661 - Use Firefox content to display the activity log
Just open the file as a tab to show the activity log. Remove related xul/js/strings. Saving can be done through normal Save Page As... No manual cleaning of the log, but the size is much smaller.
2009-11-04 17:01:49 -08:00
Edward Lee
419e62b8de Missing let for declaring meta. 2009-11-04 16:27:35 -08:00
Edward Lee
06bb9dbc7d Bug 519139 - Weave freezes the browser for 5-10 secs when starting sync
Correctly remove the separator getter just like for folders to prevent triggering the lazy loader on every sync.
2009-11-04 16:07:05 -08:00
Edward Lee
043bb186cb Bug 513438 - No easy way to enable / re-enable Weave
Assume Weave is always enabled (don't store it in a pref) and only disable if checks fail on startup.
2009-11-04 15:27:08 -08:00
Edward Lee
6c926b2c49 Avoid undefined property warnings by checking for null first instead of comparing. 2009-11-04 15:12:29 -08:00
Edward Lee
cdf02beb62 Remove unused openStatus util call for status.xul. 2009-11-03 14:39:35 -08:00
Mike Connor
18719870bc bug 524916 - remove /xmpp from Sync, since we're not using it 2009-11-02 22:38:50 -05:00
Mike Connor
bcb7b750cb bug 485108 - drop status dialog, show status including engines on statusbar, remove dead status bits 2009-10-28 03:42:35 -04:00
Mike Connor
51dd2f0b6c bug 520065 - partial sync fail should be an error, add better error string, and fix status object misuse so it actually works 2009-10-27 19:15:20 -04:00
Mike Connor
0254f70199 moar error checking, turn field validation back on in wizard, do better rewind/forward enabling
--HG--
extra : rebase_source : 473eccb2c879769b94011d6ae6b947a6e070fdaa
2009-10-23 03:05:41 -04:00
Mike Connor
258c4dcb9a merge backout 2009-10-23 01:11:07 -04:00
Mike Connor
95f627e9ca Backed out changeset 4e518b3ae5d2
overzealous pruning ftl ;)
2009-10-23 01:10:36 -04:00
Edward Lee
f8a9d55658 Bug 483089 - Weave Preferences button in Add-ons manager should be enabled
Show the new pref pane (bug 521357) by having the options.xul file for Fennec (bug 523384) close iteself and open the real prefs window.
2009-10-22 16:15:34 -07:00