GNOME Bugzilla – Bug 496100
Invites to Chat Rooms unimplemented
Last modified: 2008-10-13 08:09:07 UTC
When you right click on a contact in your contact list, there is now a "Invite to Chat Room" entry. It should be expanded to a list containing all the chat rooms you are currently taking part and be disabled if there is not.
It's not implemented yet.
Related: #517182.
*** Bug 527557 has been marked as a duplicate of this bug. ***
Daf: What's the difference between this bug and #517182 ?
*** Bug 517182 has been marked as a duplicate of this bug. ***
I'm working on it.
This is implemented in my "send-invite2" branch: http://git.collabora.co.uk/?p=user/cassidy/empathy.git;a=shortlog;h=refs/heads/send-invite2
rebased on top of chatroom-mgr-rebased: http://git.collabora.co.uk/?p=user/cassidy/empathy.git;a=shortlog;h=refs/heads/send-invite-rebased
Thanks for the patch, somme comments: 1) I'm not sure "Invite to..." is the right string to use. Invite to what? And "..." is usually used for buttons that requiers more input from the user. What about "Invite to chatroom"? 2) There is a FIXME that should be fixed :) 3) You are using tp_cli_channel_interface_group_call_add_members() which is a new function in recent tp-glib. It's fine, but tp-glib version should be bumped in configure.ac I think. 4) I think it's better to set the EmpathyChatroom in contact_room_sub_menu_item_activate_cb_ctx. Like that you avoid problems if the channel is invalided before your callback is called. In that case you'll get a NULL channel in the cb and you can ask the user what to do (re-join the room, cancel invitation, etc...) or simply silently do nothing :p That's all :D
Ah, just a detail: You forgot the '#' in your commit message: "Actually invite contact to chatroom. Fixes bug 496100 (Guillaume Desmottes)." My release-notes script won't detect the bug number...
1) yeah, I wasn't sure about that. I changed. 2) Do you have an idea why my closure is not called? That's the first time I used g_signal_connect_data. 3) humm, the version in which it was introduced is not documented. Do you know which version added this? And, btw, shouoldn't we ask/inform GNOME when bumping an external dep? 4) sorry, I don't understand what have to be changed.
(In reply to comment #10) > Ah, just a detail: You forgot the '#' in your commit message: > > "Actually invite contact to chatroom. Fixes bug 496100 (Guillaume Desmottes)." > > My release-notes script won't detect the bug number... I amend this commit and fixed the commit msg.
(In reply to comment #11) > 3) humm, the version in which it was introduced is not documented. Do you know > which version added this? And, btw, shouoldn't we ask/inform GNOME when bumping > an external dep? Oops, my fault. You are not using tp_channel_group_* but tp_channel_interface_group_* which is fine. Forget me. > 4) sorry, I don't understand what have to be changed. In create_room_sub_menu_item(), instead of getting the channel of the room and call contact_room_sub_menu_item_activate_cb_ctx_new (contact, channel); I think you should directly call contact_room_sub_menu_item_activate_cb_ctx_new (contact, chatroom); So the context keeps a ref to the chatroom instead of the channel. Because the channel could be invalidated before the user click on the menu item. So in contact_room_sub_menu_item_activate_cb() you take the channel from the chatroom and if it's NULL you can still silently return or display an error message to the user like "Sorry, you left the chatroom between the moment this menu popup and you clicked on it. I'm sure you made it to see if empathy will crash, but as you can see, empathy is PERFECT!!"
4) done. I think the last remaining issue is 2). Some help on it would be good.
I see no reason for it to not work. Maybe a glib bug? I merged the branch, thanks!