When a file transfer is stopped unexpectedly (e.g., forcefully stopping the app or losing connection), the app should automatically clear any partially transferred content and either retry the transfer or notify the user of the failure. If the transfer fails completely, the content should be discarded to avoid incomplete or corrupt files being saved.
Current behavior
Currently, if a transfer is stopped mid-process, the partially transferred file may remain on the receiverās device without any indication that the transfer failed. This can result in incomplete files being stored, causing confusion for the user or even leading to data corruption.
Steps to reproduce
Start a file transfer from one device (preferably the senderās end).
While the transfer is in progress, forcefully stop the process (e.g., close the app or disconnect the device).
Check the receiverās device to see if any partial content is stored.
Restart the app and attempt to resume or handle the incomplete transfer.
Possible Solution
Clear Partial Content: On transfer failure (whether due to disconnection or forceful closure), ensure that any incomplete files on the receiver's side are automatically deleted.
Error Handling and Retry Logic: Implement error handling to detect when the transfer has been interrupted. Notify the user that the transfer failed and give the option to retry the transfer. The app should not save any incomplete content in case of failure.
Progress Checkpointing: If implementing resuming functionality is required, you can store checkpoints of the progress and resume from where the transfer left off. However, this must be tied to a proper validation step to ensure file integrity (e.g., hash digest comparison).
Timeouts and Feedback: Add timeouts for detecting stalled transfers and provide visual or audible feedback to the user, explaining that the transfer has failed and clearing the content accordingly.
šBug-Report
Expected behavior
When a file transfer is stopped unexpectedly (e.g., forcefully stopping the app or losing connection), the app should automatically clear any partially transferred content and either retry the transfer or notify the user of the failure. If the transfer fails completely, the content should be discarded to avoid incomplete or corrupt files being saved.
Current behavior
Currently, if a transfer is stopped mid-process, the partially transferred file may remain on the receiverās device without any indication that the transfer failed. This can result in incomplete files being stored, causing confusion for the user or even leading to data corruption.
Steps to reproduce
Possible Solution
Clear Partial Content: On transfer failure (whether due to disconnection or forceful closure), ensure that any incomplete files on the receiver's side are automatically deleted.
Error Handling and Retry Logic: Implement error handling to detect when the transfer has been interrupted. Notify the user that the transfer failed and give the option to retry the transfer. The app should not save any incomplete content in case of failure.
Progress Checkpointing: If implementing resuming functionality is required, you can store checkpoints of the progress and resume from where the transfer left off. However, this must be tied to a proper validation step to ensure file integrity (e.g., hash digest comparison).
Timeouts and Feedback: Add timeouts for detecting stalled transfers and provide visual or audible feedback to the user, explaining that the transfer has failed and clearing the content accordingly.