Commit Graph

450 Commits

Author SHA1 Message Date
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
Edward Lee
eba12cbe8d Bug 518018 - Default to serverURL instead of userAPI on 404 cluster check
Rework server/user/misc prefs to allow relative paths and full urls for generating API paths. Cache string properties of generated URLs under the storageAPI instead of using dynamic getters.
2009-09-21 17:13:41 -07:00
Dan Mills
2cc002ba27 implement forgot password/passphrase dialogs 2009-09-20 19:26:01 -07:00
Dan Mills
5094a04f3d initial patch
--HG--
extra : rebase_source : 250c8f0d85483300147a6f0d691e0214db6d837b
2009-09-15 21:54:05 -04:00
Mike Connor
4faaba2018 bug 511549 - make detailedStatus much smarter about errors and backoff, r=edilee
--HG--
extra : rebase_source : 42e3eb9c89d2567d18c02e7583202e284dd69b0e
2009-09-15 21:38:52 -04:00
Edward Lee
8b8447ab6e Remove some unnecessary logs that follow right after the notify/event now that we only show verbose. Only log non-success response body for Trace. 2009-09-10 22:57:36 -07:00
Edward Lee
b0c3b9005e Bug 515676 - Allow giving objects to PUT/POST without Filters to avoid stringify([parse(stringify(stringify(obj)))])
Get rid of Filters and automatically JSON.stringify PUT/POST data that aren't strings, so plain Records can be passed in to PUT and POST. This leverages toJSON of Records to provide an object that can be serialized. Fix up client record serialize/deserialize to still escape/unescape non-ASCII.
2009-09-10 11:05:13 -07:00
Edward Lee
e8d9f12442 Bug 515678 - Provide a smart getter to get the object representation of a JSON Resource response
Always allow getting an object representation of potentially JSON response for any Resource instead of explicitly on filterDownload. Update existing Resource GETs that manually parse the response. This prevents the String response from accidentally toString()ing a filteredDownload that converted to a different type.
2009-09-10 11:04:36 -07:00
Edward Lee
c021c5dcf6 Remove the brief log now that we only show verbose. 2009-09-07 18:24:21 -07:00
Edward Lee
19443b737b Bug 514323 - Use info/collections to check if there's new data. r=thunder
Fetch info/collections before syncing engines and set the lastModified property on the engine so that they can check if they need to process incoming.
2009-09-03 21:30:40 -07:00
Edward Lee
ec0c49c88c Bug 513191 - cloud -> client sync wipes auth cache, including weave credentials. r=thunder
Bug 506790 - Utils.setPassword unnecessarily removes logins and add them when the realm/user/pass are the same
Bug 506792 - Utils.setPassword gets called multiple times for both password and passphrase on login
Bug 514499 - Passphrase not verified with auto-login
Don't aggressively persist the password with smart (dumb?) setters that clear out the temp password; and provide a separate function to persist the login. This effectively makes setting password/passphrase always temporary until persisted, which will check if the value is different from the one already stored on disk. A number of verify/cluster functions are privitized to not need to take user/pass/passph as arguments so that the default authenticator will work, and verifyPassphrase will use the stored passphrase to correctly handle auto-login.
2009-09-03 21:11:32 -07:00
Edward Lee
afeb89b845 Remove unimplemented engines so they do not initialize. 2009-09-03 19:57:02 -07:00
Edward Lee
e633a4dcea Remove mostly unused FaultTolerance service and fix up remaining references. 2009-08-31 17:17:20 -07:00
Dan Mills
db5d4e1bd6 remove 'GPrefs' from Svc, Preferences will do fine; don't make the username in the center status a link, since the whole area is a click target; open 'generic dialogs' for change password & passphrase 2009-08-26 21:20:08 -07:00
Edward Lee
f33e9b23f3 New User API returns server code 2 instead of http 417. 2009-08-26 17:59:50 -07:00
Edward Lee
943386f42d Server expects catcha-challenge not captcha_challenge for new users. 2009-08-26 16:45:24 -07:00
Dan Mills
e24dbcf68f Parse new 0.5 error codes. 2009-08-26 16:44:30 -07:00
Edward Lee
4175f5ee7e Resolve lastChannel removal and 0.5 api changes. r=thunder 2009-08-26 16:09:48 -07:00
Edward Lee
9fd47b7f98 Merge weave to weave-0.5-api w/ conflicts. 2009-08-26 15:42:05 -07:00
Edward Lee
009411f482 Bug 511746 - Resource.foo shouldn't throw except in exceptional cases. r=thunder
Get rid of lastChannel and return a String object from _request with additional properties of status, succeeded, headers -- even if the response was handled by cache. Update engines to check for non-success and throw the failure. Update tests to use these additional properties instead of lastChannel, etc.
2009-08-26 15:32:46 -07:00
Dan Mills
e4ea37a013 Adds another pref for the "misc" api, makes base/misc url prefs default to auth.smc/{user,misc}/, fixes about:weave captcha path. r=Mardak 2009-08-26 15:01:28 -07:00
Edward Lee
ca6fe1108c Backed out changeset 129ca9a54aed due to burning
test_auth_manager:      FAIL
test_resource:  FAIL
2009-08-26 01:50:36 -07:00
Anant Narayanan
371e639357 Change Resource.get() semantics and support X-Weave-Alert (bug #478330)
--HG--
extra : rebase_source : e0eb1e34f85ddd041005d780590640005dc0b434
2009-08-26 00:05:57 -07:00