GNOME Bugzilla – Bug 654237
Can't open conversation tabs from the contact list if the conversation is open in the shell
Last modified: 2011-07-11 12:43:54 UTC
+++ This bug was initially created as a clone of Bug #652439 +++ Preconditions: • have the very latest versions of MC, Empathy, and Gnome Shell Steps to reproduce: • Have a conversation window open in the Shell; • Find that contact in your Empathy contact list; • Double-click them. Expected results: • An Empathy conversation tab pops up. Actual results: • The Shell bubble pops up. Discussion: This is because the Shell is the handler of the channel. The contact list uses EnsureChannel; so MC just calls HandleChannels() on the current handler. A potential fix would be to include a hint with the channel request to say “delegate this please”; the Shell would look for that hint and, if present, delegate the channel to the PreferredHandler.
Created attachment 191515 [details] [review] Allow other clients to preempt the channels we are handling This is needed if we are handling an incoming text channel and then user tries to open a chat with the same contact using Empathy. In this case, the Shell should delegate the channel back to Empathy and just continue observing it as it does for usual outgoing channels. Depends on telepathy-glib 0.15.3 as tp_base_client_set_delegated_channels_callback() has been added in this version.
Review of attachment 191515 [details] [review]: Why should setting a callback with an empty function fix anything?
(In reply to comment #2) > Review of attachment 191515 [details] [review]: > > Why should setting a callback with an empty function fix anything? See http://telepathy.freedesktop.org/doc/telepathy-glib/telepathy-glib-base-client.html#tp-base-client-set-delegated-channels-callback I'll add a comment.
Created attachment 191706 [details] [review] Allow other clients to preempt the channels we are handling This is needed if we are handling an incoming text channel and then user tries to open a chat with the same contact using Empathy. In this case, the Shell should delegate the channel back to Empathy and just continue observing it as it does for usual outgoing channels. Depends on telepathy-glib 0.15.3 as tp_base_client_set_delegated_channels_callback() has been added in this version.
Attachment 191706 [details] pushed as 09f3c87 - Allow other clients to preempt the channels we are handling