Atul Varma
92583fc5ff
Fixed an 'outstanding callbacks' warning and simplified the code a tiny bit.
2008-06-13 15:39:06 -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
Dan Mills
589f3222eb
To avoid some async.js warnings: Turn some 'yield' calls into 'return' ones, and don't call 'self.cb' twice in a row when constructing event listeners for XHRs.
2008-06-13 15:49:18 +09:00
Dan Mills
9812ba557e
Make some 'debug' log calls into 'trace' ones. Use the frame formatter, which will remove long paths to extension dirs from the output. Don't warn about outstanding callbacks if we caught an exception from the generator.
2008-06-13 15:47:41 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5c8481de3d
Merged
2008-06-12 17:35:57 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c548d4b940
Made the initialization of the xmppClient an asynchronous call. This included modifying xmppClient.js so that connect() can be passed a callback function that will get called once the connection has succeeded or failed. For most of our purposes this is probably a better API than what we had before where you call waitForConnection() and it busy-waits until the connection has succeeded or failed.
2008-06-12 17:35:44 -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
Atul Varma
9d32240087
Changed some of the debug() logging statements I added a few commits ago into trace() statemetns b/c they were drowning the log.
2008-06-12 12:00:19 -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
Myk Melez
669e57136f
Automated merge with ssh://hg.mozilla.org/labs/weave/
2008-06-11 20:00:59 -07:00
Myk Melez
5d50fffd37
don't sync tab entry IDs, which change with every session, to avoid generating edit commands for every tab on restart even when the tabs haven't actually changed
2008-06-11 20:00:48 -07:00
Atul Varma
4864f07ae2
async.js now keeps track of how many outstanding callbacks it has and uses this information to log warnings about coroutines that may have yielded without an outstanding callback, and coroutines that may have finished while a callback is still outstanding. These are merely 'warnings' rather than certainties because this code assumes that there is a 1:1 correspondence between accesses to self.cb and yields, and also that self.cb's are actually passed to asynchronous functions. It'd be really cool if we could actually keep track of whether a callback got garbage collected before it was called or something, though I don't know how much it'd help in the end.
2008-06-11 19:19:16 -07:00
Atul Varma
7d98a5dbeb
Added a few log messages to hopefully make the debugging of generators easier. Also added an id component to generators, which is part of their name, to help distinguish between concurrent instances of the same generator function. The following debug output represents the new logging infomation:
...
--
Async.Generator DEBUG runTestGenerator-0: self.cb generated at test_async_missing_yield.js:28
Async.Generator DEBUG secondGen-1: self.cb generated at test_async_missing_yield.js:20
Async.Generator DEBUG secondGen-1: done() called.
Async.Generator DEBUG runTestGenerator-0: self.cb() called, resuming coroutine.
Async.Generator DEBUG runTestGenerator-0: done() called.
Async.Generator DEBUG secondGen-1: self.cb() called, resuming coroutine.
Async.Generator DEBUG secondGen-1: done() called.
Async.Generator ERROR Async method 'secondGen-1' is missing a 'yield' call (or called done() after being finalized)
--
As you can see, I've added log messages whenever the Generator's 'cb' property is accessed--this is almost guaranteed to be very close to a 'yield' statement, and therefore provides us with a decently accurate idea of where the generator 'stopped'. We also log a message when the generator continues, and by doing so we get an idea of how the coroutines interleave.
Another idea I had was to actually match calls to self.cb with calls to 'yield' to automatically detect e.g. two yields in a row (which will ordinarily result in a generator 'hanging'), a generator exiting while a self.cb still hasn't been called, but I'm not sure what kinds of reprecussions it may have.
2008-06-11 18:58:30 -07:00
Myk Melez
a850ec7b70
numChanged should be the number of shared items whose data is different, not the same
2008-06-11 18:47:56 -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
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
97f788bb51
Fixed Utils.prefs.getStringPref (should be getCharPref)
2008-06-11 15:43:12 -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
555b8a7be4
fix typo in recent checkin that broke appending deltas to the deltas file on the server
2008-06-11 14:14:04 -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
jonathandicarlo@localhost
4bb05d10b5
Created preferences for xmpp connection info (server url, realm, username, password), and a preference to turn xmpp messaging on or off, and made BookmarkEngine._init() call startXmppClient when this preference is true.
2008-06-11 11:13:35 -07:00
jonathandicarlo@localhost
918cc51c7f
Expanded bookmarkEngine.share and added some more todos for the next round of functions to implement
2008-06-11 11:01:45 -07:00
Myk Melez
932871d1bd
merge
2008-06-11 10:41:57 -07:00
Myk Melez
4a8808e790
bug 430363: ignore remove commands when generating deltas for history so the deltas file on the server doesn't grow too large; r=thunder
2008-06-11 10:40:24 -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
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
Anant Narayanan
9cb5d2c8cc
Make sync service check score before syncing: bug #434816 (r=thunder)
2008-06-10 13:45:37 -07:00
Atul Varma
9cc4da48c1
Refactoring: made a new function, Utils.makeTimerForCall(), which is used by test suites and async.js.
2008-06-09 19:30:11 -07:00
Atul Varma
2905492e20
Added modules/sharing.js, which provides access to the RESTful sharing API, and a unit test suite. The unit test suite is pretty heinous right now and should get a bit of refactoring.
2008-06-09 18:55:26 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
dece7fdbd2
Merged
2008-06-09 18:44:21 -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
Atul Varma
6fc267b942
Fixed a bug that was causing failing unit tests using async.js to not properly report error conditions.
2008-06-09 18:40:30 -07:00
Atul Varma
813c1abb3f
Added a POST method to dav.js.
2008-06-09 17:36:54 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
dc2d1940dd
Moved the writing of the outgoing-share annotation on the bookmark folder to BookmarkEngine._share, where it makes a lot more sense than it does in the share.js dialog-box code where it used to be.
2008-06-09 16:49:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
7ca2dae349
Fixed a couple minor bugs that were preventing bookmark engine from starting up properly
2008-06-09 16:19:58 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
a1c5da3eeb
Renamed bookmarkeEngine methods so they make more sense with the new sharing model, e.g. updateAllIncomingShares instead of syncMounts.
2008-06-09 15:27:09 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6ad669df96
Merged
2008-06-09 12:13:03 -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
8573f956e3
Merged
2008-06-09 11:49:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b6a2028a3c
Fixed my code so that BookmarkEngine._sync() now works correctly to call Engine._sync() and BookmarkEngine.syncMounts(), asynchronously. Added in some TODO comments about what's going to happen in the next round of refactoring.
2008-06-09 11:48:52 -07:00
Atul Varma
53f7206dec
Just added a few semicolons that js2-mode warned me about.
2008-06-09 09:45:55 -07:00
Atul Varma
394167a10a
Added a unit test suite for modules/async.js.
2008-06-06 21:40:30 -07:00
jonathandicarlo@localhost
f26ddc5f76
Added license block and explanatory comments to bookmarks.js
2008-06-06 19:28:01 -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
Atul Varma
29434b62a4
Merged changes.
2008-06-06 17:46:46 -07:00
Atul Varma
49ad148d83
In async.js, renamed 'object' to 'thisArg', which makes the code clearer and easier to understand.
2008-06-06 17:46:34 -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
Dietrich Ayala
406a97aee2
imported patch xmpp-transport-fault-tolerance-and-test
2008-06-04 18:34:37 -07:00
Dietrich Ayala
ecbfb93933
xmpp-stream-error-handling
2008-06-04 17:36:37 -07:00
Dietrich Ayala
3d3869c8a5
[mq]: xmpp-reconnect
2008-06-04 17:00:02 -07:00
Dietrich Ayala
3e4256b313
[mq]: xmpp-disconnect
2008-06-04 14:02:47 -07:00
Myk Melez
b3bf939ec2
bug 436696: make sure we pass a valid URI to nsITaggingService::getTagsForURI when the bookmark record doesn't include a URI so the method doesn't throw and hork bookmarks sync
2008-06-04 13:40:53 -07:00
Dietrich Ayala
6805970f17
[mq]: xmpp-cleanup
2008-06-04 12:14:28 -07:00
Atul Varma
3a9ddcad85
In passwords.js, turned _hashLoginInfo() into a module-level function.
2008-06-03 16:56:58 -07:00
Atul Varma
d8420aaf50
Minor js2-mode warning fixes.
2008-06-03 15:14:27 -07:00
Atul Varma
e5bb509e17
Removed unused code from cookies.js, fixed a few js2-mode warnings.
2008-06-03 14:49:22 -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
d635f80fdc
remove unused _json property from TabSyncCore
2008-06-03 11:50:08 -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
Myk Melez
2d0bcb7a9b
minor typo fixes
2008-06-02 15:24:52 -07:00
Dan Mills
d526a56d57
log stack traces from sync exceptions
2008-06-02 13:02:04 +09: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
0640f244d6
format exception correctly when an engine throws during sync
2008-05-30 17:40:08 -07:00
Dan Mills
edff2a32aa
make some async generator errors clearer
2008-05-30 17:38:27 -07:00
Atul Varma
b9a3944d7e
Added a trivial appender to faultTolerance.js.
2008-05-30 16:32:06 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
e9a097b252
Merged changes
2008-05-30 11:11:02 -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
Atul Varma
8b2854d7e6
Added a testing suite for log4moz, along w/ a few refactorings necessary to perform the tests.
2008-05-29 17:56:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
4343b5c692
Merged
2008-05-29 11:18:16 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6031b5a316
Moved the Share Bookmarks item out of the Weave popup menu into the Bookmarks menu, folder submenu.
2008-05-29 11:17:54 -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
Atul Varma
c00c81efab
Added a trivial fault tolerance JS module with a trivial test suite.
2008-05-28 11:25:28 -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
ecd321f34b
bump version constant
2008-05-24 18:56:42 -07:00
Dan Mills
c682a760f9
remove some debugging output, fix some remaining array detection code
2008-05-24 17:30:22 -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
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
Dan Mills
29fc114d14
branch merge
2008-05-23 17:58:08 -07:00
Dan Mills
8dbb0f835c
whitespace police
2008-05-23 17:50:54 -07:00
Dan Mills
1cfce7d1d1
don't require same index for folder 'likeness'
2008-05-23 17:50:24 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
42f471fcd3
Added unit test file for CookieStore. It has a test to make sure that only persistent cookies are wrapped, not session cookies.
2008-05-23 17:49:58 -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
Atul Varma
7376e01e44
Routine merge of double branches.
2008-05-23 11:06:45 -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
85746789b0
Correct more syntax errors (super) in trackers.js
2008-05-23 11:01:32 -07:00
Anant Narayanan
e94def6b15
Correct syntax error in trackers.js
2008-05-23 10:28:43 -07:00
Anant Narayanan
7d0ca60e94
Fix indentation
2008-05-23 09:59:35 -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
1743ffc42e
Correct typo in BookmarksTracker
2008-05-22 18:06:47 -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
Dietrich Ayala
26b658a127
Bug 419121 - Weave chokes on microsummaries (r=thunder)
2008-05-22 11:41:05 -07:00
Justin Dolske
8df51016ac
Bug 433762 – Sync stored passwords. r=thunder
2008-05-21 18:09:19 -07:00
Justin Dolske
1fb1cf3fa3
Cleanup some trivial nits with cookie (whitespace and function name).
2008-05-21 17:53:35 -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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
9340b3c431
Added TODO that expired cookies should be thrown out, in the unlikely event that we get one from a createCommand or editCommand.
2008-05-20 18:24:28 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
aea75cbd20
Made cookie-sync sync only persistent cookies, drop single-session cookies. (Needs testing.)
2008-05-20 18:14:18 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
7793fe3db1
Created some documentation of how to add synchronization functionality for a new user data type to Weave. Created a new directory called docs to put this into.
2008-05-19 19:40:45 -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
2aa793313d
merge with jono's changes
2008-05-12 10:14:15 -07:00
Dan Mills
e5e1d00a3f
sync bookmark descriptions
2008-05-12 10:11:07 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
11d82ab309
Created a readme for using the XMPP client module.
2008-05-08 18:50:12 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c2d09e5829
renamed testSynchronizer.js to just synchronizer.js, because otherwise the test framework tries to run it as a test itself.
2008-05-06 12:04:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
90053f0c73
Oops, I miscapitalized XmppClient in the export statement -- fixed.
2008-04-30 17:08:39 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2fec756b19
Made xmppClient, transportLayer, and authenticationLayer into proper modules using Components.Utils. Also renamed the JabberClient class to XMPPClient, which is more accurate (as it implements XMPP which is a newer protocol than Jabber.)
2008-04-30 16:55:34 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
e8b52e9413
Gave sasl.js a more descriptive name -- authentication is what it does.
...
--HG--
rename : services/sync/modules/xmpp/sasl.js => services/sync/modules/xmpp/authenticationLayer.js
2008-04-30 16:29:03 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
8fda2ee763
Merged my changes with the main repository.
2008-04-30 16:27:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
0251715f68
First commit of my XMPP client, as demonstrated at the meeting today, to weave/modules. This does not include the test-synchronization stuff. xmppClient.js is the main client class; transportLayer.js and sasl.js (which does authentication) are the helper classes.
2008-04-30 16:27:32 -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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
62da55a446
Implemented cookieStore.editCommand().
2008-04-07 11:53:55 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
055836a4ee
Semicolon was missing in cookieStore.wrap()
2008-04-04 12:09:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
de75398691
Prettied up my code by using block comments and making my indents 2 spaces.
2008-04-04 12:08:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
02171a4c9b
Merged changes from Dan
2008-04-04 10:50:21 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
185294a6e6
Removed comment from load-weave.js that I put in while debugging and committed by accident.
2008-04-04 10:49:41 -07:00
Dan Mills
99f4ac9084
rethrow exception when applyCommands fails; merge changes from jono
2008-04-03 17:18:38 -07:00
Dan Mills
edd4329c4a
rethrow exception when applyCommands fails
2008-04-03 17:16:22 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
acbff936ba
Discovered that trying to use duck-typing in passing an object into cookieExists() will hard-crash Firefox, and figured out why; added comment to syncCores.js explaining this.
2008-04-03 14:30:34 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
27c6454920
Fixed bugs in cookieSyncCore.itemExists and cookieStore.addCommand. The problem in addCommand was just a missing argument, but in itemExists I had to change the implementation to use cookieManager.enumerator rather than cookieManager.findMatchingCookie -- the latter function apparently does not exist in the nsICookieManager2 interface despite what MDC says about it.
2008-04-03 14:26:06 -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
Dan Mills
8df3c78b61
bump version
2008-04-01 23:44:39 -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
f6dd9c5d7f
Updated the comment in CookieStore.editCommand.
2008-04-01 19:16:27 -07:00
jono@jono-gibbon-laptop
0640b8474c
Removed some lines that were only in there for debugging purposes.
2008-04-01 19:12:03 -07:00
jono@jono-gibbon-laptop
4ad1b9c94f
Fixed some minor errors in cookieStore / cookieSyncCore (still getting used to the getter idiom in javascript -- had too many underscores). Syncing cookies now works in as much as it can upload all cookies to the server without raising any exceptions; now to see if it can download and merge cookies on the other side...
2008-04-01 17:51:10 -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
609b043699
Fixed a couple of syntax errors that were preventing weave from starting
2008-04-01 16:36:08 -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
b8cca5d3a9
bump version
2008-03-31 17:46:29 -07:00
Dan Mills
e4254ee7bd
fix tag sync
2008-03-31 17:07:40 -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
2028f0a69d
bump storage format version to cause a server wipe
2008-03-30 08:52:49 -07:00
Dan Mills
8f9f414efb
bump version
2008-03-30 08:42:35 -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
18f1113dcf
remove try/catch block in the reconciler; correctly fix parent guids of remove commands during guid changes; only allow guid changes for create commands
2008-03-30 03:36:25 -07:00
Dan Mills
3ba627c585
fix the bookmarks likeness comparator (a.data undefined bug)
2008-03-29 00:00:16 -07:00
Dan Mills
54e61dbe6b
ignore 'type' properties in edit commands; fix history sync
2008-03-28 22:55:23 -07:00
Dan Mills
78041c490b
fix 'clear logs' on windows
2008-03-28 19:36:11 -07:00
Dan Mills
fc6202f2e2
bump version
2008-03-28 03:27:05 -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
cfbb3a75b1
remove old '500 error' hack for services.m.c during mkcol; fix applyCommands to do async right & make a listener correctly
2008-03-26 23:51:01 -07:00
Dan Mills
1b3916bc83
make XHRs non-blocking again; change sharing dialog so sharing is done without closing the dialog (still lacks any feedback though)
2008-03-26 23:22:35 -07:00
Dan Mills
cfae90a73a
fix typo
2008-03-26 23:12:58 -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
86d8009d14
lazy-load service
2008-03-25 13:55:34 -07:00
Dan Mills
5b6dc30300
work with all exception objects, whether we can modify them or not
2008-03-24 19:08:43 -07:00
Dan Mills
aa012aa6cf
bump version
2008-03-24 16:05:02 -07:00
Dan Mills
6c82a158bd
decrypt private rsa keys before decrypting data with it (rather than doing it in one step). fix for windows openssl.exe
2008-03-24 16:04:29 -07:00
Dan Mills
8541c2d22a
bump version; bump storage format version
2008-03-21 16:07:44 -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
99618dc083
bump version
2008-03-20 14:59:59 -07:00
Dan Mills
22ef0e035f
bookmarks syncCore: remove actions never qualify for 'likeness'
2008-03-20 14:59:20 -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
6d055afeb8
bump version
2008-03-19 17:31:45 -07:00
Dan Mills
fd86363364
bookmarks sync core: always include type information when generating commands. also, allow for properties to not be set when comparing commands for likeness.
2008-03-19 17:31:00 -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
07c4bbd0dc
bump version
2008-03-12 23:07: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
4c23a0a589
Merged my changes with the changes to async.js -- no conflicts.
2008-03-11 14:59:06 -05:00
thunder@h-132.office.mozilla.org
cdbd7976e2
add missing async.js module
2008-03-11 11:47:54 -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
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
4bfb8c52e7
version bump
2008-03-07 01:57:18 -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
0ed61df581
don't sync bookmarks/history unless they have been enabled
2008-03-05 18:36:58 -08:00
Dan Mills
cc0892b5ff
ignore broken local snapshots if they can't be parsed; trigger an initial sync instead
2008-03-05 17:11:08 -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
288aaae471
fix openssl args mangling
2008-02-19 21:01:11 -08:00
Dan Mills
1817c866fe
version bump
2008-02-19 20:53:45 -08:00
Dan Mills
350adaed51
use a scriptableinputstream to correctly read openssl output
2008-02-19 20:53:01 -08:00
Dan Mills
5efa6b7b5f
flesh out openssl code; still needs more work
2008-02-19 11:39:39 -08:00
thunder@h-132.office.mozilla.org
093fac248a
move openssl() into crypto object so it can use the logger there. up version
2008-02-18 11:18:04 -08:00
Dan Mills
261ddf2a9e
clean up prefs; add logging prefs; check weave is enabled on scheduled sync
2008-02-13 16:07:11 -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
d5c5e064e7
create user directories when they don't exist - good for personal webdav servers
2008-02-08 01:03:45 -08:00
Dan Mills
ec4aa0abba
fix openssl binary path on windows
2008-02-05 16:15:43 -08:00
Dan Mills
e6eda21f32
branch merge
2008-02-05 14:16:38 -08:00
Dan Mills
731575d8bf
add openssl support
2008-02-05 14:15:53 -08:00
Myk Melez
e6c482d3b5
make log4moz not depend on constants.js so it's easier to reuse it in another project
2008-01-24 17:41:36 -08:00
Dan Mills
fac152858b
bump version
2008-01-22 22:46:39 -08:00
Dan Mills
c967d1b41f
Bug 411105: nsILoginInfo no longer accepts null values for usernameField/passwordField. Send empty strings instead
2008-01-22 22:46:07 -08:00
Dan Mills
062ba11eda
bump version
2008-01-07 20:20:54 -08:00
Dan Mills
a3b17ebe6a
bump version
2008-01-07 16:29:30 -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
dd6341464b
bump version in constants.js
2007-12-28 16:34:28 -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
c00d20a783
move xxxtea.js -> xxtea.js (typo)
2007-12-27 12:50:51 -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
7e968fc10e
remove debug statements
2007-12-26 16:11:19 -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
c3f4b08ffc
Fix typo in last commit; use asterisks in place of auth header
2007-12-26 14:51:52 -08:00
Dan Mills
6dfb3eae28
Bug 409673: Don't log the authentication header
2007-12-26 14:49:03 -08:00
thunder@daniel-millss-macbook-pro-15.local
539fdecb0f
fix getTagsForURI call (API changed); bump version
2007-12-24 14:47:37 -08:00
Dan Mills
c2c6f2597a
version bump
2007-12-21 18:38:04 -08:00
Dan Mills
e320b490d8
version bump
2007-12-21 16:51:14 -08:00
Dan Mills
c713a81236
process GUID changes *before* anything else
2007-12-21 16:50:32 -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
232f7951a9
change prefs to live under extensions.weave
2007-12-20 14:46:12 -08:00
Dan Mills
fb020f0577
ui / prefs fixes
2007-12-20 12:18:41 -08:00
Dan Mills
bdb1273a28
move logs and snapshots into a 'weave' directory in the profile; use .txt filenames for logs to (hopefully) fix content type problems some people are seeing
2007-12-19 19:49:28 -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
Dan Mills
e5050adc9c
refactoring: remove log4moz component, use it as a js module instead
2007-12-10 19:47:11 -08:00
Dan Mills
5de0bd93c4
more refactoring: move bookmarks-specific code into an 'engine' object; get rid of sync xpcom component and replace it with Components.utils.import hotness
2007-12-10 16:42:10 -08:00