There are occasions where a file show to be completely sent by the originator, while the recipient's Spark displays:
The file transfer was cancelled
However, the file seems to have been transferred (or at least is partially transferred).
I can reproduce this with one file only, but it does not feel to be a consistent.
The file in question differs from other files in that it is a binary data file.
Linux's file command reports this:
openssl enc'd data with salted password
My suspicion is that this is caused by a bug in Smack, that considers a stream from being processed if in a last pass, it processed 0 bytes. EOF signalling depends on a -1 to be returned, not 0. This might cause certain files (perhaps those including some degree of multi-byte characters?) to not be read properly.
I have provided a fix for Smack in https://github.com/igniterealtime/Smack/pull/444
Another potential cause for this problem is an inconsistency in Smack that causes a scenario where less bytes than expected are transferred to be flagged as an error.
A fix for this problem is provided in