The code requires a 'text' element. XMPP errors often have no text (it is an optional element).
No 'name' is defined in the messages that is to-be-displayed, which causes a fatal failure further down the road (when the name is cropped). This might occur only in one-on-one, private chats, I'm not sure.
By using the 'info' type for the to-be-displayed message, the text body is parsed as XHTML (which fails for simple messages)
When a message stanza that is an error is received by Candy, it stops working completely (but does not give any visual clue that it stopped).
I have outlined the problem here: https://groups.google.com/forum/#!topic/candy-chat/plwovsjyx38
The problem appears to be caused by a couple of complementing factors, which revolve around this bit in the code: https://github.com/candy-chat/candy/blob/master/src/core/event.js#L776-L782