[Twisted-web] [wokkel] issues with disco and entity capabilities.

goffi goffi at goffi.org
Mon Feb 7 20:13:00 EST 2011

G'day everybody,

While implementing Entity Capabilities (XEP-0115) on my client, I faced 
2 issues with Wokkel:
- if we have a disco info request with no "to" or "from" attribute (seen 
with Prosody), a KeyError exception is raised. The attached patch fix it.
- I generate the hash with the result of disco.DiscoHandler.info with no 
node, and that include everything like VersionHandler's 
"jabber:iq:version" feature. That was working great with Prosody and 
Openfire, but not with Ejabberd (the notification for PEP was not 
included). After some investigations, I realised that jabber:iq:version 
feature is not added when there is a node in disco info request, and 
that's the case with XEP-0115, so the features list was different to the 
one used to generate the hash, and ejabberd was (silently :( ) rejecting 
it; resulting in no notification for Personal Eventing Protocol.
I temporarily fixed the issue by overriding 
generic.VersionHandler.getDiscoInfo and forcing the node parameter to 
None, but this case should be managed in Wokkel.

I have (partially) implemented XEP-0115 in my XMPP client (Salut à Toi: 
http://wiki.goffi.org/wiki/Salut_%C3%A0_Toi ), but it would be nice to 
add it to Wokkel.

Last but not least, I have said a few months ago that I'd like to 
improve MUC branch for mainstream inclusion, I'm still interested in 
that, as my client is based on Twisted/Wokkel and I need MUC (I was just 
too busy so far to contribute on it :) ), but I need the help of Ralph 
Meijer or at least a Twisted guru if he is too busy to know exactly how 
and what. For the moment I need to make a dirty hack in my setup.py to 
use the MUC branch in my project...

-------------- next part --------------
A non-text attachment was scrubbed...
Name: disco.patch
Type: text/x-diff
Size: 702 bytes
Desc: not available
Url : http://twistedmatrix.com/pipermail/twisted-web/attachments/20110208/102e181a/attachment.patch 

More information about the Twisted-web mailing list