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