Summary: | kopete does not list all contacts in my yahoo buddy list groups | ||
---|---|---|---|
Product: | [Applications] kopete | Reporter: | Richard Oszlanczi <richard.oszlanczi> |
Component: | Yahoo Plugin | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | axelm50, coder.tux, gdaniel, rrr.junior |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
yahoo groups as seen in gaim (watch group 'Veniti cu noi')
yahoo groups as seen in kopete (watch group 'Veniti cu noi') kopete debug messages on connection |
Description
Richard Oszlanczi
2006-12-05 06:42:34 UTC
Created attachment 18790 [details]
yahoo groups as seen in gaim (watch group 'Veniti cu noi')
Created attachment 18791 [details]
yahoo groups as seen in kopete (watch group 'Veniti cu noi')
Could you please compile kopete with debug enabled and paste the debug messages of the login procedure? Thanks. Created attachment 18822 [details]
kopete debug messages on connection
Looks like the contacts arrive in 2 packets and the second packet is not added
to the buddy list.
I got the kopete sources (0.12.3) from Kubuntu Edgy repository. Kopete on the
Edgy live cd has the same issues.
I've also tested the Dapper live cd (with Kopete 0.11.1) and that version loads
the entire buddy list.
Thats great, thank you. I have this same bug in Kopete version 0.12.4 using Kubuntu Edgy Eft with KDE 3.5.6 *** Bug 143191 has been marked as a duplicate of this bug. *** *** Bug 143653 has been marked as a duplicate of this bug. *** I'm experiencing this bug too... I only see 15 out of 173, with the 15'th one truncated... SVN commit 660412 by duffeck: Fix loss of contacts on large contact lists. BUG:138376 M +1 -1 coreprotocol.cpp M +5 -4 listtask.cpp M +2 -0 listtask.h M +5 -4 ymsgprotocol.cpp --- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/coreprotocol.cpp #660411:660412 @@ -184,7 +184,7 @@ } else { - kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a valid YMSG packet. Trying to recover." << endl; + kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " - not a valid YMSG packet. Trying to recover: " << wire << endl; QTextStream s( wire, IO_ReadOnly ); QString remaining = s.read(); int pos = remaining.find( "YMSG", bytesParsed ); --- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/listtask.cpp #660411:660412 @@ -69,13 +69,13 @@ kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << endl; QString raw; - raw = t->firstParam( 87 ); - - if( raw.isEmpty() ) + m_list.append( t->firstParam( 87 ) ); + + if( t->firstParam( 59 ).isEmpty() ) return; QStringList groups; - groups = QStringList::split( "\n", raw ); + groups = QStringList::split( "\n", m_list ); for ( QStringList::Iterator groupIt = groups.begin(); groupIt != groups.end(); ++groupIt ) { @@ -88,6 +88,7 @@ emit gotBuddy( *buddyIt, QString::null, group ); } } + m_list.truncate( 0 ); } void ListTask::parseStealthList( YMSGTransfer *t ) --- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/listtask.h #660411:660412 @@ -41,6 +41,8 @@ signals: void gotBuddy(const QString&, const QString&, const QString&); void stealthStatusChanged( const QString&, Yahoo::StealthStatus ); +private: + QString m_list; }; #endif --- branches/KDE/3.5/kdenetwork/kopete/protocols/yahoo/libkyahoo/ymsgprotocol.cpp #660411:660412 @@ -357,9 +357,10 @@ if (accept) value[x++] = data[pos++]; } - if (accept) + if (accept) { value[x] = 0; - pos += 2; + pos += 2; + } if (accept) { @@ -375,8 +376,8 @@ } // Packets consisting of several YMSG-packets sometimes contain padding chars (0x00) -> filter out - while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20) - pos++; + while( (BYTE)data[pos] == (BYTE) 0x00 && pos <= len + 20) + pos++; kdDebug(YAHOO_RAW_DEBUG) << k_funcinfo << " Returning transfer" << endl; // tell them we have parsed offset bytes *** Bug 146965 has been marked as a duplicate of this bug. *** |