Imagine that Empathy is an approver for text and tube channels, and Kopete is an approver for text channels only. A NewChannels signal announces a text channel and a tube channel simultaneously; obviously, Empathy gets AddDispatchOperation called. telepathy-spec does not specify whether Kopete gets AddDispatchOperation too. (In MC 5, it does.) The decision should take into account this use case: imagine that Andre has Kopete but not Empathy, and also has Abiword (which is a Handler for text and Abiword-tube channels). Will opens an Abiword-tube to him, which causes a Text channel to open too, as a side-effect of the Tubes implementation. If Kopete does not get AddDispatchOperation in this situation, then the incoming bundle is handled via error fallback: since there is no suitable approver, the handler is launched directly. Abiword runs with no prompting, and Andre is annoyed by a resource-hungry application starting without warning. If Kopete does get AddDispatchOperation, Andre sees "Will has invited you to a chatroom". He clicks Accept. Abiword opens, due to the inclusion of a tube that the approver couldn't usefully tell him about; this violates least-astonishment but is probably better than the alternative.
A better version of the "Kopete doesn't see it" option would be: if there is no Approver that can cope with the whole NewChannels signal, break it up into individual channels and create one CDO per channel (as we do if there is no Handler that can cope with the whole thing).
Provisional resolution: Kopete does get the CDO that it partially matches. We can always alter the semantics or add more methods or something when we have actually implemented some channel bundles (at the moment, this is a bit hypothetical).
I need to write a branch for this. This matches the current behaviour of MC, so no MC changes are needed.
Proposed spec wording: http://git.collabora.co.uk/?p=user/smcv/telepathy-spec-smcv.git;a=shortlog;h=refs/heads/approver-partial-match
Rob and Sjoerd give spec cabal approval
Was fixed in 0.17.23
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.