Recently, I've been kicked out of the open_chat room, for no good reason. This was caused by another user sending me a disco/info request:
My client responds with a 'item-not-found' to that. This response is taken by the MUC implementation as an indication that I'm a ghost, and thus kicks me.
This problem is apparent to me, in open_chat, only after the fix for OF-2319 Resolved was deployed. However, as allowpm is rarely used, this probably affects a lot of users in generic installations.
What's a bit odd is that the 'ghost kicking' implementation ( OF-2209 Resolved ) was added after OF-910 Resolved (which seems to be very similar) was added. A key difference is that OF-910 Resolved explicitly does not act on IQ, as noted in its commit message:
IQ stanzas do not trigger the same response, as these may be due to lack of client support rather than a vanished occupant.
The implementation of OF-2209 Resolved uses an IQ ping, which is an IQ message. To 'catch' the ghost user, OF-2209 Resolved checks for errors very generically - with partial overlap to OF-910's detection, but more broadly. This opens the opportunity for every IQ error to be responded to as if it was sent by a ghost.