GNOME Bugzilla – Bug 166259
chatroom not working in 0.8.90
Last modified: 2005-04-04 00:04:09 UTC
Please describe the problem: subject says it all Steps to reproduce: 1. File/join group chat 2. fill in the form and click the join button Actual results: the chatroom window doesn't popup Expected results: it obviously should popup or show an error Does this happen every time? yes Other information: patch attached
Created attachment 36970 [details] [review] restore the chatroom fonctionnality in 0.8.90 not so quick but still durty :-) see http://lists.imendio.com/pipermail/gossip-dev/2005-February/001977.html for some comments
no comment on it ? I just noticed a crash when someone change his nick or leaves. it was caused by a stupid typo, I corrected it here. I'd like to resend the patch: if you are interested please answer...
Ofcourse we are interested :) Unfortunately with Micke away on Holiday at the moment and little time available on my part it would appear that no one has looked at this yet. Yea, I noticed the crash too. The message thread you mention has some of my thoughts on the original patch. I have had a look through the patch and to summarise: * In the jabber_chatrooms_presence_handler(...) function you create a new GossipJID and only unref it on the default handler of the switch statement for the presence type. It should also be unreferenced before exiting the function in a common scenario (i.e. LM_MESSAGE_SUB_TYPE_UNAVAILABLE or LM_MESSAGE_SUB_TYPE_AVAILABLE). * Instead of calling -> g_warning ("unable to join groupchat"), the GossipJoinChatroomCb should be called with the response. * The 'chatroom-contact-joined' signal should be emitted instead of calling the callback group_chat_contact_joined_cb. * The gossip_jabber_chatrooms_set_presence (...) call from jabber_set_presence() shouldn't really be done here. I think perhaps the GossipSession or GossipProtocol module should ultimately be responsible for calling into the group chat interface and setting presence there too. Otherwise it is up to each new protocol that might come along to forward presence information on to group chat sessions. If you could look at those, that would be great. I might have some time this week end if you will have the new patch ready by then to look at this some more. Keep up the good work ;)
As martyn said this patch has a bunch of things that needed fixing, parts of it where good though and I've used those parts as base for some fixes I've done tonight so now groupchatting works a lot better than it ever did in the old code base. Unfortunately it was quite a lot of hacking and I couldn't expect someone new to the Gossip codebase to be able to do that since it's hard to know how much changes is needed. This also gave the opportunitey to remove the last bits of the old GossipShow-based API. Thanks a lot for providing the patch and giving me enough code to be motivated to finish of the last bits.