https://bugs.kde.org/show_bug.cgi?id=386647

Alexandr Akulich <akulichalexan...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |CONFIRMED
                 CC|                            |akulichalexan...@gmail.com
     Ever confirmed|0                           |1

--- Comment #3 from Alexandr Akulich <akulichalexan...@gmail.com> ---
The Bustle log shows that there are requests to ChannelDispatcher to
EnsureChannel with a preferred handler = TpQtRaH Telepathy client. The first
request wakes up CM, but at the time of TextChannel appearance, there is no
TpQtRaH client anymore, so the ChannelDispatcher decides to raise a default
handler, namely — ktp-text-ui.

After a discussion, it turns out that the TpQtRaH clients registered by the
Chat Plasmoid and the C++ place of registration is TelepathyQt PendingChannel
[1].

I think of the following options:
1) Change TpQt API to let the Chat Plasmoid to specify the PendingChannel
handler service name as the name of the plasmoid.
2) Change TpQt or Chat Plasmoid to "ask the ChannelDispatcher to wake up a
ConnectionManager and then ask the ConnectionManager directly to restore the
channel". In this way, we'll use [2] with your=true to suppress an automatic
handler invocation. Right now we use [3] with preferredHandler = <a unique
client service name for every PendingChannel>.
2) Disable the offline account PendingChannel-related code in the Chat
Plasmoid. I have no idea how it will affect the Plasmoid functionality, but
maybe it does not make much sense to ask ChannelDispatcher to set some account
presence (to online).

[1]
https://github.com/TelepathyIM/telepathy-qt/blob/master/TelepathyQt/pending-channel.cpp#L193
[2]
https://telepathy.freedesktop.org/spec/Channel_Dispatcher.html#Method:EnsureChannel
[3]
https://telepathy.freedesktop.org/spec/Connection_Interface_Requests.html#Method:EnsureChannel

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to