Bug 150482 - Yahoo contacts shown as offline, yet they are not
Summary: Yahoo contacts shown as offline, yet they are not
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Yahoo Plugin (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-04 20:32 UTC by Brian Homeyer
Modified: 2009-02-06 03:57 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Bug 150482 Fix (956 bytes, patch)
2009-01-28 06:44 UTC, John Groszko
Details
Bug 150482 Fix Attempt 2 (13.46 KB, patch)
2009-02-02 21:15 UTC, John Groszko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Homeyer 2007-10-04 20:32:05 UTC
Version:           0.12.5 (using KDE KDE 3.5.7)
Installed from:    Ubuntu Packages
OS:                Linux

I have a bunch of contacts in my Yahoo account, yet none of them show as online.  They are all showing offline, yet they can contact me, and I can reply.  

I've also tried to build from SVN version 0.12.6, same thing.
Comment 1 Aniket 2008-02-29 22:51:42 UTC
I cam also confirm this bug on kopete 0.12.7 , using Fedora 8 

Some times I see no contacts at all in yahoo , even when they are online. 
On most times , I see a partial list of online contacts, Like I may have 15 contacts online, but kopete only shows 8 or 10. 
Comment 2 Steve Hay 2008-07-07 02:26:03 UTC
I've seen this happen but Pidgin does the same thing.  Could this be a problem with the servers?
Comment 3 Josh Berry 2008-11-24 06:47:05 UTC
To the original bug-reporter:
How did you add these contacts to your list?  Did you add them via "Add Buddy" in Kopete, in response to an authorization request, or via another client?

I have noticed similar behavior in recent Kopete trunk.  I did some investigation and figured out that if I add buddies to Kopete with "Add Buddy", they get added to Kopete's buddy list, but not the server list.  This means Kopete will never see these buddies online.

As a workaround, I have to login to YIM using the web client and add the buddies through there -- then Kopete sees them fine.
Comment 4 Matyas Ferenc 2009-01-07 14:11:14 UTC
This bug is still present in Kopete 0.60.81 (KDE 4.1.87).
Comment 5 John Groszko 2009-01-28 06:44:24 UTC
Created attachment 30667 [details]
Bug 150482 Fix

I think I've fixed the issue. Sniffing some packets from the latest Yahoo client on Windows revealed these magic numbers that make adding Yahoo contacts in Kopete work. I believe the reason it's busted now is because we advertise that we're using version 15 of the protocol. An old GAIM client I sniffed from said it was using version 12 of the protocol, still worked, and didn't have these magic numbers.
Comment 6 Josh Berry 2009-01-28 07:29:30 UTC
This patch doesn't seem to fix the problem for me. :/

As suggested, I looked at the debug output, but saw no attempts to add contacts not present on the server list.  It appears as though YahooContact::syncToServer() is NOT getting called when it should be, so the missing contacts aren't being added.
Comment 7 John Groszko 2009-02-02 21:15:23 UTC
Created attachment 30880 [details]
Bug 150482 Fix Attempt 2

The Yahoo plugin also maintains a list of contacts it thinks is on the server, but it wasn't maintaining that list very well. This patch has the protocol changes, and should also do a better job of maintaining that list. Hopefully it will fix the issue.
Comment 8 Josh Berry 2009-02-06 03:46:15 UTC
The new patch appears to do the trick.  Sorry for the delay in testing it.

Many thanks for working on this!
Comment 9 Matt Rogers 2009-02-06 03:57:23 UTC
SVN commit 921978 by mattr:

Backport patch for 150482 to the KDE 4.2 branch.

It'll be in KDE 4.2.1

BUG: 150482



 M  +12 -0     libkyahoo/client.cpp  
 M  +12 -0     libkyahoo/client.h  
 M  +59 -10    libkyahoo/modifybuddytask.cpp  
 M  +12 -0     libkyahoo/modifybuddytask.h  
 M  +2 -2      libkyahoo/yahootypes.h  
 M  +11 -3     libkyahoo/ymsgprotocol.cpp  
 M  +53 -0     yahooaccount.cpp  
 M  +3 -0      yahooaccount.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=921978