[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
http://bugs.freedesktop.org/show_bug.cgi?id=24939
--- 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