Version: 0.70.90 (using KDE 4.3.0) OS: Linux Installed from: Ubuntu Packages I upgraded to the latest kde (as of today) in kubuntu 9.04 64-bit, after which I see all incoming yahoo messenger IMs in duplicate. This does not happen for our internal XMPP (running ejabberd) server, nor for google talk. (screenshot attached) Kopete reports "Version 0.70.90 using KDE 4.3.1"
Created attachment 36667 [details] duplicate messages in yahoo msgr
This happens for me too but for yahoo contacts only and not always, but from time to time. It goes away after a status change online -> offline -> online. I think it has to do with the "auto-reconnect" feature. I have two workstations one with Kubuntu 9.10 (KDE 4.3.2) and one with Gentoo (KDE 4.3.4).
Happens to me too, sometimes. Seems to be only when the other party is a Windows YM. Problem clears indeed if going offline, then online. It shouldn't have something to do w/ the reconnect thing but rather w/ sometimes YM wanting a receive acknowledge message back. I see other libraries are having such a feature implemented, though not working everytime either: http://developer.pidgin.im/ticket/11722 kopete 1.0.80, kde 4.6 rc2.
err.. wait.. while the thing w/ ACK messages is true, I looked again in the log I'm having. Looks like on the same message, the same signal is generated twice. I am already seeing something wrong in the code. So...err.. maybe the auto-reconnect might be the problem in here. Especially since I remember I've seen the message doubled w/ the *same* timestamp, while the 2nd message sent by windows YM when not receiving an ACK is sent after ~7 seconds - as people said in other bug reports. Stay tuned :-)
I pushed a patch to be reviewed - there are problems handling login problems to yahoo which can get you into receiving duplicate messages at next successful connect. Note though that this is only for the case where you see the duplicate messages in the same time, *not* some 7 seconds apart.
SVN commit 1217959 by rkcosta: yahoo protocol: Disconnect signals when login fails. From the original ReviewBoard description: Basically, sometimes, kopete is displaying in duplicate incoming messages. Checking my log, I saw the following: a) yahoo wasn't actually sending the message in duplicate. b) but YahooACcount::slotGotIm() was called twice on that message c) somewhere before the problematic thing - and I actually saw many things being done in duplicate (not just messages), I saw this: kopete(8352)/kopete (yahoo - raw protocol) Client::slotLoginResponse: Emitting loggedIn kopete(8352)/kopete (yahoo) YahooAccount::slotLoginResponse: -1 , "" )] d) checking code in yahooaccount.cpp - it seems that for that code (and others), it considers that account is offline, but forgets to also disconnect all the signals. So, next time user logins (even by an auto-reconnect), the signals are connected *again* to the same sources. And that's why it gets to do things 2 times. This commit contains the disconnection code without the message box part, which includes new strings and will be committed only to trunk. Original patch by Cristi Posoiu <cristi.posoiu AT gmail>, thanks! REVIEW: 6421 BUG: 206159 FIXED-IN: 4.6.1 M +1 -0 yahooaccount.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1217959
SVN commit 1217960 by rkcosta: yahoo protocol: Disconnect signals when login fails. From the original ReviewBoard description: Basically, sometimes, kopete is displaying in duplicate incoming messages. Checking my log, I saw the following: a) yahoo wasn't actually sending the message in duplicate. b) but YahooACcount::slotGotIm() was called twice on that message c) somewhere before the problematic thing - and I actually saw many things being done in duplicate (not just messages), I saw this: kopete(8352)/kopete (yahoo - raw protocol) Client::slotLoginResponse: Emitting loggedIn kopete(8352)/kopete (yahoo) YahooAccount::slotLoginResponse: -1 , "" )] d) checking code in yahooaccount.cpp - it seems that for that code (and others), it considers that account is offline, but forgets to also disconnect all the signals. So, next time user logins (even by an auto-reconnect), the signals are connected *again* to the same sources. And that's why it gets to do things 2 times. Forwardport of r1217959, with the string additions. Original patch by Cristi Posoiu <cristi.posoiu AT gmail>, thanks! CCBUG: 206159 M +3 -0 yahooaccount.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1217960
SVN commit 1217961 by rkcosta: Mention Kopete's bug 206159. CCBUG: 206159 M +1 -0 changelog_branch_4_6.xml WebSVN link: http://websvn.kde.org/?view=rev&revision=1217961