Commit Graph

1495 Commits

Author SHA1 Message Date
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