Граф коммитов

133 Коммитов

Автор SHA1 Сообщение Дата
Dan Mills 713d7b5015 Fix network timeouts, make them take into account progress; re-upload new snapshot after 25 deltas 2008-07-21 18:23:51 -07:00
Chris Beard d8dd14adc2 * 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
Dan Mills 7c62863c93 merge upstream changes 2008-06-29 07:07:11 -07:00
Dan Mills 367f6c44ac make resetguids async 2008-06-29 07:00:53 -07:00
Anant Narayanan df5a216eb1 General restructure for performance improvements (bug 441907, r=thunder) 2008-06-27 20:16:43 -07:00
Dan Mills cef841858e make log messages that print raw engine json be trace messages 2008-06-27 14:21:54 -07:00
Atul Varma 2e2db69479 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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local 8ad5c2a828 Merged 2008-06-24 13:41:25 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local 6d56568a9e Merged 2008-06-24 13:41:12 -07:00
Dan Mills 4b9dbfb59b Store each delta as a separate file on the server 2008-06-24 12:33:27 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local c8ba0cdfff Make the stop-sharing-data command work 2008-06-23 18:23:08 -07:00
Justin Dolske 53d6ead038 Bug 433949 - Use WeaveCrypto component (NSS) instead of OpenSSL 2008-06-23 16:23:57 -07:00
Atul Varma 02bbaa5ff6 Improved test_passwords so that it syncs, re-syncs, adds a new user, and re-syncs again.
Fixed a strict warning in engines.js.
2008-06-20 14:22:06 -07:00
Dan Mills 747f38bb06 make RemoteStore a but more Store-like (wrap, wipe methods); fix a missing yield 2008-06-17 18:03:02 +09:00
Dan Mills e07d7c101f move more remote-interaction code into RemoteStore (and out of Engine) 2008-06-17 01:04:23 +09:00
Dan Mills 3ecee1a32e 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
Dan Mills ba5e8762d2 merge upstream changes 2008-06-15 13:42:10 +09:00
Dan Mills 25f6da01d1 Move remote init code ('fullUpload') into RemoteStore; make RemoteStore hold an Engine object (tightly coupling them); make the server prefix and identity properties of Engine public 2008-06-14 17:07:06 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local 9e6d103089 Merged changes. 2008-06-12 14:30:46 -07:00
Myk Melez 5e916d02f2 bug 437529: yield after starting to put the status file to the server so we don't finalize the sync until the PUT request completes 2008-06-11 17:44:08 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local 9672201b26 Resolved merging conflicts to service.js. 2008-06-11 11:54:44 -07:00
Dan Mills 505b2aa8de merge upstream changes 2008-06-11 23:31:28 +09:00
Myk Melez 292cc1dc84 give Engine a public getter for its snapshot that TabTracker can access when generating a sync urgency score 2008-06-11 00:03:28 -07:00
Dan Mills b3442a6e9e 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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local be8d8ca4df 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@jonathan-dicarlos-macbook-pro.local 512d95591b The folder annotation for outgoing shared folders is now a string containing the username of the person the folder is being shared with. Also moved to using const strings in bookmark-menu-overlay.js. 2008-06-09 12:12:51 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local e09c7116a8 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 11f8af5431 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 f500b95f11 - 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
Myk Melez 3fd6e2ee70 bug 437523: fix NS_ERROR_FAILURE on nsIJSON.decode in JsonFilter_afterGET 2008-06-05 16:25:55 -07:00
Dan Mills a2659cdec7 merge upstream changes 2008-06-05 23:11:20 +09:00
Dan Mills 510669d414 create objects for the various server resources (these will later abstract away the actual resources); fix a bug where we were reversing the order of resource filters on every GET request 2008-06-05 16:17:32 +09:00
Atul Varma 53a37dc1fd Minor js2-mode warning fixes. 2008-06-03 15:14:27 -07:00
Atul Varma 26b0341c5c Moved all tab-syncing code to modules/engines/tabsjs. 2008-06-03 14:45:53 -07:00
Atul Varma 5608238392 Moved all form-syncing code into modules/engines/forms.js. 2008-06-03 14:20:51 -07:00
Atul Varma 8ea237d262 Moved all password-syncing code into modules/engines/passwords.js. 2008-06-03 14:08:53 -07:00
Atul Varma b20c630abe Moved all history-related functionality into modules/engines/history.js. 2008-06-03 13:56:16 -07:00
Atul Varma 0e8b9eb9af 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 92b3748833 bug 434817: sync tabs 2008-06-03 11:32:59 -07:00
Myk Melez 826fa1d7f3 minor typo fixes 2008-06-02 15:24:52 -07:00
Dan Mills ab858fed15 change remote store to keep track of identity names/aliases and fetch the objects from the id manager 2008-06-02 11:10:11 +09:00
Dan Mills 7517154894 move json and crypto into remote resource 'filters', so the engine doesn't have to explicitly encode/decode anything. note--known regression: filters will not use the encryption algorithm in the status file 2008-05-30 20:43:55 -07:00
Dan Mills 5476cb0994 Add and start using an object to represent a remote resource (file), and a server object to hold them. Resources will attempt to retry network operations if they fail. 2008-05-28 20:11:39 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local 60dbf91bf5 Created a cookie tracker in trackers.js, and a test for it in tests/unit/test_cookie_store.js. 2008-05-27 09:44:26 -07:00
Dan Mills b91391acd5 don't attempt to get a symkey if encryption is set to 'none' 2008-05-23 19:57:38 -07:00
Dan Mills f84508aeb7 regenerate the engine id when the engine's pbe id changes 2008-05-23 19:47:25 -07:00
Atul Varma 2802dad13d Fixed a variety of style issues and minor warnings raised by js2-mode. 2008-05-23 11:05:42 -07:00
Anant Narayanan ad7543aee8 Add tracking support to FormsEngine. Bug #435319, r=thunder 2008-05-23 09:29:26 -07:00
Anant Narayanan 5c0774bdea Tracking support for HistoryEngine. Bug #435321, r=thunder 2008-05-22 18:37:24 -07:00
Anant Narayanan 1c421141bc Add support for engine 'scores'. Bug #434812, r=thunder 2008-05-22 15:58:29 -07:00
Anant Narayanan af655d694e Sync form data: bug #434818, r=thunder 2008-05-22 15:36:44 -07:00
Justin Dolske 08b62ce1ba Bug 433762 – Sync stored passwords. r=thunder 2008-05-21 18:09:19 -07:00
Anant Narayanan dcc4181827 Allow login & sync when encryption is off 2008-05-21 16:28:23 -07:00
Dan Mills 9c8f71b319 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 9a24767ab7 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 1fa3e135bc add engine registration service; use global id service in service.js 2008-04-14 18:53:35 -07:00
Dan Mills 641c1bbc04 rethrow exception when applyCommands fails 2008-04-03 17:16:22 -07:00
Dan Mills ecd1ab657d don't fail on invalid server deltas which don't apply to the local snapshot; wipe the local snapshot instead 2008-04-02 00:00:24 -07:00
jono@jono-gibbon-laptop bc2b54e0cd 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 b70fbb03c2 Merged changes and resolved conflicts between my cookie stuff and r282. 2008-04-01 14:46:29 -07:00
Dan Mills eb446df148 [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 26713b0184 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 332279d554 make applyCommands asynchronous 2008-03-26 23:11:15 -07:00
Dan Mills a7291a69bd 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 4bbd3af126 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 89a59249b4 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 1908175a9c 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 384d06b7c6 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
jono@jono-gibbon-laptop f87939266d 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 0b431a8016 fix full (first) upload brokenness 2008-03-07 04:49:56 -08:00
Dan Mills 99333d3c98 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
Dan Mills 019a0c8e6c switch to nsIJSON for JSON parsing and output. add a deepCopy function instead of using eval(uneval()). make *sure* to read and write UTF-8 to files. bump version 2008-03-05 00:00:56 -08:00
Dan Mills 907f537607 put utility functions in an object to avoid namespace pollution 2008-02-13 14:30:44 -08:00
Dan Mills 3bee96c342 load all modules directly from load-weave.js to get around bug 408412; fix uses of |let| not directly within a block 2008-01-07 16:28:57 -08:00
Dan Mills 61d662a743 Bug 409908: don't decrypt cleartext. Also, fix broken checkStatus calls when resetting server data. 2007-12-28 16:33:09 -08:00
Dan Mills 74fa881759 Make {en,de}cryption asynchronous so as to not block the UI; fix 'xxxtea' typos (it's xxtea); fix auth header suppression 2007-12-26 17:40:46 -08:00
Dan Mills bf099ed106 Pull xxxtea code into modules/; fix passphrase bug in the login dialog 2007-12-26 16:10:23 -08:00
Dan Mills c99138171c limit history sync to the last 500 items; load snapshots from the right directory in the profile 2007-12-21 16:07:42 -08:00
Dan Mills 56b54b801e rename 'bookmarks' events to be weave events; add service-level events in addition to engine-specific ones (where appropriate) 2007-12-19 17:37:01 -08:00
Dan Mills 87591e4c96 login fixes; history sync fixes; make reset client actually delete all client data (useful for testing and for syncing down server data - e.g. the restore case) 2007-12-19 13:24:31 -08:00
Dan Mills dee6b23c4d some more cleanup/refactoring; add history engine/core/store (history sync\!) 2007-12-14 18:07:25 -08:00
Dan Mills 8c9defe994 assume in loaded modules that the resource:// alias has already been added - remove all the templatey code to do that 2007-12-11 11:57:13 -08:00
Dan Mills 085f383f57 more and more refactoring: split weave module into multiple files (finally!) 2007-12-10 21:38:53 -08:00