[Pidgin] #2266: Can't reenter XMPP (Jabber) MUC chat rooms that rewrite room nicknames

Pidgin trac at pidgin.im
Wed Jul 25 03:55:54 EDT 2007


#2266: Can't reenter XMPP (Jabber) MUC chat rooms that rewrite room nicknames
------------------------+---------------------------------------------------
 Reporter:  bibliochat  |       Type:  patch
   Status:  new         |   Priority:  minor
Component:  libpurple   |    Version:  2.0.2
 Keywords:              |    Pending:  0    
------------------------+---------------------------------------------------
 Pidgin 2.0.2 does not allow reentry into an XMPP (Jabber) MUC chat room if
 that chat room rewrote the user's room-nickname.  Because Pidgin does not
 know that its room nick was rewritten, it will not recognize the
 'unavailable' presence stanza received upon leaving the room, and
 therefore will not invoke {{{jabber_chat_destroy()}}}.  Because the client
 retains the chat in {{{js->chats}}}, it will never attempt to reenter the
 room until the client is restarted.

 XEP-0045: Multi-User Chat, ''7.1.3 Presence Broadcast'', states, "The
 service MAY rewrite the new occupant's roomnick (e.g., if roomnicks are
 locked down). If the service does not accept the new occupant's requested
 roomnick but instead assigns a new roomnick, it MUST include a status code
 of "210" in the presence broadcast that it sends to the new occupant."

 Pidgin 2.0.2 ignores any received "210" status code.

 The attached patch modifies {{{jabber_presence_parse()}}} to handle this
 status code.  If encountered, the patch frees the chat's current handle,
 and then assigns to the chat a handle which is a copy of the received
 {{{jid->resource}}}.

 With this patch applied, Pidgin properly handles the 'unavailable'
 presence stanza received upon leaving the room.  Room reentry then
 functions properly.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/2266>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list