[Bug 26866] Conn.I.Addressing etc. — requesting handles for a vCard field or URI

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Nov 16 23:25:08 CET 2011


https://bugs.freedesktop.org/show_bug.cgi?id=26866

Andre Moreira Magalhaes <andrunko at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |cgit.collabora.com/git/user
                   |                            |/andrunko/telepathy-gabble.
                   |                            |git/log/?h=conn-addressing

--- Comment #67 from Andre Moreira Magalhaes <andrunko at gmail.com> 2011-11-16 14:25:08 PST ---
(In reply to comment #63)
> (In reply to comment #62)
> > or is your proposal just "it's perfect, undraft it
> > as-is"?
> 
> It isn't. :-P
> 
> > Each contact's attributes will always include at least the identifier
> > that would be obtained by inspecting the handle
> > (org.freedesktop.Telepathy.Connection/contact-id), and the vCard field
> > used for requesting the contact in
> > org.freedesktop.Telepathy.Connection.Interface.ContactInfo/info.
> 
> This is old and wrong: the better version (as implemented in Andre's Gabble
> branch) is to say that the attributes will always include .../contact-id and
> .../requested-address. This is no longer anything to do with ContactInfo.
> 
> Similarly, when requesting by URI, you always get at least .../contact-id and
> ../requested-uri.
> 
> This representation is flawed, though: suppose I request two URIs (or two vCard
> fields) that resolve to the same contact:
> 
>     GetContactsByURI(["xmpp:simon.mcvittie at collabora.co.uk",
>                       "xmpp:simon.mcvittie at Collabora.CO.UK"], [])
> 
> The result is not useful:
> 
>     {
>         my handle => {
>             .../contact-id => "simon.mcvittie at collabora.co.uk",
>             .../requested-address => one of the things you asked for, randomly
>     }
> 
> ... you find out that one of the URIs (randomly chosen) is me, and you think
> the other was invalid, whereas in fact it was perfectly valid and also resolved
> as me.
> 
> The cleanest way to fix this (but I'm not sure how easy it is to implement in
> telepathy-glib) would be to throw away the .../requested-foo pseudo-attributes,
> and change the result to a{su}a{ua{sv}} like this:
> 
>     {
>         # thing you asked for => handle
>         # if you requested by vCard field, the single vCard field is omitted
>         # (you are expected to remember what you asked for)
>         "xmpp:simon.mcvittie at collabora.co.uk" => my handle,
>         "xmpp:simon.mcvittie at Collabora.CO.UK" => my handle,
>     },
>     {
>         my handle => { .../contact-id => ... }
>     }
> 
> The next best thing would be to make requested-addresses and requested-uris
> into arrays so they can express this sort of thing, as a list of more than one
> requested string.
Changes in the spec done and implemented in my gabble repo. I will update the
spec with the changes once we are done here.
URL updated pointing to the branch implementing this.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.



More information about the telepathy-bugs mailing list