Ticket #13050 (closed defect: fixed)

Opened 15 months ago

Last modified 6 weeks ago

Avatars not showing on Yahoo

Reported by: FireDK Owned by: sulabh.dev
Milestone: v2.10.1 Component: Yahoo!/Yahoo! JAPAN
Version: 2.9.0 Keywords:
Cc:

Description

The problem appeared after the update to Pidgin 2.7.7. The buddy icons for some of my contacts disappeared and I cannot find a way to get them back again. This effect seems to be random as not all of my contacts were affected and I also did notice some icons coming back and disappearing again as a person would log out and back in, or change their icon.

I tested with the latest version of Yahoo Messenger, and the icons are all there, so it's not a server-side issue.

Just in case it makes a difference, I'm running on Windows.

Attachments

debug.log (51.4 kB) - added by FireDK 14 months ago.
purple-debug.log (35.4 kB) - added by FireDK 12 months ago.

Change History

Changed 14 months ago by FireDK

  Changed 14 months ago by FireDK

  • version changed from 2.7.7 to 2.7.9

Attached a debug log.

The problem seems to persist with the latest version 2.7.9 and even after a clean re-install.

  Changed 12 months ago by FireDK

  • version changed from 2.7.9 to 2.7.10

Changed 12 months ago by FireDK

  Changed 12 months ago by FireDK

Attached a new debug log.

Now getting:

(23:49:19) yahoo: Fetched an icon with length 0. Strange.

And most of the icons are not existent.

  Changed 10 months ago by Robby

Ticket #13614 has been marked as a duplicate of this ticket.

  Changed 9 months ago by FireDK

  • version changed from 2.7.10 to 2.7.11

  Changed 8 months ago by FireDK

  • version changed from 2.7.11 to 2.8.0

  Changed 8 months ago by FireDK

  • version changed from 2.8.0 to 2.9.0

  Changed 6 months ago by FireDK

  • summary changed from Buddy Icons not showing on Yahoo to Avatars not showing on Yahoo

This problem has evolved to the point where Pidgin doesn't update any avatars on the Yahoo protocol without the removal of the .purple folder and re-setup of all accounts.

I know this is an open source project, and maybe the developers are busy with other stuff, but ignoring bugs for eight months seems like an utter lack of interest for it.

  Changed 6 months ago by Robby

Only a very small subset of Pidgin's developers would be familiar with the Yahoo code (maybe only one person even, I don't know) so it's more a lack of knowledge in most cases.

  Changed 6 months ago by rekkanoryo

Yes, Robby is correct here. I'm the only person currently active in Pidgin development with any sort of real knowledge about the yahoo protocol, and I know nothing about the buddy icon stuff. If someone wants to tackle this, great; I'll accept a patch that's not too hackishly implemented. Otherwise, it's going to wait until someone else who actually knows what's going on here comes along and fixes it.

  Changed 6 months ago by drvladl

Still here in 2.10.0, under Linux. Still, in order to update the avatars it's not necessary to delete the whole .purple folder. Deleting all files in .purple/icons and restarting the application does the trick for me. A script that deletes these files before starting Pidgin should partially solve the problem, if you don't mind loosing all icons for offline buddies.

Maybe implementing some code that would automatically delete the buddy's icon when he/she comes online, and automatically downloading the avatar for him/her would solve the problem? For what is worth, somebody's avatar can be found at http://img.msg.yahoo.com/avatar.php?format=png&yids=USERID for PNG format and at http://img.msg.yahoo.com/avatar.php?format=jpg&yids=USERID for JPG format.

Unfortunately I am no coder, so I can not submit a patch. Still, I hope this helps.

follow-up: ↓ 14   Changed 5 months ago by rekkanoryo@…

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 2.10.1

(In [be5e66abad2af29604bc794cc4c6600ab12751f3]):
Remove a bogus short-circuit check intended to prevent downloading the same icon every time a buddy logs in. There are three problems with the check:

  • The fact that we already have an icon for the buddy doesn't mean it hasn't changed on the server since we last downloaded.
  • We should really be checking against the server-provided checksum, but we don't know how to checksum the same way the server does.
  • We no longer receive a checksum at the YMSG protocol level, so we'd have to parse such a checksum out of the picture URL, which is going to be fragile and seems just plain stupid to me.

It seems better to me all around to just axe the check and potentially waste some bandwidth. If someone wants to figure out a bandwidth-saving fix for this, feel free.

At any rate, this fixes #13050.

  Changed 5 months ago by Robby

  • milestone changed from 2.10.1 to v2.10.1

in reply to: ↑ 12   Changed 5 months ago by drvladl

Replying to rekkanoryo@…:

At any rate, this fixes #13050.

Great, thank you!

  Changed 4 months ago by thijsalkemade@…

(In [39242a87d1a7299236b5bd8500fd5251bafa19e1]):
*** Plucked be5e66abad2af29604bc794cc4c6600ab12751f3 (rekkanoryo@…): Remove a bogus short-circuit check intended to prevent downloading the same icon every time a buddy logs in. There are three problems with the check:

  • The fact that we already have an icon for the buddy doesn't mean it hasn't changed on the server since we last downloaded.
  • We should really be checking against the server-provided checksum, but we don't know how to checksum the same way the server does.
  • We no longer receive a checksum at the YMSG protocol level, so we'd have to parse such a checksum out of the picture URL, which is going to be fragile and seems just plain stupid to me.

It seems better to me all around to just axe the check and potentially waste some bandwidth. If someone wants to figure out a bandwidth-saving fix for this, feel free.

At any rate, this fixes #13050.

  Changed 4 months ago by V3n3RiX

Backported the patch for 2.10.0 and it works magic. Thank you!

  Changed 4 months ago by rekkanoryo

Ticket #14730 has been marked as a duplicate of this ticket.

  Changed 6 weeks ago by thijsalkemade@…

(In [78f01024866db9d9208f8cc09b8321c7ed04c140]):
*** Plucked be5e66abad2af29604bc794cc4c6600ab12751f3 (rekkanoryo@…): Remove a bogus short-circuit check intended to prevent downloading the same icon every time a buddy logs in. There are three problems with the check:

  • The fact that we already have an icon for the buddy doesn't mean it hasn't changed on the server since we last downloaded.
  • We should really be checking against the server-provided checksum, but we don't know how to checksum the same way the server does.
  • We no longer receive a checksum at the YMSG protocol level, so we'd have to parse such a checksum out of the picture URL, which is going to be fragile and seems just plain stupid to me.

It seems better to me all around to just axe the check and potentially waste some bandwidth. If someone wants to figure out a bandwidth-saving fix for this, feel free.

At any rate, this fixes #13050.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!