[Pidgin] #8319: Unable to rejoin MUC on network disconnect/reconnect.

Pidgin trac at pidgin.im
Tue Feb 3 11:40:01 EST 2009


#8319: Unable to rejoin MUC on network disconnect/reconnect.
---------------------------+------------------------------------------------
 Reporter:  drmessano      |           Owner:  darkrain42
     Type:  defect         |          Status:  new       
Milestone:                 |       Component:  XMPP      
  Version:  2.5.4          |      Resolution:            
 Keywords:  MUC reconnect  |   Launchpad_bug:            
---------------------------+------------------------------------------------

Comment(by deryni):

 The problem here is that Openfire is allowing multiple resources for the
 same bare jid to join a MUC room under the same room nickname (a recent
 MUC XEP feature, see the [http://xmpp.org/extensions/xep-0045.html#enter-
 conflict paragraph] just after the example stanza) and that pidgin was
 connecting with a server-assigned resource.

 As such, when pidgin was disconnected and then reconnected it got a new
 resource and joined the room under the old nickname. When Openfire finally
 noticed that the connection for the old resource was gone and sent
 unavailable presence for the room nick session for the old resource pidgin
 assumed that it was being told it had been kicked and so left the room.

 pidgin should certainly be checking the item attribute of the presence
 stanza before leaving a room, but item may not always be present.

 The questions now are:
  * Should Openfire be sending us unavailable presence for other of our own
 'sessions'?
  * Should Openfire be tagging presence for all of our 'sessions' with the
 110 code?
  * Should Openfire be tagging presence only for our specific 'session'
 with the 110 code?

 Without knowing what the spec says a server should be doing it is hard to
 make sure we fix this correctly.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/8319#comment:6>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list