Summary: | Yahoo contacts shown as offline, yet they are not | ||
---|---|---|---|
Product: | [Unmaintained] kopete | Reporter: | Brian Homeyer <bhomeyer> |
Component: | Yahoo Plugin | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | des, mfeerf |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Bug 150482 Fix
Bug 150482 Fix Attempt 2 |
Description
Brian Homeyer
2007-10-04 20:32:05 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. I've seen this happen but Pidgin does the same thing. Could this be a problem with the servers? 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. This bug is still present in Kopete 0.60.81 (KDE 4.1.87). 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. 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. 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. The new patch appears to do the trick. Sorry for the delay in testing it. Many thanks for working on this! 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 |