[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