skype4pidgin
skype4pidgin copied to clipboard
Mood text lost after you refresh user info
Skypeweb correctly displays mood message in Pidgin when you first go online. But once you query user info at least once, the message is lost (you have to hover the cursor over the contact to trigger repainting).
This seems to be because the initial contact list request in skypeweb_get_friend_list()
queries contacts.skype.com/contacts/v2/users/SELF?delta=&reason=default
which returns a rich set of data about all contacts.
Meanwhile the user info request is done by skypeweb_get_info()
which queries api.skype.com/users/batch/profiles
passing it a list of usernames. This returns only profiles for the requested users, and while the mood
field is included, it is always null
.
The code in skypeweb_got_info()
sets or resets mood
depending on the value of the mood
field, so it resets the field.
Possible workaround: Ignore the mood field in skypeweb_got_info()
.
Also perhaps purple-skypeweb should use the contacts.skype.com/contacts/v2/users
path when querying the info for users from contact list? I think the batch/profiles
path is for public access while "contacts/v2/users" is for private access to contact list.
If this is okay I can try to write it.
I like the sound of the second idea (using the /contacts/v2/users if they're on the buddy list). I guess the trap to watch out for there is that the buddy isn't considered to be on your buddy list by the server, until they've approved the friend request, while the buddy could still appear on the libpurple/Pidgin buddy list