Bug 135211 - Jabber groupchat history is only shown for currently present members
Summary: Jabber groupchat history is only shown for currently present members
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: Jabber Plugin (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal with 20 votes (vote)
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-06 18:11 UTC by Raymond Lewis Rebbeck
Modified: 2007-05-23 23:02 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
Fixes jabber groupchat history (698 bytes, patch)
2006-12-10 04:21 UTC, Raymond Lewis Rebbeck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raymond Lewis Rebbeck 2006-10-06 18:11:24 UTC
Version:           0.12.2 (using KDE KDE 3.5.4)
Installed from:    Gentoo Packages

When entering a Jabber groupchat the history for the past few dozen lines or so that the server provides seems to be filtered so that it only shows the lines from people who are in the room at the time of joining it.

This makes the history nearly useless as significant portions of it may be missing depending on who is currently in the room.

It should show the entire history that is given, regardless of who may or may not be in the room at the time of joining it. It had this behaviour in previous versions but it seems to have been changed in one of the 0.12.x releases.
Comment 1 Raymond Lewis Rebbeck 2006-12-10 03:49:15 UTC
This issue is still occurring in 0.12.3 and I just happened to look at .xsession-errors recently and noticed that whenever I enter a jabber groupchat there is a large number of warnings printed like the following:

kopete (jabber): WARNING: [virtual void JabberGroupContact::handleIncomingMessage(const XMPP::Message&)] the contact is not in the list   : lounge@rooms.jabber.org.au/Clax
kopete (jabber): WARNING: [virtual void JabberGroupContact::handleIncomingMessage(const XMPP::Message&)] the contact is not in the list   : lounge@rooms.jabber.org.au/Aleksiss

These messages come from the jabber groupchat history and are being ignored by kopete because the users are not currently in the room.
Comment 2 Raymond Lewis Rebbeck 2006-12-10 04:19:12 UTC
After some investigation I discovered that all the code to do want I want is there and works, however somehow an erroneous 'return' was placed directly before that code so the messages were never seen. Perhaps there was a reason to skip the code, a memory leak or other issues, I don't know. Removing the return statement brings back the old behaviour and jabber groupchat history is once again working as it should. I will attach a patch.
Comment 3 Raymond Lewis Rebbeck 2006-12-10 04:21:02 UTC
Created attachment 18872 [details]
Fixes jabber groupchat history
Comment 4 Matt Rogers 2007-05-23 23:02:02 UTC
SVN commit 667758 by mattr:

commit patch from bug 135211 to fix that bug.

Show all contacts history for jabber groupchats.
Thanks for the patch!
BUG: 135211



 M  +1 -1      jabbergroupcontact.cpp  


--- branches/KDE/3.5/kdenetwork/kopete/protocols/jabber/jabbergroupcontact.cpp #667757:667758
@@ -181,7 +181,7 @@
 		if ( !subContact )
 		{
 			kdWarning (JABBER_DEBUG_GLOBAL) << k_funcinfo << "the contact is not in the list   : " <<  message.from().full()<< endl;
-			return;
+
 			/**
 			 * We couldn't find the contact for this message. That most likely means
 			 * that it originated from a history backlog or something similar and