Sunday, June 8, 2008

Pidgin bug

While I have to admit that Pidgin is generally speaking a great multi-protocol IM (instant messaging) client, it's got its flaws too... just like any software. And I'm not talking here about the notorious developers / users scandal, resulting in a Pidgin fork because users just wanted a resizable text input field, while the developers said they don't care. I'm not even talking about the lack of voice and web cam support (there's a ticket from the beginning of time there... prioritized as minor).

No, I'm talking about 'ordinary', 'daily life' bugs... such as the old, recurring "why can't I set / see my Yahoo avatar?" issue. While on Gaim I recall it worked with no problems, at a later point in Pidgin developement, users (including myself) got frustrated (well not really, but it's a functionality problem) that they couldn't get Windows Yahoo Messenger users to see their Yahoo avatar set with Pidgin. (Instead, Yahoo Messenger Windows users only saw a black square instead of the picture.)

I searched through the Pidign tickets, saw some "hey, it works" remarks and thought it was a local problem of mine; then forgot about it, I didn't really need to use an avatar. A few days ago though I really meant to set one, and, surprise, the problem popped up again.

I found the ticket again and decided to investigate further. The "Can't set Yahoo avatar" ticket is here, with a descriptive comment from me (llrnr).

Soon after my comment, somebody took care of the issue and closed the ticket with the "Fixed" resolution... still waiting for the fix to be available through SVN, weee! :-D

In short, the problem resided in the way the checksum for the avatar was computed. My "on-the-fly-dumb-end-user-fix" was to look at what another IM client did after I got sure the Yahoo avatar was set OK and visible to any user. So I took a closer look at what Kopete was doing.

In /home/user/.kde/share/config/kopeterc, there were two important variables regarding the Yahoo avatar: iconRemoteUrl and iconCheckSum. While keeping this in mind, I checked out the avatar-related settings for Pidgin, in /home/user/.purple/accounts.xml and it turned out I just had to replace Pidgin's picture_url string with the string I got in the Kopete iconRemoteUrl string and Pidgin's picture_checksum string with what Kopete stored in the iconCheckSum string.

While I can't guarantee this works for everybody, it kind of worked for me... Now I'm waiting for the official fix while enjoying all the thrills and wonders of open source software.


Post a Comment