Fargo currently always uses <general-error/> as the reason for session-terminate.
smcv/errors has somewhat poor coverage but should address this.
estimate 3h -> 8h including better coverage, 7h done already
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.
A longer errors branch now covers more cases.
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.
(In reply to comment #5)
> 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).