#3338 NORM Untriag: On Salut, when you join an activity, everyone else appears to leave and rejoin
Zarro Boogs per Child
bugtracker at laptop.org
Tue Sep 11 13:45:44 EDT 2007
#3338: On Salut, when you join an activity, everyone else appears to leave and
rejoin
-----------------------------+----------------------------------------------
Reporter: smcv | Owner: sjoerd
Type: defect | Status: new
Priority: normal | Milestone: Untriaged
Component: telepathy-salut | Version:
Keywords: | Verified: 0
-----------------------------+----------------------------------------------
Test case: Join a channel in which there is another user. Salut emits a
MembersChanged signal with added = [your handle] and removed =
local_pending = remote_pending = []. It then emits a second MembersChanged
signal with added = [the other user], removed = local_pending =
remote_pending = [].
It should keep the self-handle in the remote-pending set, and not add it
to the members set, until it's reasonably confident that the join has
finished, and in particular, that it has a complete list of room members.
I don't know whether this is feasible in the new or revised Salut
protocol, but it should be a design goal.
This is because UIs (and Presence Service) have no way to know when the
room is in a consistent state, except waiting for the self-handle to join
the members set - I believe we should document this in the spec as the
"right" way to spot a consistent state.
This is most noticeable as follows:
* Alice advertises a Chat activity in her mDNS records
* Bob joins the Chat activity
* Bob's Presence Service sees that the room only contains Bob himself
(i.e. it receives the first signal, or calls GetAllMembers in between the
two signals)
* Bob's PS does a "cut-over" from believing mDNS to believing the members
list, observes that Alice is in the room according to the former but not
the latter, and emits BuddyLeft for Alice leaving the activity
* Bob's Chat UI logs "Alice left the activity"
* Bob's Presence Service receives the second signal, which says that Alice
was added to the activity's members set, and emits BuddyJoined for Alice
joining the activity
* Bob's Chat UI logs "Alice joined the activity"
This affects all activities, but Chat is the only one with a "log"-like UI
that makes it obvious - in other activities it'd just be shown as
something like the Alice icon disappearing and reappearing.
--
Ticket URL: <https://dev.laptop.org/ticket/3338>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system
More information about the Bugs
mailing list