[Pidgin] #9874: XMPP priority changes not obeyed for pre-existing conversation windows

Pidgin trac at pidgin.im
Sun Aug 9 13:28:29 EDT 2009


#9874: XMPP priority changes not obeyed for pre-existing conversation windows
--------------------+-------------------------------------------------------
 Reporter:  rafi    |        Owner:  deryni
     Type:  defect  |       Status:  new   
Milestone:          |    Component:  XMPP  
  Version:  2.5.8   |   Resolution:        
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by darkrain42):

 Automatically always picking the most available resource would mean that
 there's no way to have a conversation with a resource that *isn't* the
 highest priority, which is bad because there's always the possibility that
 there are multiple "most available" resources (i.e. multiple clients with
 the same priority).

 Pidgin's current behavior, as I understand it, is this:
   * Initial messages are sent to the bare JID. Messages are sent to a bare
 JID until a response message is received.
   * Once a response is received from a specific resource (this includes
 typing notifications, I believe), further messages are sent to that
 specific resource.
   * If that specific resource goes offline, the next message is sent to
 the bare JID.
   * If we receive a message from a specific resource, further messages go
 to that resource.

 The obvious deficiency in this is that there's no easy way to send a
 message to a specific resource (which is something we know about and want
 to fix, but don't have a good solution for at the moment. My personal goal
 is to manage to get them added to the "Send To" window in the same way
 multiple buddies are selectable in a metacontact). One way to work around
 this to close the conversation tab, ensure you have
 Tools->Preferences->"Close IMs immediately when the tab is closed"
 checked, and enter a full JID in the Buddies->New Instant Message dialog.
 The message will then be directed to that resource initially.

 Routing messages directly to a specific resource is indeed valid behavior,
 and I'm not sure we can always rely on the remote server to route to the
 "right" resource (ignoring the use case where one is conversing with a
 not-highest resource) in the situation where there are two resources with
 the same highest priority, as the server is free to pick the "wrong"
 resource in that case (the XMPP specs leave it up to the implementation to
 decide which resource to route the message to (or all)).

 I do think the situation you describe where another resource becomes more
 available but messages are still routed to the now-less-available resource
 is valid, but I'm unsure how to address it without adversely impacting
 other use-cases.

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


More information about the Tracker mailing list