[Bug 24939] Interface for upgrading chats/calls to multi-user

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Nov 18 17:20:33 CET 2009


http://bugs.freedesktop.org/show_bug.cgi?id=24939





--- Comment #12 from Simon McVittie <simon.mcvittie at collabora.co.uk>  2009-11-18 08:20:33 PST ---
(In reply to comment #11)
> Consider a slightly semantically different use case: adding a user (with or
> without previous history of communication and the respective channel) to an
> existing chat, thus turning it into a conference. This matches Skype semantics
> better.

I think the way to do that in a UI that only has one channel right now would be
to treat it like M1 with a single channel, then invite the other people.

(This would fail on connection managers that don't have SupportsNonMerges (bad
name, needs improvement) in the requestable channel class for conferences, but
I'm not aware of any Text protocol where this would actually matter. If you
wanted to support this for some reason, then you'd have to switch between M1
and M4 behaviour based on that capability.)

M4: inviting users without channels to an existing chat

    Let C1 be a Text channel with
    TargetHandleType = CONTACT, whose TargetID is J1. Let J2, J3, ... be
    some other MSN identifiers (Passports).

    First:

    CreateChannel({     # this is the same method call as for X3
        ...Channel.ChannelType: Channel.Type.Text,
        ...Channel.Interface.Conference.InitialChannels: [C1],
        })
    returns a channel with type Text, TargetHandleType = NONE,
    into which the contact J1 has been forcibly

    Behind the scenes, the channel has "stolen" the switchboard
    from C1.

    Second:

    Group.AddMembers([J2, J3, ...], "") on the new channel

    J2, J3, ... are forcibly added [citation needed]

X6: inviting users without channels to an existing chat

    Same situation as M4, for XMPP (so J1, ... are JIDs).

    First:

    CreateChannel({     # this is the same method call as for X3
        ...Channel.ChannelType: Channel.Type.Text,
        ...Channel.Interface.Conference.InitialChannels: [C1],
        })
    returns a channel with type Text, TargetHandleType = NONE,
    into which the contact J1 has been invited with a <continue/>
    element referencing C1

    Second:

    Group.AddMembers([J2, J3, ...], "") on the new channel

    J2, J3, ... are invited in the usual way.


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



More information about the telepathy-bugs mailing list