|Summary:||Terminate calls correctly|
|Product:||Telepathy||Reporter:||Simon McVittie <smcv>|
|Component:||fargo||Assignee:||Simon McVittie <smcv>|
|Status:||RESOLVED FIXED||QA Contact:||David Laban <david.laban>|
|Whiteboard:||milestone4.7 est=10h done=7h|
|i915 platform:||i915 features:|
|Bug Depends on:||26413|
Description Simon McVittie 2010-01-27 11:00:27 UTC
Fargo currently always uses <general-error/> as the reason for session-terminate. Estimate: 3h?
Comment 1 Simon McVittie 2010-02-16 08:13:28 UTC
smcv/errors has somewhat poor coverage but should address this. http://git.collabora.co.uk/?p=user/smcv/telepathy-fargo.git;a=shortlog;h=refs/heads/errors
Comment 2 Simon McVittie 2010-02-16 08:15:00 UTC
estimate 3h -> 8h including better coverage, 7h done already
Comment 3 Simon McVittie 2010-02-16 08:21:59 UTC
estimate -> 10h; actually, we need to terminate calls via the Telepathy Group API to get this right. At the moment Fargo-Fargo loopback will always get <media-error/>, because we terminate the call by calling Error() on a media stream.
Comment 4 Simon McVittie 2010-02-16 10:43:12 UTC
A longer errors branch now covers more cases.
Comment 5 David Laban 2010-02-17 08:27:58 UTC
http://git.collabora.co.uk/?p=user/smcv/telepathy-fargo.git;a=commitdiff;h=4d7aa7365180e5871751a48543bf218e987d30b5 -- very magical, but I guess weakref related stuff always is. Should __changed_cb() call cancel() in most cases, so we don't end up with _name_owner_watches floating about if one person signs in and then makes a load of calls without logging out. Other than that, everything seems fine.
Comment 6 Simon McVittie 2010-02-17 11:46:42 UTC
(In reply to comment #5) > http://git.collabora.co.uk/?p=user/smcv/telepathy-fargo.git;a=commitdiff;h=4d7aa7365180e5871751a48543bf218e987d30b5 > > Should __changed_cb() call cancel() in most cases Well spotted. If the name is unique and the new owner is empty, then __changed_cb() should cancel the watch, since the same unique name will never come back (that's the point). However, if the name is well-known, it shouldn't, since the owner could come back (although Fargo never hits this case).