After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 462172 - Add file transfer
Add file transfer
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: File Transfer
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
Depends on:
Blocks: 353389
 
 
Reported: 2007-07-31 15:24 UTC by Marco Barisione
Modified: 2008-11-21 16:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
File transfer patch (136.12 KB, patch)
2007-07-31 15:26 UTC, Marco Barisione
needs-work Details | Review
The file transfer icon, put it in data/16x16/ (539 bytes, image/png)
2007-07-31 15:30 UTC, Marco Barisione
  Details
Add file transfer to Empathy (35.41 KB, application/x-gzip)
2007-10-21 14:20 UTC, Marco Barisione
  Details
Icons (5.96 KB, application/x-gzip)
2007-10-21 14:29 UTC, Marco Barisione
  Details
Add file transfer to Empathy (35.44 KB, application/x-gzip)
2007-10-26 14:48 UTC, Marco Barisione
  Details
Add file transfer to Empathy (34.88 KB, application/x-gzip)
2007-11-03 19:53 UTC, Marco Barisione
  Details

Description Marco Barisione 2007-07-31 15:24:49 UTC
Empathy does not support file transfer.
Comment 1 Marco Barisione 2007-07-31 15:26:00 UTC
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
Comment 2 Marco Barisione 2007-07-31 15:30:00 UTC
Created attachment 92804 [details]
The file transfer icon, put it in  data/16x16/
Comment 3 Jean-François Fortin Tam 2007-09-23 05:51:57 UTC
What is the status on this please?
Comment 4 Marco Barisione 2007-10-21 14:20:02 UTC
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
Comment 5 Marco Barisione 2007-10-21 14:29:31 UTC
Created attachment 97554 [details]
Icons
Comment 6 Michael Monreal 2007-10-24 23:36:25 UTC
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.
Comment 7 Marco Barisione 2007-10-26 14:48:34 UTC
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.
Comment 8 Xavier Claessens 2007-10-28 11:39:12 UTC
Great, thanks!

I'll try to start reviewing next week.
Comment 9 Marco Barisione 2007-11-03 19:53:00 UTC
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/
Comment 10 Björn Martensen 2007-12-10 20:55:45 UTC
is there a chance we might get file transfer in empathy this by the end of this year? :)
Comment 11 Xavier Claessens 2007-12-29 16:55:29 UTC
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 ;-)
Comment 12 Guillaume Desmottes 2008-02-06 13:30:03 UTC
Now tp-glib provides client code, I guess it would be good for the FT branch to use it instead of libtelepathy.
Comment 13 Guillaume Desmottes 2008-04-09 10:58:33 UTC
We have to wait new FT spec before considering a merge.
Comment 14 Guillaume Desmottes 2008-04-11 14:37:40 UTC
Spec bug report: https://bugs.freedesktop.org/show_bug.cgi?id=15451
Comment 16 Guillaume Desmottes 2008-11-03 17:29:41 UTC
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/
Comment 17 Guillaume Desmottes 2008-11-12 15:03:16 UTC
All review complaints should have been fixed in this branch: http://monkey.collabora.co.uk/empathy.git_file-transfer/
Comment 18 Guillaume Desmottes 2008-11-21 10:45:07 UTC
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.
Comment 19 Xavier Claessens 2008-11-21 16:25:48 UTC
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