#836 User is kicked from MUC room when smacks timeout reached
What steps will reproduce the problem?
1. Enter room as a user.
2. Disconnect, leave steam in hibernated state.
3. Reach timeout.
What is the expected output? What do you see instead?
I expect that user will leave the room, instead he is kicked.
What version of the product are you using? On what operating system?
Please provide any additional information below.
Part of debug logs:
mod_smacks hibernation timeout reached...
Destroying session for hibernating too long
Destroying session for user1@server/client (user1@server)
Destroying session with 16 unacked stanzas
SEND: <presence type='unavailable' to='user2@server/client' firstname.lastname@example.org/user1'><x xmlns='http://jabber.org/protocol/muc#user'><status code='307'/><item affiliation='none' role='participant'/></x></presence>
This happens because the '16 unacked stanzas' are bounced, ie responded to with an error. The MUC room responds by kicking them for sending an error, as a method of preventing ghost participants.
I do not believe is wrong, but I don't think there's anything saying anything specific on the subject.
That is not wrong by spec by could it be changed so that user "leaves" instead? Otherwise it looks strange for participants. Some people leave when they turn off PC and some are kicked with strange, for user, reason "None". We moved from ejabberd which makes users "leave" instead.
@Satoshi Can you get an XML capture from your client?
Prosody should be setting the "333" status code. This is different from a normal kick, and your client should interpret and display it accordingly. If the code is there, you may need to contact your client developers and ask them to show this correctly.