GNOME Bugzilla – Bug 462172
Add file transfer
Last modified: 2008-11-21 16:25:48 UTC
Empathy does not support file transfer.
Created attachment 92803 [details] [review] File transfer patch - The file transfer spec is not yet in libtelepathy, so the needed stuff is in the extensions dir. - The "Send File..." menu item is always displayed (how can I know if a user can receive files?) - EmpathyTpFT knows of EmpathyFT and EmpathyFT knows of EmpathyTpFT. I don't like this but doing it in a different way would add other problems. - There is a known bug when you try to transfer more files using the same telepathy file transfer channel, I will fix it ASAP - The API is not documented, I'm going to add documentation in the next days. - The file transfer icon is only 16x16
Created attachment 92804 [details] The file transfer icon, put it in data/16x16/
What is the status on this please?
Created attachment 97553 [details] Add file transfer to Empathy Remaining things to do: - Replace gnome-vfs with gio - Use GFile and G(Input|Output)Streams in the public API instead of just the uri - Remove the extensions dir when the FT spec is approved - Do not do stupid things when the FT manager dialog is closed
Created attachment 97554 [details] Icons
Can't wait for this feature to go in. In the meantime: The icon you attached is now in gnome-icon-theme (I think it is in 2.20 even) as document-send, so you can use it from there.
Created attachment 97923 [details] Add file transfer to Empathy Changes wrt the previous patch: - Replace completely gnome-vfs with gio in libempathy - Add empathy_send_file_from_stream() that accepts a GInputStream - Hide the file transfer window instead of destroying it when the close button is pressed - Fix a bug with duplicate file transfers - Use document-send instead of an internal copy of that icon - Fix other small issues Remaining things to do: - Remove the extensions dir (depends on libtp) - Use the capabilities interface instead of a hack in empathy_contact_can_send_files() (depends on tp-salut) I'm not completely satisfied with empathy_send_file_from_stream() because it's impossible to pass additional parameters to OfferFile() using it. OTOH I don't want to add a GHashTable<gchar *, GValue *> argument to empathy_send_file_from_stream() because it's ugly.
Great, thanks! I'll try to start reviewing next week.
Created attachment 98476 [details] Add file transfer to Empathy Some minor changes and bug fixes. Note that to test file transfer you need the file transfer branch of telepathy-salut: http://techn.ocracy.org/darcs/telepathy-salut/
is there a chance we might get file transfer in empathy this by the end of this year? :)
The code is now available in fileTransfer branch of barisione's git repository: git://git.collabora.co.uk/git/user/bari/empathy.git I think there is no chance to get it merged in trunk before 2008 ;-)
Now tp-glib provides client code, I guess it would be good for the FT branch to use it instead of libtelepathy.
We have to wait new FT spec before considering a merge.
Spec bug report: https://bugs.freedesktop.org/show_bug.cgi?id=15451
Work restarted: Spec: http://monkey.collabora.co.uk/tp-spec-jonny-filetransfer/ Salut: http://monkey.collabora.co.uk/tp-salut-jonny-filetransfer/ Empathy: http://git.collabora.co.uk/?p=user/jonny/empathy.git;a=shortlog;h=refs/heads/file-transfer
I branched Jonny's branch, updated it to latest spec draft and modified it to use the requestotron: http://monkey.collabora.co.uk/empathy.git_file-transfer/
All review complaints should have been fixed in this branch: http://monkey.collabora.co.uk/empathy.git_file-transfer/
Review of latest commits of http://git.collabora.co.uk/?p=user/xclaesse/empathy.git;a=shortlog;h=refs/heads/file-transfer 7ff3e154bf9bd8a96b5958f56610ff44597d3669 Are we sure that we'll never have first_line != NULL && second_line == NULL? If not, we should just display the first line. 8213838bd8bbefb178867b66024d46ed165f0bd3 + * Keep @tp_file alive until the file transfer is COMPLETED or CANCELLED, by Seems a '@' is missing here. Some explanations about the rational of the keep-alive would be good.
DONE!!!!!!! The file transfer branch is now merged in trunk! Thanks to all contributors. That branch was started by Marco Barisione for the Google Summer of Code 2007. Jonny Lamb continued, followed by Guillaume Desmottes and finally I did the final review and fixes. Thanks to Collabora for the sponsorship :D