Summary: | Auth handler should also be an observer (aka non-interractive approver) | ||
---|---|---|---|
Product: | [Unmaintained] telepathy | Reporter: | George Kiagiadakis <mail> |
Component: | auth-handler | Assignee: | Telepathy Bugs <kde-telepathy-bugs> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | normal | CC: | kde |
Priority: | NOR | ||
Version: | git-latest | ||
Target Milestone: | Future | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
George Kiagiadakis
2012-01-18 14:57:21 UTC
I don't fully understand this. How does one switch from being an observer to a handler? What happens when "it lets the channel be dispatched normally"? Surely MC will look for an valid handlers running, and choose ours which is running rather than the empathy-auth-client which is only an observer. (In reply to comment #1) > I don't fully understand this. > > How does one switch from being an observer to a handler? By calling Claim() in the ChannelDispatchOperation. It's explained in the spec. > What happens when "it lets the channel be dispatched normally"? > Surely MC will look for an valid handlers running, and choose ours which is > running rather than the empathy-auth-client which is only an observer. Maybe I wasn't clear on this. empathy-auth-client is both an observer and a handler. As an observer, it only checks if the channel can be handled with itself and if it can, it calls Claim() and handles it as a handler. If not, then it returns from ObserveChannels() and lets MC pick a handler, but since it is itself a handler as well (which is also running at that time), MC has high chances of using it as a handler. I'm not sure we can do this. >The empathy auth process works like this: >* empathy-auth-client is launched as an observer >* while being an observer, it checks if the account is a GOA account or if the password for this >account is otherwise saved in gnome-keyring. We would do the following: > ktp-auth-client is launched as an observer > ktp-auth-client opens kwallet and then sits there like a like a comatosed potato whilst we display a kwallet prompt to the user doing nothing with the channel > By this point, if empathy did have the password, we've already shown a kwallet dialog.. and the connection has probably timed out. Given we can't rely on kwallet being open (and if you are on gnome, it almost certainly won't be) will this actually help solve anything? [15:37] <gkiagia> d_ed: you're probably right about this bug |