So it turns out that you can implement non-interactive approvers (for instance, to shoot down spam IM channels before the tray icon blinks at the user, or to grab a SASL channel before the user is prompted for a password) as observers, as follows: • When ObserveChannels() is called, • Call Claim() on the CDO; • Then return from ObserveChannels(); • and then Claim will return successfully if you claimed the channels, and failure if someone else got there first. This should be documented somewhere.
I think such pseudo-approvers SHOULD have DelayApprovers=TRUE (from Bug #32267).
Here you go. I commented out the DelayApprovers=TRUE bit because it's not merged yet.
Looks good.
Oops, not sure why I hadn't merged this. Done now.
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.