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

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Nov 13 19:36:59 CET 2009


--- Comment #2 from Simon McVittie <simon.mcvittie at collabora.co.uk>  2009-11-13 10:36:59 PST ---
The XMPP mechanism referred to in the initial bug report is
XEP-0045 §7.6, "Converting a One-to-One Chat Into a Multi-User
Conference" <http://xmpp.org/extensions/xep-0045.html#continue>.
This works as follows:

* Two users, Alice and Bob, are chatting via 1-1 messages (Telepathy
  models this with a Channel, but in the underlying protocol, each message
  stands alone).
* Bob joins a new chatroom, automatically triggering its creation.
* Bob sends chatroom invitations to Alice and Chris, each containing a
  reference to the previous conversation with Alice. This reference can
  either be the thread ID of that conversation, or just "<continue/>" as
  an implicit indicator of "whatever conversation we were having".

I think it's fairly clear that the only reasonable representation for this
from Alice's point of view is something like:

* there is a 1-1 Channel (call it C1), with TargetHandleType = CONTACT,
  TargetHandle = Bob
* a new Channel, C2, appears, with TargetHandleType = ROOM
* C2 has some property that identifies it as a continuation of C1
* if Alice ignores C2 and sends a message to C1, that message is sent
  1-1 to Bob
* C1 probably shouldn't close? (tbd)

and from Bob's point of view:

* there is a 1-1 Channel C3 with TargetHandleType = CONTACT,
  TargetHandle = Alice
* Bob uses some yet-to-be-defined API to make a new Channel, C4, with
  himself in it, and invite Alice and Chris to that Channel
* C4 has TargetHandleType = ROOM, and the same property as C2 to
  identify it as a continuation of C3
* C3 might automatically close? (tbd)
* if Alice ignores the room and sends a 1-1 message to Bob, that message
  turns up in C3 (if it still exists) or in a new 1-1 channel C5 (otherwise)

Rob points out that for atomicity, the new channel (C2/C4) has to
have a property saying "I am a continuation of (C1/C3)", as opposed to
having the old channel (C1/C3) emit a signal "I've been replaced by (C2/C4)".

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