After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 382811 - Add initial rough support for chatrooms (MUC)
Add initial rough support for chatrooms (MUC)
Status: RESOLVED FIXED
Product: gossip
Classification: Deprecated
Component: Telepathy
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Gossip Maintainers
Gossip Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-05 23:24 UTC by Raphael Slinckx
Modified: 2006-12-17 19:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gossip-tp-chatrooms.diff (20.04 KB, patch)
2006-12-05 23:25 UTC, Raphael Slinckx
committed Details | Review
protocols/telepathy/gossip-telepathy-chatrooms.c (11.53 KB, text/plain)
2006-12-05 23:26 UTC, Raphael Slinckx
  Details
protocols/telepathy/gossip-telepathy-chatrooms.h (3.45 KB, text/plain)
2006-12-05 23:26 UTC, Raphael Slinckx
  Details

Description Raphael Slinckx 2006-12-05 23:24:20 UTC
The patch is coming as well as new files
Comment 1 Raphael Slinckx 2006-12-05 23:25:18 UTC
Created attachment 77768 [details] [review]
gossip-tp-chatrooms.diff

This is the path for existing code. It basically now calls the gossip-chatrooms files instead of not implementing chatrooms functions. Also some message foo is needed to differentiate between regular text and MUC messages.
Comment 2 Raphael Slinckx 2006-12-05 23:26:12 UTC
Created attachment 77769 [details]
protocols/telepathy/gossip-telepathy-chatrooms.c

protocols/telepathy/gossip-telepathy-chatrooms.c
The implementation of some support. Join and talking mostly. And not very stable :)
Comment 3 Raphael Slinckx 2006-12-05 23:26:31 UTC
Created attachment 77770 [details]
protocols/telepathy/gossip-telepathy-chatrooms.h

protocols/telepathy/gossip-telepathy-chatrooms.h
Header file
Comment 4 Xavier Claessens 2006-12-06 11:32:42 UTC
Nice work ! I fixed the indentation. I have some questions:

1) You create a TelepathyMessageData structur ... it's never freed ?

2) in telepathy_message_ack_pending() messages_list is never freed ?

3) 
In telepathy_send_message() you remove this:
-		dbus_g_proxy_connect_signal (DBUS_G_PROXY (text_chan),
-					     "Closed",
-					     G_CALLBACK (telepathy_channel_closed_cb),
-					     telepathy,
-					     NULL);
Why ? We still need closing channels, how is it removed from the priv->text_channels hash_table ?

4) In gossip_telepathy_chatrooms_join() why did you comment the code which specify on which server we want the chatroom ? Actually we can't say which server we want as I understand ? room_handles and room_object_path are not freed ? The callback isn't called if there is an error, so I guess the UI will wait indefinitely ?

5) I can connect to irc.freenode.net using tp-idle, but gossip crash when I want to join a room:
#
  • #0 g_type_check_instance_cast
    from /usr/lib/libgobject-2.0.so.0
  • #1 gossip_telepathy_chatrooms_join
    at gossip-telepathy-chatrooms.c line 152
  • #2 telepathy_chatroom_join
  • #3 gossip_chatroom_provider_join
    at gossip-chatroom-provider.c line 174
  • #4 group_chat_join
    at gossip-group-chat.c line 403
  • #5 gossip_group_chat_new
    at gossip-group-chat.c line 1948
  • #6 new_chatroom_dialog_response_cb
    at gossip-new-chatroom-dialog.c line 703

I committed your code like that we have an initial code base on which we can continue to work. I added FIXME comments in the code for the above questions.
Comment 5 Xavier Claessens 2006-12-06 20:35:30 UTC
The crash is now fixed.
Comment 6 Xavier Claessens 2006-12-17 19:18:34 UTC
Everything should be fixed now, closing this bug :D