#2412 BLOC First D: Buddies not disappearing even when connection does

Zarro Boogs per Child bugtracker at laptop.org
Wed Oct 24 11:30:11 EDT 2007


#2412: Buddies not disappearing even when connection does
-------------------------------+--------------------------------------------
  Reporter:  Zack              |       Owner:  smcv                  
      Type:  defect            |      Status:  new                   
  Priority:  blocker           |   Milestone:  First Deployment, V1.0
 Component:  presence-service  |     Version:                        
Resolution:                    |    Keywords:  collaboration         
  Verified:  0                 |  
-------------------------------+--------------------------------------------

Comment(by morgs):

 Replying to [comment:20 smcv]:
 > morgs, could you please check the Presence Service code? Don't
 necessarily fix anything right now (though that'd be good) but it'd be
 useful to know the status.
 >
 > - When connections signal that they have become disconnected via the
 Telepathy API, ensure that we remove the relevant handle from all buddies
 on that connection, causing them to emit BuddyDisappeared if they are not
 visible on any other connection

 Looks like we don't.

 > - When Gabble becomes disconnected, ensure that we bring Salut back up

 We do.

 > - When N-M reports a disconnection, do we forcibly close Gabble
 connections?

 We do self._conn[CONN_INTERFACE].Disconnect() (wrapped in an evil try:
 except: pass)

 > If the answer to the second point is "no", I'm not convinced we should.
 It's entirely possible that after a transient disconnection +
 reassociation we'd come back online with the same IP address and our
 connections would be unaffected, so perhaps instead of forcibly closing
 Telepathy connections when N-M says we went offline, we should set some
 arbitrary timer and forcibly close the connection when it expires, unless
 we've gone back online with the same address in the meantime.
 >
 > It probably makes sense to close Gabble connections immediately if our
 IP address changes from one non-empty value to another, though, since that
 means we lose continuity anyway.

 I agree - but we don't do anything currently in this case.

 > Salut has its own internal logic for presence advertisements (and hence
 buddies' presence) timing out (it uses the recommended mDNS TTLs) so it
 never makes sense to kill the Salut connection due to disconnection. It
 also makes sense to have Salut running even when we're not on any network
 - Avahi does the right thing in any case, and the Salut "connection" being
 "connected" just means Salut is talking to Avahi.

 AFAICT Salut always runs when gabble doesn't, assuming it can see avahi on
 the system bus. Only gabble starting stops salut.

-- 
Ticket URL: <https://dev.laptop.org/ticket/2412#comment:21>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list