Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

file channel for upload/download from server #494

Closed
totaam opened this issue Jan 12, 2014 · 5 comments
Closed

file channel for upload/download from server #494

totaam opened this issue Jan 12, 2014 · 5 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Jan 12, 2014

Sometimes I miss the ability to easily exchange files between the xpra client and its server.
After all, we already have an authenticated connection and a GUI, why would I need to open an ssh channel (which may not be possible) to transfer more data than I can fit on a clipboard.

This could have other uses beyond simple file exchange: printing and configuration come to mind.

Wishlist:

  • both upload and download - both configurable, and probably disabled by default
  • client may have the option of showing a dialog to accept files before starting the transfer (and choose download location?)
  • API for sending a bunch of files together with ACK packets
  • send each file with its mimetype only, and maybe a named icon / icon data? (which should be cached)
  • each file needs to be chunked so we can interleave regular xpra traffic
  • ability to cancel transfers in progress
  • xpra control interface for sending from server
  • xpra tray UI for sending from client
    etc.
@totaam
Copy link
Collaborator Author

totaam commented Nov 9, 2015

Most of this code was already available in 0.15 for supporting Printing, see #598.
More updates in 0.16: see r11157. (some of these fixes will need to be backported)

Added a new documentation page: Printing

@afarr FYI: you can now easily upload files to the server using the new tray menu entry "file upload".
And if the configuration option open-files is enabled, also open them in one go as the file selection dialog should then include an "open" option as well as "ok".

The remaining tasks of this ticket have been moved to #1026. Unless anything is badly broken, please close and add to #1026.

@totaam
Copy link
Collaborator Author

totaam commented Nov 10, 2015

2015-11-10 21:54:10: maxmylyn commented


Tested Win8.1, Fedora 20, and OSX clients:

  • All is working as expected...except if I attempt to send a large file, the client closes with an error(?) - Will leave comment in file transfer improvements #1026.

Closing.

@totaam
Copy link
Collaborator Author

totaam commented Nov 11, 2015

Moving comment originally recorded in #1026: this needs to be fixed for this release (kicking clients is not good!).

attempted to upload a 7MB PNG image (random 1440p screenshot), server kicked my client with the following error: server requested disconnect: packet size requested is 4990193 but maximum allowed is 1048576

This should be fixed in r11179. (forgot to bump the max-packet-size limit in the client-to-server direction when file transfers are enabled).

We do not show an alert message for now, a warning is logged to the client output (usually also mirrored in the server log).


I also suspect people will want file size limits with regards to uploads.

We already have those limits in the config file, see file transfers documentation.

@maxmylyn: please close unless you can break it again.

@totaam
Copy link
Collaborator Author

totaam commented Nov 11, 2015

2015-11-11 22:11:37: afarr commented


Re-tested with windows client 0.16.0 r11185 against a fedora 21 0.16.0 r11185 server.

I uploaded a 7 MB screenshot to the server with no problem.

  • Server gave notification:
2015-11-11 13:42:31,098 downloaded 7688761 bytes to unknown file:
2015-11-11 13:42:31,099  /home/tlaloc/Downloads/ginormous-professor-elemental-screenshot.PNG
  • Client gave what I assume is an unrelated warning:
C:\Program Files (x86)\Xpra\library.zip\xpra\client\gtk_base\gtk_client_base.py:160: GtkWarning: Could not find the icon 'gtk-file'. The 'hicolor' theme was not found either, perhaps you need to install it.
You can get a copy from:
        http://icon-theme.freedesktop.org/releases

Then went crazy and tried to upload a 38 MB file (without bothering to change config). Client balked with the presumably expected message:

2015-11-11 13:44:26,737 Warning: cannot upload the file 'blah-blah-blah'
2015-11-11 13:44:26,737  this file is too large: 38MB
Traceback (most recent call last):
  File "logging\__init__.pyc", line 859, in emit
  File "logging\__init__.pyc", line 732, in format
  File "logging\__init__.pyc", line 471, in format
  File "logging\__init__.pyc", line 335, in getMessage
TypeError: %d format: a number is required, not XpraClient
Logged from file log.pyc, line 100

This didn't cause any client disconnection though.

Since I'm not sure the Traceback here is expected though, I'll pass this back to you, rather than trying to close it again.

@totaam
Copy link
Collaborator Author

totaam commented Nov 12, 2015

Client gave what I assume is an unrelated warning:

It is related, added: #1026 comment:2

Since I'm not sure the Traceback here is expected though

It was not, fixed in r11193.

Closing, will follow up in #1026 for the next release. See also #1493.

See Wiki: File Transfers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant