Bug 21748 - telepathy-gabble sets the wrong status change reason when cancelling a transfer
Summary: telepathy-gabble sets the wrong status change reason when cancelling a transfer
Status: NEW
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-15 03:43 UTC by Cosimo Cecchi
Modified: 2009-05-15 04:48 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cosimo Cecchi 2009-05-15 03:43:33 UTC
See http://bugzilla.gnome.org/show_bug.cgi?id=576405#c4 for reference.
Comment 1 Guillaume Desmottes 2009-05-15 04:48:58 UTC
As said on IRC we can't know when the remote peer cancel the FT:
<cassidy> problem is, the SI FT XEP doesn't have any protocol to tell that you are cancelling the FT
<cassidy> so the the only way is to close the bytestream
<cassidy> but we can't distinguish if it has been closed because of an error or because cancelling

Remaining problem is when the receiver close the channel and the state reason is set to ERROR instead of CANCEL. I think Gabble's code is right. According to my test, Empathy close the local socket (the once used to receive the file) and then call Close() on the FT channel.
But when Gabble detects that the local socket has been broken, he changes the state to LOCAL_ERROR (as something did wrong on our side). A possible fix would be in Empathy to wait that Close() returned before closing the socket.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.