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
eef307467c
use client GUID (from ClientData) for FileEngine
2008-07-29 18:38:58 -07:00
Dan Mills
a81ac5e9da
Remote.put doesn't require the data arg anymore
2008-07-29 17:35:10 -07:00
Dan Mills
7b63f59feb
get crypto working with FileEngine
2008-07-29 12:04:41 -07:00
Dan Mills
acc0a427fd
initial try to get crypto working with FileEngine
2008-07-29 11:03:06 -07:00
Dan Mills
58affe8131
Implement FileEngine
2008-07-25 17:02:43 -07:00
Dan Mills
c678010dcf
split Engine into SyncEngine and FileEngine
2008-07-25 01:06:23 -07:00
Dan Mills
9ca663413e
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
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
Dan Mills
80417871c4
merge upstream changes
2008-06-29 07:07:11 -07:00
Dan Mills
e03543007a
make resetguids async
2008-06-29 07:00:53 -07:00
Anant Narayanan
089c1c0f42
General restructure for performance improvements (bug 441907, r=thunder)
2008-06-27 20:16:43 -07:00
Dan Mills
c0471ca320
make log messages that print raw engine json be trace messages
2008-06-27 14:21:54 -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
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
Dan Mills
e2fc25dbfa
Store each delta as a separate file on the server
2008-06-24 12:33:27 -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
Atul Varma
4c78f8d170
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
0c3a240876
make RemoteStore a but more Store-like (wrap, wipe methods); fix a missing yield
2008-06-17 18:03:02 +09:00
Dan Mills
f8a841ee5e
move more remote-interaction code into RemoteStore (and out of Engine)
2008-06-17 01:04:23 +09: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
Dan Mills
a8ad7d2804
merge upstream changes
2008-06-15 13:42:10 +09:00
Dan Mills
049ecf1de3
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
b462aad4a5
Merged changes.
2008-06-12 14:30:46 -07:00
Myk Melez
0a15090c8c
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
5459e1733a
Resolved merging conflicts to service.js.
2008-06-11 11:54:44 -07:00
Dan Mills
5ca3a1eb7f
merge upstream changes
2008-06-11 23:31:28 +09:00
Myk Melez
0f8b279e6e
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
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
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@jonathan-dicarlos-macbook-pro.local
dfdff82d82
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
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
Myk Melez
f096ecbbf4
bug 437523: fix NS_ERROR_FAILURE on nsIJSON.decode in JsonFilter_afterGET
2008-06-05 16:25:55 -07:00
Dan Mills
b32b7d3549
merge upstream changes
2008-06-05 23:11:20 +09:00
Dan Mills
c2081e7fb9
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
d8420aaf50
Minor js2-mode warning fixes.
2008-06-03 15:14:27 -07: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
07ba8ea83e
bug 434817: sync tabs
2008-06-03 11:32:59 -07:00
Myk Melez
2d0bcb7a9b
minor typo fixes
2008-06-02 15:24:52 -07:00
Dan Mills
5eac28e81c
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
2daecc268e
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
88bafd3245
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
c8b1c91b51
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
fe48398743
don't attempt to get a symkey if encryption is set to 'none'
2008-05-23 19:57:38 -07:00
Dan Mills
cb84d724f5
regenerate the engine id when the engine's pbe id changes
2008-05-23 19:47:25 -07:00
Atul Varma
ba3e131c29
Fixed a variety of style issues and minor warnings raised by js2-mode.
2008-05-23 11:05:42 -07:00
Anant Narayanan
45c306c019
Add tracking support to FormsEngine. Bug #435319 , r=thunder
2008-05-23 09:29:26 -07:00
Anant Narayanan
226ed028e3
Tracking support for HistoryEngine. Bug #435321 , r=thunder
2008-05-22 18:37:24 -07:00
Anant Narayanan
53d8c30531
Add support for engine 'scores'. Bug #434812 , r=thunder
2008-05-22 15:58:29 -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
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
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
edd4329c4a
rethrow exception when applyCommands fails
2008-04-03 17:16:22 -07:00
Dan Mills
d1bd5e5aaa
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
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
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
ebf0b6a973
make applyCommands asynchronous
2008-03-26 23:11:15 -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
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
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
075381eca7
fix full (first) upload brokenness
2008-03-07 04:49:56 -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
Dan Mills
c1f8acb964
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
d6b5a9fc29
put utility functions in an object to avoid namespace pollution
2008-02-13 14:30:44 -08:00
Dan Mills
d4392ac825
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
23affe6333
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
2883ed0621
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
79688a1c16
Pull xxxtea code into modules/; fix passphrase bug in the login dialog
2007-12-26 16:10:23 -08:00
Dan Mills
21f147b7bb
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
2cc8662f0f
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
6782f99ad3
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
516dfc2930
some more cleanup/refactoring; add history engine/core/store (history sync\!)
2007-12-14 18:07:25 -08:00
Dan Mills
f9df1f57a8
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
e44b47a493
more and more refactoring: split weave module into multiple files (finally!)
2007-12-10 21:38:53 -08:00