Commit Graph

472 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
c79c303ba8 Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
c77f5b2807 Have wipeRemote wipe just the engines' data and make sure the clients process the command. 2009-12-10 18:39:51 -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
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
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
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
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
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
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
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
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
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
37a2e8a729 Reset the score when calculating the global score. 2009-11-11 15:19:00 -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
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
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
Edward Lee
61295bf349 Bug 522084 - Automatically sync much sooner if there's more data to fetch from the server
Have the syncInterval getter return with a lower interval for non-mobile clients while still enforcing backoff if it's bigger than the sync interval.
2009-10-13 11:56:46 -07:00
Edward Lee
6f198b2a1f Bug 482906 - Gracefully handle wiping weave passwords if syncing doesn't restore them
After potentially wiping out all local passwords, save the Weave passwords to disk.
2009-10-12 16:45:40 -07:00
Edward Lee
13cddbf9bc Bug 520215 - Only wipe if data is able to be restored from the server
For each engine, try decrypting a record from the server before wiping local data.
2009-10-12 16:22:54 -07:00
Edward Lee
a994e4258f Simplify logic for Engines.getAll/Enabled and use Enabled for main sync loop. 2009-10-08 13:51:22 -07:00
Edward Lee
92b88d22c8 Bug 519147 - "Sign In" is greyed out in Weave menu when Firefox starts, in Weave 0.7pre4
Switch back to STATUS_OK (from STATUS_DELAYED) when the delayed startup is actually called.
2009-10-07 10:47:55 -07:00
Edward Lee
4c119524e4 Move the status record into a separate Status object exported with the Weave object. 2009-10-07 10:47:43 -07:00
Edward Lee
4af9c4ceef Don't try logging out when already logged out -- about:weave calls logout which tries to _log, but Fennec weave hasn't loaded Weave yet. 2009-09-30 15:16:56 -07:00
Edward Lee
545f5e72b9 Bug 518226 - Service should bubble up partial sync information
Set a flag on the status object to indicate partial sync after syncing an engine. For now, just show some text under the sync arrows to let the user know nothing needs to be done.
2009-09-30 14:46:59 -07:00
Mike Connor
a783c62509 fix merge fail 2009-09-29 18:40:18 -07:00
Mike Connor
8a69ade4d1 bug 518273 - need to handle not having an active node assigned, r=edilee
--HG--
extra : rebase_source : f86c6cc164241cee263345de5e13dd5ae0a3758b
2009-09-29 18:33:41 -07:00
Edward Lee
52565baca2 Remove unused threshold code that will be replaced soon with bug 518075. 2009-09-29 13:02:08 -07:00
Edward Lee
f519abe53b Don't wrap changePassword with _catch and persist the password on success. 2009-09-28 16:28:38 -07:00
Edward Lee
14764a5484 Don't unnecessarily throw from verifyLogin and remove its _catch wrapper.
--HG--
extra : rebase_source : ca74b47b96f4d1fbc1b8454d5b505a57b558e729
2009-09-28 16:13:42 -07:00
Edward Lee
c3a8636447 Bug 519262 - Forgot password doesn't work -> throbber keeps spinning
Just get the pref without slashifying with getURLPref.
2009-09-28 13:34:56 -07:00
Edward Lee
622aae4ece Default to mobile sync interval (5 min) for account creation and upgrade. 2009-09-25 20:47:38 -07:00
Edward Lee
ff074548e7 Use the default or backoff intervals only after checking a previously scheduled sync and pick the bigger of the two. 2009-09-25 17:32:35 -07:00
Edward Lee
81fce3dc55 Run sync on idle on a separate event so that login can return and release the lock before trying to sync. 2009-09-25 17:28:48 -07:00
Edward Lee
af91626ec4 Persist sync intervals because we only update it when changing the number of clients. 2009-09-25 15:41:27 -07:00
Edward Lee
4abc9f56ba Bug 517597 - waste fewer resources while a user only has one client active
Adjust how often Weave syncs based on the number of clients and only sync tabs if there are multiple clients.
2009-09-25 15:05:09 -07:00
Edward Lee
87014d7af0 Bug 518864 - Persist "next sync time" across events that disable sync
Save a nextSync value in a pref and use it to trigger a sync-on-idle if the "next sync time" already passed when logging in. Make sure to default to backoff time first, then next sync, then use the default.
2009-09-25 11:46:29 -07:00
Edward Lee
e3741b6774 Bug 513944 - Weave should not load / do anything until it absolutely needs to
Weave already triggers on a late notification and puts itself on the event loop, so just additionally delay startup based on the number of open tabs (which will all be busy at startup).
2009-09-25 08:13:12 -07:00
Edward Lee
7518b09ad6 Add a simpler-to-use nsITimer wrapper, Utils.delay, that can use a named property of an object to additionally delay or clear the timer. Get rid of Utils.EventListener and simplify/fix up users. 2009-09-24 22:51:38 -07:00
Edward Lee
2ca32ed22d Correctly cancel any sync triggers after starting a sync with a shared function that removes timers and idle observers. 2009-09-24 19:04:06 -07:00
Edward Lee
2fbfee64a6 Bug 518077 - Add custom settings for "sign in" to set things like server url
Provide an initial implementation to read and set preferences: autoconnect, serverURL. For now show them in a "Custom settings" expando tab like the one for create account, but the styling isn't great.

--HG--
extra : rebase_source : 3fc1e8bad7786cf06e2da8c95e7bca5f50fb6ec3
2009-09-22 01:00:43 -07:00
Dan Mills
2c3554a154 Bug 518069: forgot password UI / bug 518067: directional sync dialog during setup 2009-09-21 23:52:00 -07:00
Edward Lee
6ffc23f7f0 Don't update the cluster on each login unless verify login failed or there was no cluster set. 2009-09-21 18:03:56 -07:00
Edward Lee
0e855e54d8 Bug 518022 - Logging in with invalid username results in "Couldn't sign in: Network error"
Report 404 info/collections responses as "login rejected" if we're on the right cluster.
2009-09-21 17:34:19 -07:00