As reported in #5348, if one changes the banlist in psi+, there will be a message sent from the xmpp server that contains no body and no subject but an item of the changed username and affiliation (none or outcast dependin on unban or ban).
This message manifests as an empty message box the way gloox parses it currently.
By passing the gloox message subtype enum to JS, the JS side has a better way of distinguishing all message types.
The downside is
- that the !subject !body tests still need to be performed with the current gloox / glooxwrapper code.
- that some message combinations are expected never to occur, or reflect incomplete knowledge. If these combinations cant occur, it would be good to remove them in gloox. If it is incomplete knowledge and the message can occur, we will now get a warning and we see it manifested in the code where it could occur, and we have an easy way to insert the new message handler.
- bit of duplication for private messages (having that check in JS still seems odd to me, it should be set on the server if we dont want users PMing)