AutobahnJS 0.7.0

#1

Hi there,

we have released a new version of AutobahnJS 0.7.0.

Cheers,
\Tobias

3 features/changes:

1)
The RPC error callback now gets exactly 1 arg (as the success callback).

That is, instead of

session.call("api:myfun1", ..).then(
   function (result) {
      // process RPC success result
   },
   function (errorUri, errorDesc, errorDetail) {
      // process RPC error result
      switch (errorUri) {
      }
   });

it is now:

session.call("api:myfun1", ..).then(
   function (result) {
      // process RPC success result
   },
   function (error) {
      // process RPC error result
      switch (error.uri) {
         // error.desc => error description for logging/development
         // error.detail => application defined (optional) error details
      }
   });

Sorry for the API break, but this was necessary for compliance with
Promise/A deferreds.

Autobahn has been switched to when.js (a Promise/A implementation).

Formerly, we used jQuery deferreds, which allow multiple args in
rejecting deferreds (which is done to deliver a RPC error to the app).

Now that we use when.js, this had to be changed.

Hopefully, this is acceptable .. it's straightforward to change app code, though annoying - granted.

2)
If you need to use a different Deferred implementation (most wont), this
is now also possible:

ab._Deferred = jQuery.Deferred;

AutobahnJS will then use jQuery deferreds, not the builtin when.js deferreds. As said, it's a very special purpose feature .. we for example dont need/use it.

3)
The convenience connect() function that does automatic reconnects (up to a app definable retry limit) now already provides feedback while scheduling reconnects, not only when retry limit was reached.

This is handy to provide feedback in the UI.

We need better docs on that (and in general) but its there.

···

==

Caveat: The examples, tutorials and docs still need to be updated to reflect above changes.

0 Likes