Hi Uday,
Sorry for the very belated reply, and for the lazy top-posting. This
mail's been in my TODO queue for too long. :)
Your analysis of the problem is correct! The right fix here would be to
add API to libpurple so that you can decline a subscription request with
a message, rather than the Yahoo! prpl having to pop up a dialog to ask
for a message. This API would also be useful on other protocols, like
MSN, and it would allow Pidgin and other “normal” libpurple UIs to
present much better UI.
No-one's working on this at the moment. I'd be happy to give pointers,
and help shepherd the resulting patches into libpurple. :)
(I did start a Haze branch that made it always respond to
purple_request_*() operations, picking a callback arbitrarily, but I
wasn't really happy with it...)
On 13/10/10 11:53, [email protected] wrote:
Greetings!
*Problem statement :*
If there is an incoming friendship request from a Yahoo ID, to our
Signed in Yahoo account on Empathy client,
On 'Denying' the request, the alert disappears. However, if we logout
and login again, the request reappears.
Has anyone else observed this issue ? If no, then am confused :)
*My understanding :*
In libpurple to deny an incoming friendship request, below procedure
has been observed :
1) Compilation of telepathy-haze needs to be done with the below option :
" --enable-leaky-request-stubs "
This would set 'request ui ops' by calling the function
purple_request_set_ui_ops ( ), in telepathy-haze-0.3.4/src/main.c
within the function haze_ui_init ( )
When the friendship request is denied :
2) A call is made to yahoo_buddy_add_deny_reason_cb which will trigger
UI to show an additional alert, so that user can enter his 'reason string'
for denying the friendship request
3) Currently, in Empathy, this alert never comes up, since it is not
communicated from 'telepathy-haze' to the Empathy client, through any
dbus call
(In Pidgin, this alert is being shown)
4) If somehow, we make sure (by a tweak), that a callback is called
for either 'Ok' or 'Cancel' (just like in the case of Pidgin),
then in the final callback, only 'DEBUG' print statements are placed.
5) There needs to be an additional call, to actually send a request to
Yahoo server, preparing a packet with appropriate yahoo protocol syntax
which looks something like this :
In file telepathy-haze-0.3.4/src/request.c , in function
haze_request_input ( ) :
<after the DEBUG statements, place the below line>
( (PurpleRequestInputCb) ok_cb) (user_data, "<Reason for denying,
given by User>");
Doing the above, has solved the problem for me. Can anyone suggest if
there is a better way ? Or this bug fix is already
underway for the next haze release ?
Kindly do let me know, if there is any work around already in place,
for Empathy later releases. Am using Empathy 2.30.1.1, which is pretty
old,
coming with Ubuntu Lucid
Thanks in advance!
Best wishes
Uday Kiran
_______________________________________________
telepathy mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/telepathy
--
Will
_______________________________________________
telepathy mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/telepathy