Version: (using KDE KDE 3.4.0) Installed from: Compiled From Sources Compiler: gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1) OS: Linux The yahoo plugin stops sending after some time. I can recive but whatever I am writing does not get sent. If I logout then login everything works perfectly again... Unfortunately I did not compile kde/kopete with debug on. The only thing I see on the output is "QThread object destroyed while thread still running". Another problem... Kopete exits without any warning. No crash... no nothing.
I can confirm the problem with the Yahoo protocol. This is very annoying since I do not know whether my messages are sent or not. I login into my Yahoo account, for a short while all works OK and all of a sudden my messages do not arrive at destination. Another funny thing is that after a week of trying different things, immediately after connecting to all of my accounts (Yahooo, ICQ, Jabber... etc) I logout of Yahoo because I know it does not work correctly and I do not want people to initiate conversations with me. As expected, all my Yahoo contacts fade away (because I just logout) but... suprise... I show online to other people and messages arrive to me even if, from my point of view, I'm not logged in ! I'm using Debian Unstable and the kde-3.4 packages from http://pkg-kde.alioth.debian.org/kde-3.4.0/. Among the things that I already tried are: recompiling kdenetwork-3.4.0 from sources and installing the old kopete from kde-3.3.2. However this behaviour did not change. This makes me believe that maybe the problem is not with kopete itself but maybe with some other kde component... but you should know better :)
A debug log detailing the behaviour I described in the previous comment is available at http://helion.xcyb.org/kopete_debug.log : Please notice: * line 1517: The first message ("bau") is sent successfully (it arrives at destination). * line 1539: The reply ("bu") is also received. * line 1614: The second message ("bau2") is sent but it is not received by my friend. * line 1652: I try again to send a message ("and now is dead") but this one is not received either. * line 1664: I continue to receive messages ("nope"). * line 1672: I logout from Yahoo, my contacts fade away... etc. * line 1740: I keep getting messages from my friend even if I logout. Of course that my friend sees me "online".
OK, Matt Rogers found out that the "Connection Status" plugin conflics with this version of Kopete. Just disabling it solved the problem.
CVS commit by mattr: Make sure to not create a new session before we actually we want to connect. Otherwise, we override the correct session that's already connected, which is what leads to being able to receive but not send messages. BUG: 102274 M +28 -25 yahooaccount.cpp 1.116 --- kdenetwork/kopete/protocols/yahoo/yahooaccount.cpp #1.115:1.116 @@ -300,4 +300,18 @@ void YahooAccount::initConnectionSignals void YahooAccount::connectWithPassword( const QString &passwd ) { + if ( isAway() ) + { + slotGoOnline(); + return; + } + + if ( isConnected() || + myself()->onlineStatus() == m_protocol->Connecting ) + { + kdDebug(14180) << "Yahoo plugin: Ignoring connect request (already connected)." <<endl; + return; + + } + if ( passwd.isNull() ) { //cancel the connection attempt @@ -306,5 +320,4 @@ void YahooAccount::connectWithPassword( } - QString server = "scs.msg.yahoo.com"; int port = 5050; @@ -311,9 +324,7 @@ void YahooAccount::connectWithPassword( YahooSessionManager::manager()->setPager( server, port ); - m_session = YahooSessionManager::manager()->createSession( accountId(), passwd ); - if(!isConnected() && myself()->onlineStatus() != m_protocol->Connecting) - { - kdDebug(14180) << "Attempting to connect to Yahoo on <" << server << ":" << port << ">. user <" << accountId() << ">" << endl; + kdDebug(14180) << "Attempting to connect to Yahoo on <" << server << ":" + << port << ">. user <" << accountId() << ">" << endl; static_cast<YahooContact*>( myself() )->setOnlineStatus( m_protocol->Connecting ); @@ -331,11 +340,5 @@ void YahooAccount::connectWithPassword( // TODO: message box saying can't connect? } - } - else if ( isAway() ) - { // They're really away, and they want to un-away. - slotGoOnline(); - } - else // ignore - kdDebug(14180) << "Yahoo plugin: Ignoring connect request (already connected)." <<endl; + } @@ -752,3 +755,3 @@ void YahooAccount::setOnlineStatus( cons // vim: set noet ts=4 sts=4 sw=4: - +//kate: indent-mode csands; tab-width 4;
CVS commit by mattr: BACKPORT: Make sure to not create a new session before we actually we want to connect. Otherwise, we override the correct session that's already connected, which is what leads to being able to receive but not send messages. Should be in KDE 3.4.1 CCBUG: 102274 M +28 -25 yahooaccount.cpp 1.115.4.1 --- kdenetwork/kopete/protocols/yahoo/yahooaccount.cpp #1.115:1.115.4.1 @@ -300,4 +300,18 @@ void YahooAccount::initConnectionSignals void YahooAccount::connectWithPassword( const QString &passwd ) { + if ( isAway() ) + { + slotGoOnline(); + return; + } + + if ( isConnected() || + myself()->onlineStatus() == m_protocol->Connecting ) + { + kdDebug(14180) << "Yahoo plugin: Ignoring connect request (already connected)." <<endl; + return; + + } + if ( passwd.isNull() ) { //cancel the connection attempt @@ -306,5 +320,4 @@ void YahooAccount::connectWithPassword( } - QString server = "scs.msg.yahoo.com"; int port = 5050; @@ -311,9 +324,7 @@ void YahooAccount::connectWithPassword( YahooSessionManager::manager()->setPager( server, port ); - m_session = YahooSessionManager::manager()->createSession( accountId(), passwd ); - if(!isConnected() && myself()->onlineStatus() != m_protocol->Connecting) - { - kdDebug(14180) << "Attempting to connect to Yahoo on <" << server << ":" << port << ">. user <" << accountId() << ">" << endl; + kdDebug(14180) << "Attempting to connect to Yahoo on <" << server << ":" + << port << ">. user <" << accountId() << ">" << endl; static_cast<YahooContact*>( myself() )->setOnlineStatus( m_protocol->Connecting ); @@ -331,11 +340,5 @@ void YahooAccount::connectWithPassword( // TODO: message box saying can't connect? } - } - else if ( isAway() ) - { // They're really away, and they want to un-away. - slotGoOnline(); - } - else // ignore - kdDebug(14180) << "Yahoo plugin: Ignoring connect request (already connected)." <<endl; + } @@ -752,3 +755,3 @@ void YahooAccount::setOnlineStatus( cons // vim: set noet ts=4 sts=4 sw=4: - +//kate: indent-mode csands; tab-width 4;
*** Bug 102278 has been marked as a duplicate of this bug. ***
On Saturday 02 Apr 2005 7:06 pm IST, owner@bugs.kde.org wrote: > *** Bug 102278 has been marked as a duplicate of this bug. *** Thanks Matt... I disabled the plugin and is fine now. I shall get the latest version.
You need to log in before you can comment on or make changes to this bug.