Disabled send message field in a conference room when joining with alternative nickname
Steps to reproduce
-
Try joining a conference with a nickname that is registered (and acutally already there). You should get a proposed alternative nickname to confirm/change.
-
Confirm/change it. You should be now joining the room... and able to type messages.
Error
After the second step the send message field is disabled.
I Tried it several times
XML console
Unsuccessful join (as 'pavlix')
\<presence to="jdev@conference.jabber.org/pavlix" id="478">
\<x xmlns="vcard-temp:x:update">
\<photo />
\</x>
\<c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org/caps" ext="cstates" ver="0.11.2" />
\<x xmlns="http://jabber.org/protocol/muc" />
\</presence>
\<presence from='jdev@conference.jabber.org/pavlix' to='pavlix@jabbim.cz/Gajim' type='error' id='478'>
\<x xmlns='vcard-temp:x:update'>
\<photo/>
\</x>
\<c xmlns='http://jabber.org/protocol/caps' node='http://gajim.org/caps' ext='cstates' ver='0.11.2'/>
\<x xmlns='http://jabber.org/protocol/muc'/>
\<error code='409' type='cancel'>
\<conflict xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
\<text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Nickname is registered by another person\</text>
\</error>
\</presence>
Joining as 'xpavlix', instead of 'pavlix', that is registered and already in the room)
\<presence to="jdev@conference.jabber.org/xpavlix" id="479">
\<x xmlns="vcard-temp:x:update">
\<photo />
\</x>
\<c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org/caps" ext="cstates" ver="0.11.2" />
\<x xmlns="http://jabber.org/protocol/muc" />
\</presence>
I get all the presences from the room, including my own:
\<presence from='jdev@conference.jabber.org/xpavlix' to='pavlix@jabbim.cz/Gajim' id='479'>
\<x xmlns='vcard-temp:x:update'>
\<photo/>
\</x>
\<c xmlns='http://jabber.org/protocol/caps' node='http://gajim.org/caps' ext='cstates' ver='0.11.2'/>
\<x xmlns='http://jabber.org/protocol/muc#user'>
\<item affiliation='none' role='participant'/>
\</x>
\</presence>
Leaving the room
\<presence to="jdev@conference.jabber.org/pavlix" type="unavailable" id="488">
\<status>offline\</status>
\</presence>
This looks incorrect to me!!! I should really be sending ot to 'xpavlix', not 'pavlix'.
But anyway, it proceeds, somehow:
\<presence from='jdev@conference.jabber.org/xpavlix' to='pavlix@jabbim.cz/Gajim' type='unavailable' id='488'>
\<status>offline\</status>
\<x xmlns='http://jabber.org/protocol/muc#user'>
\<item affiliation='none' role='none'/>
\</x>
\</presence>
My best guess is that Gajim remembers the original nickname instead of the new (alternative) one.