Version: 0.80.2 (using KDE 4.3.2) Compiler: gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) OS: Linux Installed from: Fedora RPMs Yahoo sever reset connection after 10 minutes inactivity timeout, then kopete automatically reconnects within several seconds. Looks like yahoo brakes TCP/IP connection if there are no packets sent from the client during 10 minutes. I found native Yahoo! Messenger sends "keep alive" messages every minute. Kopete does not do it.
Created attachment 38562 [details] patch for yahoo protocol library Yahoo protocol implementation uses one hour "ping" timeout. Actually it's too long, we get disconnected after 10 minutes! This patch is for kopete/protocols/yahoo/libkyahoo/client.cpp. Just changed timeout value from one hour to one minute. It helps in my case.
This is a real bug.. Ok what i have discovered we send what is called a ping, actually its an alive statement to the server which Yahoo expects every so often, it does not have to be sent every minute but the Yahoo Client Version 10 sends it every minute. There is an actual Ping message which can be captured if you are very patient and wait, it is sent every hour from the Yahoo Client. If Yahoo does not receive this it sends a disconnect notice to the client. I am now testing a mod which sends both the Ping and the Alive message..
The new code has been uploaded to the trunk and can be tested I have tested it and myself i am no longer getting disconnect notices from the yahoo service..
SVN commit 1079333 by mattr: BUG: 212855 BUG: 156296 Added two files for the fix. protocols/yahoo/libkyahoo/alivetask.h protocols/yahoo/libkyahoo/alivetask.cpp The code from ping.h and cpp now actually resides in those files, and the ping task actually sends the ping not the alive message, Alive messages are sent to keep communcation between Yahoo and the client, but the Ping keeps you connected to the service so as they dont send a disconnect after the hour. I have set the time out to 59 minutes for the alive and the alive to 1 minute. M +2 -1 CMakeLists.txt A alivetask.cpp pingtask.cpp#1079332 [License: LGPL (v2+)] A alivetask.h pingtask.cpp#1079332 [License: LGPL (v2+)] M +20 -3 client.cpp M +6 -0 client.h M +1 -2 pingtask.cpp M +1 -1 ymsgprotocol.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1079333