[Pidgin] #8167: jabber_buddy_find_resource uses resource priorities inappropriately

Pidgin trac at pidgin.im
Sun Jan 18 22:04:49 EST 2009


#8167: jabber_buddy_find_resource uses resource priorities inappropriately
--------------------+-------------------------------------------------------
 Reporter:  fqueze  |        Owner:  deryni
     Type:  patch   |       Status:  new   
Milestone:          |    Component:  XMPP  
  Version:  2.5.4   |   Resolution:        
 Keywords:          |  
--------------------+-------------------------------------------------------

Comment(by darkrain42):

 The XMPP prpl doesn't actually track unavailable presences (the `jbr` is
 removed when an unavailable presence is sent to us), so the situation you
 describe should never occur currently (though it certainly would be a
 problem if the prpl did track them). I'm also not entirely sure, but I
 suspect a `priority` attribute on an unavailable resource would be
 considered bogus (I certainly can't see how it would be useful at all).

 With regard to the ordering of resources, my reading of the spec (in
 particular [http://xmpp.org/internet-drafts/draft-saintandre-
 rfc3921bis-07.html#rules-barejid-resource-message 3921bis-07 8.3.1.1] with
 the caveat that it talks about servers) is that priority is the first
 determiner of delivery resource, with ties being determined by the server
 (Google Talk delivers to all resources of highest priority; I believe
 ejabberd does something akin to what Pidgin does, but I don't know/haven't
 tested). Also, since it might be a source of confusion, I believe when the
 standard refers to 'available resource', it means a resource that is
 online (i.e. not unavailable), but it says nothing of the value of the
 <show> element.

 That bis section refers to server rules for priority, but I think they
 should be applied to the client in this case too, since should be applied
 relatively equivalently to the display in the Buddy List (the resource
 whose status is set in the core stems from this function) because that
 status reflects the resource to whom a message sent to the bare JID will
 be delivered (and otherwise interact).

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


More information about the Tracker mailing list