Xpra: Ticket #1026: file transfer improvements

Split from #494, remaining tasks:

Tue, 10 Nov 2015 22:04:44 GMT - J. Max Mena:

Edit: comment about a file too big error moved to ticket:494#comment:6

We should probably also handle the file-too-big issue with an alert box?

Thu, 12 Nov 2015 04:55:16 GMT - Antoine Martin: status changed

Also from ticket:494#comment:8 : GtkWarning: Could not find the icon 'gtk-file'. The 'hicolor' theme was not found either, perhaps you need to install it Looks like we may need to tweak the win32 packaging to include or point to the (more complete?) theme.

Mon, 29 Feb 2016 05:14:18 GMT - Antoine Martin:

#1124 is a nicer, more generic solution to this problem.

Wed, 16 Mar 2016 05:24:48 GMT - Antoine Martin: milestone changed

Mon, 13 Jun 2016 06:13:48 GMT - Antoine Martin: attachment set

refactoring needed to add chunking code only in one place

Mon, 13 Jun 2016 13:15:00 GMT - Antoine Martin: attachment set

mostly complete patch, just needs cleaning up and cancelling the timers

Mon, 13 Jun 2016 15:45:33 GMT - Antoine Martin: owner, status changed

Done: preparatory refactoring in r12810 + r12812, actual chunking code in r12813.

The files are now sent in chunks. We wait for the file chunk ack packet before sending the next chunk, which helps to ensure that we don't use up all the bandwidth, though it does reduce the throughput (only 4MB/s on a powerfull system loopback).

New tunables which should be self-explanatory:


Here's what the transfer looks like with -d file for an ~80MB file upload to the server:

@afarr: ready for testing, you should now be able to send or print big files without causing much of a slow down for anything else. Logging was also improved, small bugs fixed along the way. (I may backport some)

Mon, 13 Jun 2016 21:25:14 GMT - J. Max Mena: owner changed

Did some testing of trunk r12814 file uploads (Fedora 23 both ends):

Of note:

The select file dialogue will hang for a solid second or two if you try to upload a large file

Tue, 14 Jun 2016 10:05:31 GMT - Antoine Martin: owner changed

r12815 closes the dialog more quickly and loads the file in the background as much as possible.

Tue, 12 Jul 2016 16:52:22 GMT - Antoine Martin: milestone changed

Milestone renamed

Thu, 29 Sep 2016 00:58:37 GMT - alas: owner changed

Tested with a 1.0 r13101 win32 client against a 1.0 r13902 fedora 23 server.

Dialog closes very quickly, whether I'm uploading a 4 kb file or a 68 MB file, or even if I'm uploading a 218 MB file... though there wasn't anything to let me know that the 218 MB file was too ambitious, until I noticed the client side warning:

2016-09-28 17:31:12,180 Warning: cannot upload the file 'sound-test-weekend-log.txt'
2016-09-28 17:31:12,180  this file is too large: 218MB
2016-09-28 17:31:12,181  the local file size limit is 100MB

The session wasn't in any way impacted while uploading a 68 MB file though... so, other than considering a popup to warn a user of overzealous ambitions, I think this is ready to close.

Thu, 29 Sep 2016 03:59:33 GMT - Antoine Martin: attachment set

new alert dialog

Thu, 29 Sep 2016 04:01:06 GMT - Antoine Martin: owner changed

Good point. Alert dialog added in r13903, looks like this: new alert dialog

We also check the file size sooner and avoid trying to load really big files into memory before showing the error.

Fri, 30 Sep 2016 22:15:54 GMT - J. Max Mena: status changed; resolution set

r13937 Trunk Windows 8.1 client against an r13937 Trunk Fedora 23 machine:

Not much else left here, closing.

Wed, 15 Nov 2017 12:04:04 GMT - Antoine Martin:

See also wiki: file transfers, wiki: drag and drop.

Sat, 23 Jan 2021 05:12:52 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1026