Bug 26609

Summary: No way to receive an offer for a batch of files
Product: Telepathy Reporter: Sjoerd Simons <sjoerd>
Component: tp-specAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: olivier.crete, youness.alaoui
Version: git masterKeywords: patch
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 27162    
Bug Blocks: 70382    
Attachments: [spec master] Add FileCollection to FileTransfer interface
[gabble master 1/5] Require telepathy-glib 0.23
[gabble master 2/5] Update Python tools from telepathy-glib (avoid deprecations, etc.)
[gabble master 3/5] Use non-deprecated GValueArray functions
[gabble master 4/5] Use telepathy-glib for FileTransfer.FileCollection
[gabble master 5/5] Use telepathy-glib for Sidecars1

Description Sjoerd Simons 2010-02-17 09:34:12 UTC
At least on GTalk and apparently also on iChat the user can send a set of files to a contact and that contact can then pick and choose which files to actually receive.

We discussed this among the telepathy spec cabal today. The suggested way of doing is is to define an extra property on FileTransfer channels (of type objectpath) which is an opaque (for now at least) token representing the collection of files it belongs to call FileCollection. The CM should emit all new FT channels belonging to one collection at the same time, UIs supporting this feature can then bundle all these channels together in some way and show a nice UI. UIs not supporting it will treat them as seperate transfers, which is not great but a reasonable fallback
Comment 1 Youness Alaoui 2010-02-17 11:26:00 UTC
Actually, on gtalk, you can't pick individual file transfers, it's supposed to be 'all or nothing'.. at least, from the official client's POV.. Should we have some additional property to specify this kind of behavior? something like 'accept/reject one, they all get accepted/rejected'?
The thing is that the UI would need to let the users choose a directory for the files bundle instead of a filename.. Gtalk always saves everything in "My documents\My Gtalk received files" (or similar), so it doesn't need to ask for a destination.
Although it's not really mandatory, I'd like to set up the gtalk compatible FT this way, as it will be less confusing for users (gtalk only shows one progressbar for all the files).

p.s: wouldn't using a ChannelBundle be the solution for this instead of the extra FileCollection property? or is a ChannelBundle meant for something different ?
Comment 2 Olivier Crête 2010-02-18 16:54:26 UTC
How is this new property different from ChannelBundle ?
Comment 3 Will Thompson 2010-02-19 03:20:28 UTC
This property is only different from ChannelBundle (which was never implemented) to avoid assuming that it will fix all of our problems, since the latter is always used as as handwave-y answer to “how can we deal with this hypothetical corner case?”.
Comment 4 Youness Alaoui 2010-03-17 16:06:12 UTC
Please review my branches : gtalk-ft, multift and share-tests from http://git.collabora.co.uk/?p=user/kakaroto/telepathy-gabble.git;a=summary
I am still working on some unit tests for the multi-ft feature, but the code is already reviewable.
Comment 5 Simon McVittie 2010-03-18 05:12:22 UTC
telepathy-gabble in "not the spec" shock. I'll clone this bug for the Gabble bits.
Comment 6 Simon McVittie 2013-10-11 16:35:33 UTC
Created attachment 87474 [details] [review]
[spec master] Add FileCollection to FileTransfer interface

The implementation in Gabble hasn't changed since 2010, so it's
de facto stable. We should either spec it or delete it.

---

Guillaume, Xavier: votes on spec vs. delete gratefully received.

Still to do: make Gabble implement this version, via telepathy-spec and telepathy-glib releases.
Comment 7 Guillaume Desmottes 2013-10-12 14:37:56 UTC
Comment on attachment 87474 [details] [review]
[spec master] Add FileCollection to FileTransfer interface

Review of attachment 87474 [details] [review]:
-----------------------------------------------------------------

++

I think it's fine merging it.
Comment 8 Simon McVittie 2013-10-14 17:03:57 UTC
Fixed in spec master. Still to do:

* release it in telepathy-glib
* make Gabble master use it

* merge to spec next
* release it in telepathy-glib
* make Gabble next use it
Comment 9 Simon McVittie 2013-11-01 15:50:30 UTC
Created attachment 88484 [details] [review]
[gabble master 1/5] Require telepathy-glib 0.23
Comment 10 Simon McVittie 2013-11-01 15:50:53 UTC
Created attachment 88485 [details] [review]
[gabble master 2/5] Update Python tools from telepathy-glib (avoid  deprecations, etc.)
Comment 11 Simon McVittie 2013-11-01 15:51:12 UTC
Created attachment 88486 [details] [review]
[gabble master 3/5] Use non-deprecated GValueArray functions

This works around GValueArray being deprecated in GLib, but still part
of dbus-glib-derived APIs.
Comment 12 Simon McVittie 2013-11-01 15:51:29 UTC
Created attachment 88487 [details] [review]
[gabble master 4/5] Use telepathy-glib for FileTransfer.FileCollection
Comment 13 Simon McVittie 2013-11-01 15:51:44 UTC
Created attachment 88488 [details] [review]
[gabble master 5/5] Use telepathy-glib for Sidecars1
Comment 14 Guillaume Desmottes 2013-11-04 07:59:12 UTC
Comment on attachment 88484 [details] [review]
[gabble master 1/5] Require telepathy-glib 0.23

Review of attachment 88484 [details] [review]:
-----------------------------------------------------------------

++
Comment 15 Guillaume Desmottes 2013-11-04 07:59:45 UTC
Comment on attachment 88485 [details] [review]
[gabble master 2/5] Update Python tools from telepathy-glib (avoid  deprecations, etc.)

Review of attachment 88485 [details] [review]:
-----------------------------------------------------------------

++
Comment 16 Guillaume Desmottes 2013-11-04 08:00:35 UTC
Comment on attachment 88486 [details] [review]
[gabble master 3/5] Use non-deprecated GValueArray functions

Review of attachment 88486 [details] [review]:
-----------------------------------------------------------------

++
Comment 17 Guillaume Desmottes 2013-11-04 08:01:26 UTC
Comment on attachment 88487 [details] [review]
[gabble master 4/5] Use telepathy-glib for FileTransfer.FileCollection

Review of attachment 88487 [details] [review]:
-----------------------------------------------------------------

++
Comment 18 Guillaume Desmottes 2013-11-04 08:02:03 UTC
Comment on attachment 88488 [details] [review]
[gabble master 5/5] Use telepathy-glib for Sidecars1

Review of attachment 88488 [details] [review]:
-----------------------------------------------------------------

++
Comment 19 Simon McVittie 2013-11-04 12:40:23 UTC
Finally undrafted in spec 0.27.3, telepathy-glib 0.23.0, and Gabble git master (for 0.19.0).

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.