Commit Graph

465 Commits

Author SHA1 Message Date
Edward Lee
e4635bd55a WeaveSvc_setCluster: async + async/yield -> sync. (Unused?) 2009-06-06 18:24:14 -05:00
Edward Lee
d868dc2305 WeaveSvc_verifyPassphrase: async + async/yield -> sync. Fix chrome to setTimeout(verifyPassphrase). 2009-06-06 18:24:10 -05:00
Edward Lee
16e50b2fe0 WeaveSvc_onStartup: async + async/yield -> sync. Convert chrome callers from using async callback to just run after. 2009-06-06 18:24:06 -05:00
Edward Lee
31c600584c WeaveSvc_sync: async + async/yield -> sync. Fix chrome callers to setTimeout(sync) to async run sync. 2009-06-06 18:23:58 -05:00
Edward Lee
6602515319 WeaveSvc__remoteSetup: async/yield -> sync. 2009-06-06 11:53:23 -07:00
Edward Lee
64e7facb4a WeaveSvc_login: async + async/yield -> sync. Fix up chrome code. 2009-06-06 11:52:54 -07:00
Edward Lee
2f189ad5a8 Add a Utils.lock as a sync. version of Wrap.localLock. 2009-06-06 11:52:49 -07:00
Edward Lee
042c177ad0 Identity_getPassword: async + async/yield -> sync. Make onGetPassword take one cb to pass back the password. 2009-06-05 22:33:08 -07:00
Edward Lee
5ccf27941d WeaveSvc__syncEngine: async/yield -> sync. 2009-06-05 22:21:34 -07:00
Edward Lee
4dd6ad0d2d WeaveSvc__freshStart: async/yield -> sync. 2009-06-05 22:21:29 -07:00
Edward Lee
62089a8ca1 WeaveSvc_wipeServer: async + async/yield -> sync. Fix up chrome uses of wipeServer, resetClient, wipeRemote, wipeClient. 2009-06-05 22:21:27 -07:00
Edward Lee
16a159e5d9 WeaveSvc_processCommands: async + async/yield -> sync. 2009-06-05 22:21:25 -07:00
Edward Lee
a6ac402f34 WeaveSvc_wipeRemote: async + async/yield -> sync. 2009-06-05 22:21:24 -07:00
Edward Lee
5a9e604186 WeaveSvc_resetClient: async + async/yield -> sync. 2009-06-05 22:21:22 -07:00
Edward Lee
dfcbc774c5 WeaveSvc_wipeClient: async + async/yield -> sync. 2009-06-05 22:21:20 -07:00
Edward Lee
6ba0fbf69d WeaveSvc_resetService: async + async/yield -> sync. 2009-06-05 22:21:18 -07:00
Edward Lee
40543e0998 WeaveSvc_verifyLogin: async + async/yield -> sync. 2009-06-05 22:21:16 -07:00
Edward Lee
5a0f364bb6 Add a Utils.catch as a sync. version of Wrap.catchAll. 2009-06-05 22:21:14 -07:00
Edward Lee
f9aeec8b2c Engine_wipeClient: async -> sync. Engine__wipeClient: async/yield -> sync. 2009-06-05 15:34:35 -07:00
Edward Lee
3d3f786723 Engine_resetClient: async -> sync. SyncEngine__resetClient: async/yield -> sync. 2009-06-05 15:34:34 -07:00
Edward Lee
81f7652b56 Engine_sync: async -> sync. SyncEngine__sync: async/yield -> sync. 2009-06-05 15:34:32 -07:00
Edward Lee
f5ee514ea5 WeaveSvc_findCluster: async + async/yield -> sync. 2009-06-04 23:24:15 -07:00
Edward Lee
faf50c585f merge weave 2009-06-04 23:08:56 -07:00
Edward Lee
14e0eda123 Remove trailing newline bug 480480 work-around: trim(). 2009-06-04 23:04:56 -07:00
Edward Lee
0c563da3c8 PubKeyManager_uploadKeypair: async + async/yield -> sync. 2009-06-04 17:09:32 -07:00
Edward Lee
df16a63edb PubKeyManager_getDefaultKey: async + async/yield -> sync. 2009-06-04 17:04:51 -07:00
Edward Lee
ce37486d9c RecordMgr_get: async + async/yield -> sync. 2009-06-04 16:50:57 -07:00
Edward Lee
aa8b725087 RecordMgr_import: async + async/yield -> sync. 2009-06-04 16:25:12 -07:00
Edward Lee
1134960b32 Fix Resource.* call sites used for wiping the server and initial sync (+ key gen upload) 2009-06-04 10:17:27 -07:00
Edward Lee
428d54a14a Change Resource.get() to be sync (no callback) and fix up call sites used for login + sync now. 2009-06-04 10:16:07 -07:00
Anant Narayanan
252a823626 Preference sync (bug #428370) 2009-05-24 02:11:05 +02:00
Dan Mills
6aa937b947 Bug 493442: use app IDs instead of names to determine what engines to load 2009-05-18 11:11:07 -07:00
Edward Lee
0a32933db7 Bug 493004 - Create stubs of unimplemented engines to list them as disabled (extension, microformat, plugin, theme)
Add the 4 engines with just the base code to set their name and register them for Firefox.
2009-05-14 11:50:59 -05:00
Edward Lee
93847aa32d Bug 493002 - List partially implemented engines (cookies, input history) as disabled
Import the outdated engines, but delete their pref so they show up as disabled. Clean up the old engines a little bit so they don't allocate unnecessarily and to not use syncCore.
2009-05-14 11:43:56 -05:00
Anant Narayanan
c07e95bbc7 Remove OAuth (we don't use it anymore) 2009-04-28 20:46:02 +02:00
Igor Velkov
8d61cb76a8 Bug 484982 - Weave should support SeaMonkey. r=thunder, r=Mardak
Add seamonkey bits for manifest/install. Start with Form, History, Password engines.. No places bookmarks and tabs seem to have issues applying(?)
2009-04-14 11:05:30 -05:00
Edward Lee
b7a138755c Bug 488142 - Make it easier to add simple deferred cleartext/payload values
Add a couple Utils helper to create a pair of simple [gs]etters that use a hash property instead. Apply this to various records: WBORecord, {Priv,Pub}Key, Crypto{Meta,Wrapper}, and every engine's type records. Migrate by making sure key data exists (name change).
2009-04-13 16:39:29 -05:00
Edward Lee
fba6986892 Bug 487523 - Scheduled sync fires while a sync is running
Just skip the scheduled sync if we're already syncing
2009-04-08 19:23:14 -05:00
Edward Lee
a7b212ab0b Bug 486810 - Engines (and their trackers) are created with every new window. r=thunder
Register the built-in engines on service start-up instead of from the overlay, and have Engines.register check if the engine has already been registered.
2009-04-08 14:39:14 -05:00
Edward Lee
75bacf714f Bug 487308 - Allow registering of an array of engines
Import engines to the Weave global object and use them to register engines, which checks if the arg is an array. To support handling of errors (unused), the engine is returned on register failure.
2009-04-07 16:45:41 -05:00
Edward Lee
6431d3cb64 Backed out changeset 430ce13b63f3 (bug 482878)
Bug 482670 restored un-wrapped payloads, so until a version bump, those using trunk will need to do a manual server wipe.
2009-04-03 13:49:22 -05:00
Edward Lee
4f6ebe6be5 Bug 481741 - Switch to JSON from nsIJSON 2009-03-31 14:09:38 -05:00
Dan Mills
112832c1bc shorten status messages 2009-03-27 20:57:38 -07:00
Dan Mills
b5a77fe555 fix missing yield in createAccount 2009-03-27 00:56:38 -07:00
Dan Mills
549745a59e style police; split findCluster into two, findCluster (no side-effects) and setCluster (saves it); fix verifyLogin to work with any login, not just the saved one; add a createAccount call which creates an account on the server 2009-03-27 00:46:10 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
73387c906a Bug 481319: Weave.Service can now be queried for top-level status (OK, failed, partial success), and also for an object that gives detailed status (what caused sync to abort, server status codes, status of each engine, etc.) 2009-03-24 19:23:53 -07:00
Edward Lee
75994bc68f Bug 482898 - Allow an optional array of engines for wipeRemote, wipeServer, resetClient, etc.. r=thunder 2009-03-20 00:13:16 -07:00
Edward Lee
bbb0fa332f More services cleanup; Expose a Utils.openWindow/openDialog 2009-03-19 14:00:57 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
cf045921fe Never wipe the server if key generation is disabled; in case of version mismatch, describe the error and abort. This fixes 482062. 2009-03-18 13:22:40 -07:00
Edward Lee
46d43f7ad3 Bug 483037 - Need to wrap sync callback for timer callback - scheduled syncs don't work 2009-03-12 15:41:46 -05:00
Edward Lee
6fa9711450 Start sync timer after manually logging in 2009-03-12 15:01:04 -05:00
Edward Lee
ce257df07f Fix whitespace in service.js 2009-03-12 10:34:12 -05:00
Edward Lee
bf5663b3cd Bug 482793 - Process commands sent by remote clients. r=thunder 2009-03-12 01:33:14 -05:00
Edward Lee
2b8d95f026 Bug 482792 - Provide a wipeClient, wipeRemote, resetService for weave service. r=thunder 2009-03-12 01:33:14 -05:00
Edward Lee
dfc2d1f68a Bug 481266 - Provide a way to perform actions on remote clients. r=thunder 2009-03-03 17:29:35 -06:00
Edward Lee
d62dd55e52 Bug 482878 - service (_remoteSetup) needs to migrate payload formats. r=thunder 2009-03-11 23:37:47 -05:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6c4a4743b0 Fixed tabs in services.js. 2009-03-11 18:29:18 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2ecc2b01e1 Fennec now updates status line to show what engine is syncing and what it's doing. This fixes bug 481323. 2009-03-11 18:27:44 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
3615b62fdd Was failing on Fennec because private browsing doesn't exist there -- now more gracefully handles missing components. 2009-03-10 17:12:59 -07:00
Edward Lee
5e62ecc193 Pushed too early :( really match up signatures 2009-03-10 14:13:18 -05:00
Edward Lee
65ef5fc7c7 Make method signatures for sync and _sync match up. (followup for bug 482003) 2009-03-10 14:12:05 -05:00
Edward Lee
6bb65722d3 Bug 481345 - Weave should be disabled while offline or private browsing mode is active. r=thunder 2009-03-10 06:30:36 -05:00
Edward Lee
a45ed6623b Bug 482178 - Clean up services -> lazy services. r=thunder 2009-03-10 06:30:30 -05:00
Edward Lee
57435a08e9 Bug 482007 - Refactor "should sync" and schedule sync logic. r=thunder 2009-03-10 06:15:52 -05:00
Edward Lee
2f5bacad1e Bug 482003 - Refactor _sync and _syncAsNeeded. r=thunder 2009-03-10 06:07:24 -05:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
02d92a86ca Fennec now launches first run page, and updates extensions.weave.lastversion, so that it's no longer resetting syncId and therefore resetting the server every single time it tries to sync. Also set the download in resource.js to use LOAD_BYPASS_CACHE. Together these changes seem to fix bug 480270. 2009-03-07 00:55:47 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1bff582b35 Added a mostRecentError field to Weave.Service, which gets set to a string on any error that the user might need to know about; this is queried by the Fennec UI code to disply better error messages. 2009-03-04 15:49:58 -08:00
Edward Lee
a1d5234eea Bug 480490 - Expose a wipeServer API for weave service. r=thunder 2009-02-26 22:14:32 -08:00
Edward Lee
edda1db597 Bug 480457 - Expose a resetClient API for weave service and engines. r=thunder 2009-02-26 22:36:14 -08:00
Dan Mills
2b3da2beec don't fail when client metadata record doesn't exist, or has an empty payload. Reset last sync after a werver wipe on all clients 2009-03-03 11:57:30 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5cb6c7a434 Added more logging to service.js to help me figure out the caching problem. 2009-03-02 23:55:05 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
bb6846ecc2 Added favicons to Firefox tabs-from-other-computers menu. 2009-03-02 14:15:46 -08:00
Anant Narayanan
ecd8d4576c Print meta information only if present 2009-03-02 19:25:50 +01:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ff833098f5 Resource.js now always validates the cache (VALIDATE_ALWAYS) when downloading stuff. This seems to fix bug 480270 on Firefox but not on Fennec. 2009-02-27 18:28:26 -08:00
Edward Lee
9911ce923a Bug 480480 - Finding cluster with api/register/chknode has trailing newline 2009-02-26 20:52:56 -08:00
Edward Lee
fe2b72924b Bug 480381 - "lastsync" pref is sometimes a number and sometimes a string 2009-02-26 12:34:54 -08:00
Edward Lee
b8a8dd5c93 Bug 480271 - On first sign in, username is initialized with "undefined". r=thunder 2009-02-26 00:47:30 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
09db19632c Fixed a typo in service.js ('paylaod' for 'payload') 2009-02-25 15:06:28 -08:00
Dan Mills
53f8ce9bb3 better logging about why the server is wiped when it does 2009-02-23 16:56:23 -08:00
Dan Mills
1ea15a3193 fix bad logic when checking metadata record 2009-02-23 16:27:41 -08:00
Dan Mills
aad93f5efc use Gecko's version comparison API, don't clobber the server if the remote version > local client version 2009-02-23 12:36:55 -08:00
Dan Mills
db3eba2c39 fix 'last sync' date in weave menu 2009-02-22 00:21:15 -08:00
Dan Mills
8c671b69c9 Wrap.notify now takes the topic prefix as an argument, instead of requiring this._osPrefix to be set; use Observers.js in several places (sync.js, status.js, etc); some event topics have changed, beware; fix up status window, now prints some useful status as sync progresses 2009-02-22 00:04:58 -08:00
Dan Mills
f719914f62 Bug 479232: don't wipe tabs engine when it hasn't loaded 2009-02-19 16:41:53 -08:00
Dan Mills
99f6e5c581 make a more concerted attempt at doing a fresh start on various server conditions, such as missing keys, etc. clear local caches (makes it so Fx doesn't need to be restarted after a server wipe). set the lastsync pref here instead of having the window do it 2009-02-19 04:09:55 -08:00
Dan Mills
d5fc9b632c reset engine lastSync prefs when wiping the server 2009-02-17 13:21:14 -08:00
Dan Mills
9f78bbf372 add version checking at startup using a global metadata record; wipe server on incompatible versions 2009-02-11 23:54:20 -08:00
Dan Mills
7265e3b754 use catchAll wrapper, remove wipeClient from the service 2009-02-11 22:08:56 -08:00
Dan Mills
8a6053f8d5 ...chknode is returning a hostname again 2009-02-11 19:21:06 -08:00
Dan Mills
db63c19c3e ldap chknode returns full url now 2009-02-11 19:16:15 -08:00
Dan Mills
57c5368d7a remove sm-weave-proxy01 hack 2009-02-11 13:47:51 -08:00
Dan Mills
26f33178e3 ignore sync if weave is disabled 2009-02-11 13:38:50 -08:00
Dan Mills
12b9ddbbd1 add missing setter for the weave enabled pref 2009-02-11 11:24:16 -08:00
Dan Mills
d8982c5477 oops fix syntax error 2009-02-10 17:57:29 -08:00
Dan Mills
a53adc5e28 catch exceptions when trying to find out user's cluster 2009-02-10 17:50:40 -08:00
Dan Mills
a6a5e2c58e automatically try to detect if the server supports the multi-cluster call (hack hack hack) 2009-02-10 15:56:37 -08:00
Dan Mills
a2ec312908 allow multi-cluster support to be turned off 2009-02-10 13:29:04 -08:00
Dan Mills
8dca51ec38 remove unused code; add multi-cluster support; use Svc.Prefs branch for prefs; move some code from the window overlay into onStartup (print weave version and user agent string); automatically disable weave if crypto module is not working 2009-02-10 00:56:42 -08:00
Dan Mills
d1d31b3bc4 disable scheduled sync when login fails 2009-02-03 15:50:41 -08:00
Dan Mills
a3802a68ed server returns a json object for user root now, modify checkLogin() accordingly 2009-02-02 11:44:07 -08:00
Dan Mills
a3d9640e3c Make records not extend Resource, instead they have a serialize() method that can be used to create a Resource for uploading if necessary.
Use global service instances under Svc.*
Consolidate various record managers (caches/convenience factories) to extend the same base object
Log exceptions caught by notify wrapper
2009-01-27 13:35:10 -08:00
Dan Mills
03ff21c860 Bug 471076: make notify wrapper catch exceptions; don't use catchAll wrapper in service, and check return value of login/verifyLogin 2009-01-24 16:49:23 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c681501e5c Added callback to Weave.Service.onStartup, which the Fennec UI uses to notify user that Weave has connected, that it ran into an error, or that it's awaiting configuration. Started moving fennec preferences from HTML to XUL. 2009-01-14 11:23:08 -08:00
Dan Mills
3c8aa12c49 syncCores are gone 2009-01-13 16:11:31 -08:00
Dan Mills
d72b5b3b4d make sure we return false if veryfyLogin fails 2009-01-08 16:55:30 -08:00
Dan Mills
ff240dd3ce add clients sync (list of clients with names and types); make it simpler to create Engine subclasses; remove the 2nd 'authenticator' parameter for Resources; resetServer is now wipeServer; consider 0 an invalid place ID (fixes bug when calculating item depths); add a Svc global exported from utils.js where commonly used services can live 2009-01-06 13:54:18 -08:00
Dan Mills
b707751a28 partially re-enable client data (guid,name,type) 2009-01-03 01:40:22 -08:00
Dan Mills
ff39e896cf really actually fix login errors this time 2008-12-27 12:15:45 -08:00
Dan Mills
9ac0dce95a Bug 471076: explicitly check login succeeded 2008-12-26 16:08:55 -08:00
Dan Mills
aff056726e change serverURL to use 0.3 url schema 2008-12-23 13:51:30 -08:00
jonathandicarlo@user-64-9-236-168.googlewifi.com
8f14709c66 Removed extra debug code from service.js 2008-12-21 14:59:33 -08:00
jonathandicarlo@user-64-9-236-168.googlewifi.com
dc02f68f49 Weave on Fennec will no longer attempt to generate SSH keys -- for this release, you need to have a Weave account already and then connect Fennec to it. 2008-12-21 14:41:17 -08:00
jonathandicarlo@localhost
4e59b0d4d7 Wrote some scaffolding for the Fennec-weave UI -- doesn't do anything yet. 2008-12-21 14:08:33 -08:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
54d7de2ca4 Major rehaul/simplification of the Fennec UI for connecting to your Weave account 2008-12-19 15:48:40 -08:00
Dan Mills
3ef1c0d9b1 enable history sync (not working yet) 2008-12-09 12:26:14 -08:00
Dan Mills
c1a443df70 use callbacks instead of snapshot diffs to figure out what changes to send to the server 2008-12-05 00:39:54 -08:00
Dan Mills
c327476fcc remove unused 'cleartext' payload property; add fixme comment to set a pref listener 2008-12-01 18:58:28 -08:00
Dan Mills
5e2d2cec11 reset default key URLs whenever username is set via the service 2008-12-01 18:43:43 -08:00
Dan Mills
73077fa65b fix 'logging in' debug string so it prints the actual username being used 2008-12-01 14:17:44 -08:00
Dan Mills
74e4f48a70 sync engines unconditionally on timer (for now, heuristic sync is broken somehow) 2008-11-27 00:23:25 +09:00
Dan Mills
0ee5550418 attempt at fixing login/server setup, needs more work still 2008-11-20 09:18:35 +09:00
Dan Mills
b12787f2f2 crypto changes: private keys get their own iv and salt, crypto meta records get a separate iv and no salt. various fixes in crypto code and other wbo related objects. fix crypto tests to match. 2008-11-08 02:00:33 -08:00
Dan Mills
43d4c7b865 say sync complete when it is! 2008-11-06 19:19:32 -08:00
Dan Mills
f617e369b1 lots o' fixes 2008-11-06 17:37:17 -08:00
Dan Mills
11eb07f4eb remove lots of code that will not be needed with new server 2008-11-03 14:59:45 -08:00
Anant Narayanan
c200956d6a Syncing for Awesome bar (bug 437133, r=thunder) 2008-08-07 20:00:35 -07:00
Anant Narayanan
f21fbf8051 Client-side OAuth support (bug 444528, r=thunder) 2008-08-04 17:34:21 -07:00
Dan Mills
a0b0f5f888 sync client data when client prefs change 2008-07-31 01:02:41 -07:00
Dan Mills
0102f2cd60 more tab sync fixes, only disposing is left to fix; also allow the notify wrapper to pass along an optional data payload 2008-07-30 21:58:13 -07:00
Dan Mills
2dccefbe5d some more ClientData fixes; *do* wipe the server when there is no version file; upload the version file when needed; refresh ClientData on login 2008-07-29 18:34:10 -07:00
Dan Mills
26596e7d96 ClientData fixes; export to chrome as well 2008-07-29 18:15:13 -07:00
Dan Mills
a81ac5e9da Remote.put doesn't require the data arg anymore 2008-07-29 17:35:10 -07:00
Dan Mills
a4fb63a8a0 print exceptions that come from engines 2008-07-25 16:54:37 -07:00
Dan Mosedale
533147ac4b Minor refactoring to allow for multiple application embeddings of Weave.
Also adds a Thunderbird embedding of weave and a fix to set the
username/password during verifyPassphrase (bug 446444), r=thunder@mozilla.com.
2008-07-21 18:12:27 -07:00
Dan Mills
610f300600 during version check don't attempt to wipe the server when the version file isn't found (that was a workaround for old clients, before the version file existed) 2008-07-16 19:34:35 -07:00
Dan Mills
cf199a8cbf fix sanity checks in getKeypair, cause key 404s to be interpreted as a success condition in verifyPassphrase, re-fetch keys after generating them in initialize 2008-07-12 20:58:19 -07:00
Dan Mills
b3f94ea68a fix verifyPassphrase() 2008-07-12 20:31:27 -07:00
Dan Mills
d734b12ae4 add last exception to fault tolerance module 2008-07-11 18:55:42 -07:00
Dan Mills
ffdc89548f login code refactoring 2008-07-11 17:40:52 -07:00
Dan Mills
f6d457946c beef up fault tolerance module and hook it up to the service 2008-07-11 14:47:15 -07:00
Dan Mills
94709c6381 move formatAsyncFrame to utils, don't print 'regular' stack trace when we have an async exception (it's not useful) 2008-07-11 13:40:06 -07:00
Chris Beard
0d444333bb * sync on quit is now also skipped when there is a forced restart of the browser (e.g. updates, extension installs, etc.)
* formatting tweaks and cleanup for modal sync UI
2008-07-10 17:03:56 -07:00
Chris Beard
e9ac166a41 * major revision to the login dialog to be more robust, adding error handling, styling and a help link
* some minor hacking of the login progress to improve performance
* expanded the application exit sync dialog to be a general modal sync dialog that will display whenever appropriate (e.g. during initial setup, on manual "sync now" requests, and on application exit)
* added a progress meter and status messages to the modal sync dialog to provide users with a better understanding of what's going on, and to assist in debugging
* added ability to cancel a modal sync request, including on application exit. when cancel is clicked on by the user, it will attempt to cancel the sync at the next opportunity (i.e. before the next sync engine is processed)
2008-07-09 17:17:24 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
3e2ccbce0c Removed a special menu item that I had installed in the main Weave menu just for debugging purposes. 2008-07-08 22:40:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1ebd8b0a44 Merged 2008-07-08 22:39:12 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
a0611ee8e1 I think I have fixed updateIncomingShare now. So everything should work, if I share with a user not myself. 2008-07-08 22:39:05 -07:00
Dan Mills
e7a43d3f19 sync every 5 minutes (up from 1); start the score threshold at 75 (down from 100); decrement threshold by 25 each iteration (up from 5). these changes guarantee even small changes will sync in no more than 15 minutes (down from 20) 2008-07-08 21:24:59 -07:00
Dan Mills
163332a45b remove 'waitOnQuit.enabled' pref, always wait for a running sync before quitting 2008-07-08 19:35:20 -07:00
Pazu
318f20223c Sync on quit improvements.
A new preference called "waitOnQuit.enabled" was created. This preference controls whether Weave will perform any actions on quit. If false, Weave won't perform any actions on quit, nor wait for any running actions. If true, Weave will wait for any running sync to finish.

The old "syncOnQuit.enabled" preference now controls if Weave will actually perform a full sync on quit or not. If false, no sync is started, but we still wait for an active sync to finish, if waitOnQuit.enable is true.

Both options default to true.
2008-07-08 15:31:47 -03:00
Dan Mills
22d3e6a2d2 Move KeyPair object (which caches keys) to a property of the service. Clear it on logout 2008-07-08 18:37:14 -07:00
Pazu
e4dc334725 Clear KeyPair cache on server wipe, and make new key generation work again. 2008-07-08 17:06:21 -03:00
Pazu
795762882d Performance improvements: keypair is now fetched only once, and cached in memory. 2008-07-08 15:33:17 -03:00
Dan Mills
5082e5e422 keep track of errors during sync and throw after trying all engines 2008-07-08 17:44:00 -07:00
Dan Mills
54a2a8a785 Bug 443385: unconditionally remove saved local token, regardless of whether the UNLOCK command succeeded; also cleans up some variable naming re: local locks in dav.js; cosmetic changes in wrap.js 2008-07-07 22:30:32 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
10d9360015 Merged 2008-07-01 10:18:43 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
aa859a7626 Made _stopSharing and _stopOutgoingShare more fault-tolerant (they will no longer die if the expected annotation is missing. 2008-07-01 09:58:00 -07:00
Dan Mills
44c908db91 save username/pass in verifyLogin, at least for now 2008-06-30 23:41:47 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5d960d2e8f Combined shareData and stopSharingData into one function to reuse code; made it so that if it gets called when Weave.DAV is already locked, instead of failing it sets up an observer that will trigger the share to happen as soon as the sync-succeeded or sync-failed message is received. 2008-06-30 22:30:04 -07:00
Atul Varma
07f3aacf01 Added documentation for Service._getKeypair(). 2008-06-30 18:09:30 -07:00
Atul Varma
aa2cab9380 The auto-login at startup no longer unconditionally syncs; if the login fails, the sync is now aborted. 2008-06-30 17:55:48 -07:00
Atul Varma
7512505bb7 Added a Service.verifyPassphrase() method. Also, Service.login() now checks to ensure that the user's passphrase is valid, and if it's not, it throws an exception. 2008-06-30 16:50:19 -07:00
Atul Varma
4c44bcd581 Fixed a potential bug in Service.login() whereby a user's directory wouldn't be created if it didn't exist (though it would in Service.verifyLogin(), which is only called from the setup wizard). 2008-06-30 15:54:15 -07:00
Dan Mills
32d1262667 style fixes, js warning fixes 2008-06-30 14:00:06 -07:00
Dan Mills
e03543007a make resetguids async 2008-06-29 07:00:53 -07:00
Dan Mills
6f246308bc don't even try to sync when the local lock is taken 2008-06-26 16:37:38 -07:00
Dan Mills
703829a510 fix comment in verifyLogin 2008-06-26 14:30:38 -07:00
Dan Mills
5c7f8c6a40 check login status code in service's verifyLogin; attempt to create user directory when it's a 404 2008-06-26 12:27:54 -07:00
Myk Melez
cab1d95570 bug 436636: a system for showing various kinds of notifications in one consolidated location 2008-06-25 13:51:39 -07:00
Atul Varma
92f85d952e Another automated merge. I'm kind of confused at this point, so I hope I'm not breaking anything by mis-merging. 2008-06-25 04:45:22 -07:00
Atul Varma
37225f431c Changed AsyncException so that it dynamically subclasses the exception it's wrapping, and adds an 'asyncStack' property to allow access to the asynchronous call stack. This, along with my previous few commits, makes the processing of stack traces in our code much more streamlined, and also allows our debugging output to be more informative, as stack information is now logged from the point at which an exception was thrown, rather than the point at which it was caught.
Also renamed some things in async.js to be more descriptive and easier-to-understand, albeit a bit more verbose.
2008-06-25 04:43:07 -07:00
Justin Dolske
b015539e7a Split account verification out from login(), make wizard work for using an existing account, related code cleanup/simplification 2008-06-25 00:22:53 -07:00
Atul Varma
7b4737aed7 Fixed something that I should've changed in my last commit; also removed a call to Utils.stackTrace() that shouldn't have been made. 2008-06-24 19:58:50 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2158cdf9c4 Merged 2008-06-24 13:41:25 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c4fa84f683 Merged 2008-06-24 13:41:12 -07:00
chris@h-194.office.mozilla.org
32d06ac143 added embedded verification method to login (this wants to be it's own object method, but should work well enough for now.)
some formatted cleanup for wizard.js
2008-06-24 12:42:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
286e670fb2 Finished the bridge between UI code and bookmark engine so that stopSharing gets called when you pick the menu itme. 2008-06-24 12:22:32 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ed99f7cb53 Make the stop-sharing-data command work 2008-06-23 18:23:08 -07:00
Justin Dolske
6ed3755104 Bug 433949 - Use WeaveCrypto component (NSS) instead of OpenSSL 2008-06-23 16:23:57 -07:00
Myk Melez
9668227aad wrap notify around lock instead of the other way around so that notify includes locking failure/success in its notifications 2008-06-23 16:22:05 -07:00
Myk Melez
6cdf7d9c0d bug 435341: sync automatically when Firefox quits 2008-06-23 16:10:31 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
68669b6a0f Merged changes 2008-06-18 12:29:39 -07:00
Atul Varma
90d243db16 Refactored test_service and module code so that the weave service constructor is called, and auth is done more accurately. 2008-06-17 19:54:09 -07:00
Atul Varma
f9463209a2 Added a fixme/todo in the code. 2008-06-17 10:23:35 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6ce93ffd1d Merged 2008-06-16 11:24:41 -07:00
Dan Mills
f74b9f910f catch 404s from initSession and do an initial upload; fix some bugs (missing yields, references to Engine properties) in RemoteStore.initialize 2008-06-16 00:21:44 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
9805cdce23 Merged 2008-06-13 16:22:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
835100b96d Fixed some minor bugs -- the name of the incoming shared folder is parsed correctly, and xmppClient now catches bounce errors that were previously parsed as messages. 2008-06-13 16:20:43 -07:00
Myk Melez
b12f3d03db use nsIXMLHttpRequest::mozBackgroundRequest instead of DummyAuthProvider to suppress authentication dialogs and ensure XMLHttpRequests succeed even when the window that originated the request goes away 2008-06-13 13:08:36 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5c8481de3d Merged 2008-06-12 17:35:57 -07:00
Myk Melez
b4967c8831 work around XmlHttpRequest bug 317600 by pausing for a 0ms timeout before trying to log in 2008-06-12 16:23:59 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b462aad4a5 Merged changes. 2008-06-12 14:30:46 -07:00
Myk Melez
18d8e8fcd7 bug 410550: stop running scheduled sync when the user is not logged into weave 2008-06-12 12:36:58 -07:00
Myk Melez
f47209b9d2 only retrieve score once per engine when doing a scheduled sync, since retrieving the score can be a non-negligible cost for trackers that calculate the score on-demand (like the tab tracker) 2008-06-11 20:07:35 -07:00
Maria Emerson
7da4259fee bug 438033: implement a better first-run wizard process; r=myk 2008-06-11 17:56:02 -07:00
Myk Melez
8182b10abf resetting the score is not an asynchronous operation, so Service::_syncEngine shouldn't yield after calling it 2008-06-11 15:23:54 -07:00
Myk Melez
633afe0864 clarify wording in scheduled sync threshold debug statements 2008-06-11 14:16:03 -07:00
Myk Melez
2b2192aca5 once sync thresholds reach 1 (the lowest possible value), leave them there until something changes and we sync 2008-06-11 13:50:47 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5459e1733a Resolved merging conflicts to service.js. 2008-06-11 11:54:44 -07:00
Myk Melez
932871d1bd merge 2008-06-11 10:41:57 -07:00
Myk Melez
482d745360 bug 434816: use a decreasing threshold algorithm for the periodic scheduled sync to make sure we eventually sync even small changes to data; r=thunder 2008-06-11 10:38:25 -07:00
Dan Mills
5ca3a1eb7f merge upstream changes 2008-06-11 23:31:28 +09:00
Dan Mills
de1d1acb26 Various changes:
Engine/RemoteStore:
* Move code to make the engine remote directory into RemoteStore.
* Fix initSession call in Engine to properly use callback / call yield.
* Do not check '_getServerData' return status in _sync, we will use exceptions from RemoteStore instead.
* Move code to push a new delta into RemoteStore (appendDelta()).  Currently comments out code that forces a re-upload in cases where the server (engine) format version was different.  We may add this back later into RemoteStore (?).
* Note that this patch also removes the 'this._encryptionChanged' conditional, which I believe is currently useless (we never set it).
Service:
* When wiping the server (due to a server version mismatch), skip .htaccess files, since they are usually not user-modifiable.
2008-06-11 11:12:04 +09:00
Anant Narayanan
9cb5d2c8cc Make sync service check score before syncing: bug #434816 (r=thunder) 2008-06-10 13:45:37 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b22dd7428c Fixed a couple of minor bugs that were preventing bookmark share from starting (like, i was skipping enabled engines instead of disabled engines... duhh) 2008-06-09 18:44:13 -07:00
jonathandicarlo@localhost
98d1bf05f4 Made BookmarkEngine.sync() responsible for calling BookmarkEngine.syncMounts (to get the incoming shared bookmark folder contents), eliminating the FIXME that previously had this being called from special-case code in WeaveSvc.sync(). 2008-06-06 19:22:23 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
473352178e Resolved conflicts with Chris's changes (to use the username, unhashed, as the name of the server-side sharing directory) 2008-06-06 17:43:15 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
3db8dcb84c Moved _createShare and _share() from engines.js to BookmarkEngine class in engines/bookmarks.js. The identity of the folder to be shared is now passed from the share dialog box (share.xul) into BookmarkEngine._share(). 2008-06-06 17:33:44 -07:00
chris@h-194.office.mozilla.org
d7c750f0f9 - this check in will break everyone temporarily, as it involves the changes necessary to shift us from sha1(email) to usernames, and to enable sharing on the server.
- we are also changing the default preferences on the trunk to point to the new staging server at https://sm-labs01.mozilla.org:81 that has been modified to support usernames
- everyone will need to create a new account and this will be streamlined within the startup function, which will now kick off on first run (we'll check in the updated setup wizard shortly)
- this checkin also cleans up a number of strings
2008-06-06 14:18:50 -07:00
Dan Mills
b32b7d3549 merge upstream changes 2008-06-05 23:11:20 +09:00
Atul Varma
b74958a214 Moved all tab-syncing code to modules/engines/tabsjs. 2008-06-03 14:45:53 -07:00
Atul Varma
daf3be7564 Moved all form-syncing code into modules/engines/forms.js. 2008-06-03 14:20:51 -07:00
Atul Varma
1e0a1d1e06 Moved all password-syncing code into modules/engines/passwords.js. 2008-06-03 14:08:53 -07:00
Atul Varma
e2ce660c53 Moved all history-related functionality into modules/engines/history.js. 2008-06-03 13:56:16 -07:00
Atul Varma
f365f924cf Re-removed cookie-related changes that were accidentally re-added by c1a58b24679c and/or 5a49daf87c94.
Also moved all bookmark syncing logic into modules/engines/bookmarks.js.
2008-06-03 12:38:48 -07:00
Myk Melez
690e2b800c merge 2008-06-03 11:43:07 -07:00
Myk Melez
07ba8ea83e bug 434817: sync tabs 2008-06-03 11:32:59 -07:00
Atul Varma
ada0204cac Moved all code related to the syncing of cookies--e.g. CookieStore, CookieTracker, CookieEngine, CookieSyncCore--into their own file at modules/engines/cookies.js. I'll be doing the same to the other engines shortly.
This helps with code organization--all the logic for dealing with a particular data type is now in one place--and should also make it easier to write unit/regression tests.
2008-06-03 11:11:44 -07:00
Dan Mills
d526a56d57 log stack traces from sync exceptions 2008-06-02 13:02:04 +09:00
Dan Mills
0640f244d6 format exception correctly when an engine throws during sync 2008-05-30 17:40:08 -07:00
Atul Varma
243f1bce21 Refactored logging system so that clients don't need to call factory functions to create specific instances of formatters and appenders. 2008-05-29 18:15:50 -07:00
Dan Mills
fd0eac8eb3 continue sync of other engines even after one of them throws an exception; use constructor name instead of instanceof to check for array object in modules 2008-05-23 23:58:53 -07:00
Atul Varma
04c6dda2c2 Fixed bug 427113: https://bugzilla.mozilla.org/show_bug.cgi?id=427113
I should note that I think that there's a more idiomatic way of doing what I did, but I don't yet fully understand how Weave does things asynchronously.  As such, this commit can probably be refactored to be more in the style of the surrounding code.
2008-05-23 12:22:08 -07:00
Atul Varma
0b8c18a3c7 Fixed bug 435103 (https://bugzilla.mozilla.org/show_bug.cgi?id=435103) 2008-05-23 12:08:03 -07:00
Anant Narayanan
36482f8bef Sync form data: bug #434818, r=thunder 2008-05-22 15:36:44 -07:00
Justin Dolske
8df51016ac Bug 433762 – Sync stored passwords. r=thunder 2008-05-21 18:09:19 -07:00
Anant Narayanan
d0ee5b17d4 Allow login & sync when encryption is off 2008-05-21 16:28:23 -07:00
Anant Narayanan
ba0fa55299 Typo in log message 2008-05-21 11:16:39 -07:00
Dan Mills
2c39623eab DAV: separate the root url of the DAV repository from the default prefix for all operations (i.e., the user's subdirectory) 2008-05-15 18:08:13 -07:00
Dan Mills
63af6c5dbd service: remove accidental 'resetServer' call in sync (\!); dav: lock a file called 'lock', instead of the entire collection (workaround for bug 421610) 2008-04-16 14:46:57 -07:00
Dan Mills
6670eb2948 engines now get the pbe identity directly from the identity manager; engines now know their 'enabled' status (pref); main service syncs *all* registered (enabled) engines 2008-04-15 17:21:34 -07:00
Dan Mills
5a2d0451db add engine registration service; use global id service in service.js 2008-04-14 18:53:35 -07:00
Dan Mills
83fd7d6261 Various improvements:
* async generators: much better stack traces
* dav: use global identity system rather than login/logout to manage
  usernames and passwords.
* dav: there is a checkLogin() instead of login() which can be used to
  verify auth at any time.
* dav: make it so that we can (only internally atm) hold multiple
  locks for different URLs.
* identity: add an identity manager singleton service to keep
  identities globally, referenced by a name, with aliasing support (so
  e.g., dav can ask for the 'dav' identity, while something else can
  alias 'dav' to another identity).
* service: keep track of logged in status here, rather than in the dav
  service.  Use the global id manager.
2008-04-10 21:38:15 -07:00
Dan Mills
a4b0ed4a6e make login more robust, specially work around first-login oddities with services.m.c 2008-04-01 23:43:14 -07:00
jono@jono-gibbon-laptop
b405d397ce Fixed a couple of missing symbol exports that were stopping CookieEngine from being able to be instantiated. 2008-04-01 17:32:14 -07:00
jono@jono-gibbon-laptop
640267d614 Merged changes and resolved conflicts between my cookie stuff and r282. 2008-04-01 14:46:29 -07:00
Dan Mills
a5bb6bf61f [mostly] beat login dialog into submission; use DAV singleton instead of making a new DAVCollection in service.js; split up checks from login into their own functions, call them on sync(); check we are logged in before syncing 2008-03-31 07:20:09 -07:00
Dan Mills
acdfa5a921 use the wrapper notifier for login(), change observers to the slightly different observer topics; allow server url to not have a trailing slash (add one automatically); dial down dav.js verbosity; add serverWipe service method; change 'reset server data' button in prefs pane to do serverWipe instead of resetServer; allow for wrappers to have extra args both saved in the closure (at wrap creation time) as well as passed in later (via .async()) 2008-03-30 08:40:23 -07:00
Dan Mills
78041c490b fix 'clear logs' on windows 2008-03-28 19:36:11 -07:00
Dan Mills
eaca70f4d9 add status notification to sharing dialog; fix async generators in the case where an async method is missing a yield (better error, continue execution in parent); add guts of demo sharing code to engine & store (for bookmarks, with some spillage) 2008-03-28 03:25:51 -07:00
Dan Mills
62e963c8b9 status label now has service status instead of username; service [un]lock observer notifications are gone; don't error when async methods don't call done() - consider them methods with no return value; don't require passing null into login() to cause the identity to look up the password in the pw mgr; make some wrapper 'method generators' to make lock handling and observer notification simpler 2008-03-27 19:12:53 -07:00
Dan Mills
24ba577b6f improve async generator logging; don't call done() on StopIteration when we already have a timer set (it means the generator just 'bottomed out' after calling done()); make XHRs be synchronous (blocking) - temporarily; fix up sharing code (adding to the keyring) 2008-03-26 00:59:34 -07:00
Dan Mills
7ec09f1317 add sharing ui+backend code (not working yet); make engines less chatty when applying commands 2008-03-25 23:01:34 -07:00
Dan Mills
0a4be048f7 make service.js the main entry point from chrome/content; make the service be lazy-loaded; make crypto be lazy-loaded 2008-03-25 15:14:00 -07:00
Dan Mills
233a0d648d fix resetClient's locking. change bookmarks wrap format to have hardcoded guids for the 3 roots (menu, toolbar, unfiled) rather than random ones. 2008-03-21 15:56:41 -07:00
Dan Mills
2739b301fc split up/simplify login functions; add a global (server-wide) storage version; wipe server for storage version upgrades 2008-03-19 18:42:12 -07:00
Dan Mills
16920cd2ae Various improvements:
* Logging improvements / default log levels tweaked.  Less chatty now.
  Ability to tweak log levels of individual loggers via prefs.
* Various crypto module fixes, specially for RSA.
* 'service' lock removed, reuses server lock now.  dav module supports
  temporarily blocking locks to simulate the 'service' lock (login()
  needs this, since dav is not configured at that time).
* PKI support: data encryption uses randomly-generated symmetric keys,
  which are then encrypted with RSA public keys and stored on the
  server.
2008-03-19 15:17:04 -07:00
Dan Mills
732f6b234c workaround for services.m.c 500 error on some GET requests 2008-03-12 23:06:28 -07:00
jono@jono-gibbon-laptop
a2c4928bc5 My changes to weave to enable cookie synchronization. So far untested and still missing a thing or two. 2008-03-11 12:08:38 -05:00
Dan Mills
48733f699a add a dav method for getting a list of server files/directories; delete all server data when private key isn't found (this will cause everyone's server data to get wiped, since no one has a key yet); fix a bug in checkStatus with specific status codes (as opposed to ranges) 2008-03-07 04:20:55 -08:00
Dan Mills
941dd24c3b Asynchronous generator helpers rework + PKI work
* Async helpers are in a module of their own now
* Async routines have simpler semantics now.  onComplete handlers are taken care of by the helpers.  Exceptions are bubbled up across nested asynchronous generators
* Stack traces are automatically logged for unhandled exceptions
* Async generators are now allowed to 'bottom out' (StopIteration is ignored) - this is configurable.
* RSA key generation fixes
* On login we now create an RSA keypair, encrypt the private one with PBE, and upload them to the server
* Log files are now limited to 2MB (down from 5)
2008-03-07 01:56:36 -08:00