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
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 ?
How is this new property different from ChannelBundle ?
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?”.
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.
telepathy-gabble in "not the spec" shock. I'll clone this bug for the Gabble bits.
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 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.
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
Created attachment 88484 [details] [review] [gabble master 1/5] Require telepathy-glib 0.23
Created attachment 88485 [details] [review] [gabble master 2/5] Update Python tools from telepathy-glib (avoid deprecations, etc.)
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.
Created attachment 88487 [details] [review] [gabble master 4/5] Use telepathy-glib for FileTransfer.FileCollection
Created attachment 88488 [details] [review] [gabble master 5/5] Use telepathy-glib for Sidecars1
Comment on attachment 88484 [details] [review] [gabble master 1/5] Require telepathy-glib 0.23 Review of attachment 88484 [details] [review]: ----------------------------------------------------------------- ++
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 on attachment 88486 [details] [review] [gabble master 3/5] Use non-deprecated GValueArray functions Review of attachment 88486 [details] [review]: ----------------------------------------------------------------- ++
Comment on attachment 88487 [details] [review] [gabble master 4/5] Use telepathy-glib for FileTransfer.FileCollection Review of attachment 88487 [details] [review]: ----------------------------------------------------------------- ++
Comment on attachment 88488 [details] [review] [gabble master 5/5] Use telepathy-glib for Sidecars1 Review of attachment 88488 [details] [review]: ----------------------------------------------------------------- ++
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.