#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