Bug fix for Invalid presence show

The wildfire warn logs were complaining about an Invalid presence show when setting the presence to Presence.SHOW_NORMAL (available):

2006.06.08 07:26:38 Invalid presence show

java.lang.IllegalArgumentException: No enum const class org.xmpp.packet.Presence$Show.normal

/code

The issue is fixed by not sending the “show” element for a normal presence.

So in org.jivesoftware.xiff.data.Presence change the function set show( showVal:String ) to be:

public function set show( showVal:String ):Void

{

if (showVal == Presence.SHOW_NORMAL) {

myStatusNode.removeNode();

} else {

myShowNode = replaceTextNode(getNode(), myShowNode, “show”, showVal);

}

}

/code

Is it possible the Spark client does not send this properly as well?

I am using the Spark client to test presence in my flash prototype. All the presence features are working correctly except when user switches back to “Online”. Status changes to “Online” properly but the show is not set back to “normal”.

If this bug is present in the xiff library it makes sense to me that this bug could exist in the Spark implimentation. I am new to this so it may not even be a “bug”… but an expected behavior. I could test for status = “Online” and show = undefined and set it myself but this seems counter intuitive.