I have found that the first time I send a private message to a chat room, I receive an IQ message for the disco#info extension (not sure if it comes from OpenFire server or the Spark client on the other end). This is not necessarily a problem except I noticed the XIFF client does not reply to it (the spec requires that the receiver respond either with a result or an error, but XIFF does neither). I have enabled the InfoDiscoExtension. The problem is that when the IQ message is received, XIFF tries to create an instance of the extension class using a no-arg constructor … but it does not have one … it expects an xmlNode to be passed the constructor … so it fails.
I noticed most of the other extensions make this parameter (strangely called parent everywhere except the two disco extension classes where it is called xmlNode) optional. I have changed DiscoExtension, InfoDiscoExtension, and ItemsDiscoExtension constructors to make the xmlNode parameter optional and I am just beginning testing, but I wanted to post here as usual to see if anyone else has any comments on this.
I think this is another bug. Anyone disagree?
When I started using this I was told that although it was beta it was pretty solid and was being used in a number of production projects. I am a little surprised I am finding as many bugs in areas I would have thought someone would discover them already. Is this really being used by anyone else? If so, they must be using a very trivial set of functionality because I don’'t see how they could not be running into the same problems I have run into already.