Use case: I have an Observer which logs calls. I cancel an outgoing call request before a channel gets requested; I still want to be able to log that something happened. Currently this isn't possible; if Observers could implement Client.Interface.Requests, they'd be told when requests for channels they'd probably handle were made. They can tell if those requests succeed by a subsequent call to ObserveChannels() with the request in Requests_Satisfied; if they fail, they will have RemoveRequest() called on them. 11:06 smcv | we'll need to extend the semantics of AddRequest to "you are the Handler who will probably handle it or an Observer who will probably observe it"
(In reply to comment #0) > They can tell if those requests succeed by a > subsequent call to ObserveChannels() with the request in Requests_Satisfied; if > they fail, they will have RemoveRequest() called on them. If the channel appears and is observed, but then dispatching fails in some other way, should the Observer still have RemoveRequest() called on it? (In particular, if the channel closes after observation but before handling (the Handler would get RemoveRequest called on it at this point), or if the Handler fails to HandleChannels.) I suspect that the answer is no, in which case RemoveRequest's documentation will basically be: If it's an Observer, ... If it's a Handler, ... If an Observer/Handler hybrid implements Requests, can it tell whether AddRequest means "you will probably observe" or "you will probably handle"?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/telepathy/telepathy-spec/issues/87.
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.