Bug 120950

Summary: Jabber: some users show offline (although they are online) until they reconnect
Product: [Unmaintained] kopete Reporter: David Stefka <david.stefka>
Component: Jabber PluginAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: cniehaus
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description David Stefka 2006-01-29 02:25:45 UTC
Version:           Kopete 0.11 (Using KDE 3.5.0. Level "a") (using KDE KDE 3.5.0)
Installed from:    SuSE RPMs
OS:                Linux

This is similar to bug nr. 90926, but I will try to be more precious. The description is as follows:

1. User A is online on a Jabber server, he is using PSI, we both have the authorizations.
2. I (user B) connect to (the same) jabber server using Kopete.
3. I see the user offline, although he is online. We can chat together as normal, only that I see user A offline.
4. If the user A goes from online to offline and back to online (or just away, important is that he CHANGES his status), from now on, I can see him normally as online/away
5. After I reconnect to jabber in Kopete, user A is offline again.

I have tested this on my computer, with both clients (PSI, Kopete) running. If I use the PSI-PSI combination, all is good and when one user goes online, the other one sees it immediately (so I dont think this is a server-side issue).

Strange thing is, that SOME contacts doesnt do this (i.e. after connecting I see them online) and some do this occasionaly. I dont know whether you can reproduce this bug, I hope I gave you enough info...
Comment 1 Quido Meijer 2006-01-31 00:45:07 UTC
I can reproduce this bug:

It happens to me as soon as I make a Jabber contact a meta contact. I drag an icq (jabber transported) user onto the Jabber account. The next time I start Kopete it will not show this Jabber user online anymore. It will show the icq user online.

I just asked my friend to reconnect and indeed did his Jabber account appear again as well.
Comment 2 Quido Meijer 2006-02-01 14:13:59 UTC
My experience is not on Suse BTW. I tried Kopete in:
Kubuntu , KDE 3.5.0, Kopete 0.11
Gentoo, KDE 3.4.x, Kopete 0.10.4
Gentoo, KDE 3.5.0, Kopete 0.11

If my Jabber friend is allready online and he's part of a meta-contact, I will not see him online.
Giving all members of a meta-contact their own (new/empty) contact makes the Jabber come online again after restart of Kopete.
Comment 3 Olivier Goffart 2006-03-10 18:59:04 UTC
I've identified the problem:
 We receive <presence> from contact that are on the same server before the roster.
 
This is because we doesn't wait enough before sending our own presence, and some server may change the order of delivery. (that's the case of ejabberd)

cf http://ejabberd.jabber.ru/node/669
and http://lists.jabber.ru/pipermail/ejabberd/2006-March/001636.html

I'm working on a fix in Kopete
Comment 4 Olivier Goffart 2006-03-10 19:15:28 UTC
Ok, this is fixed by in revision 517351,  and backported to kde 3.5.2
Comment 5 Carsten Niehaus 2006-03-26 19:17:58 UTC
Question to understand if this is my bug or not:

I have two contact, both in ICQ and Jabber. I have a meta-contact for them. I only see them online in ICQ and never in Jabber. If they "set availability" to online I can see them.

I can talk to them in Jabber, though.

I removed the meta-contact and added the jabber-account again. I can still not see them online even though they are and there is no metacontact...