Modify

#20 closed enhancement (fixed)

Jabber groupchat

Reported by: anonymous Owned by:
Priority: wishlist Milestone:
Component: Jabber Version:
Keywords: Cc:
IRC client+version: Client-independent Operating System: Public server
OS version/distro:

Description

Jabber groupchat. The only thing i _really_ miss in bitlbee.

Attachments (0)

Change History (38)

comment:1 Changed at 2005-11-16T16:18:01Z by wilmer

Component: BitlBeeJabber
Priority: majorwishlist

I'll put it with the wishlist items. We're planning to implement this when we write our own Jabber module. (Since there doesn't seem to be a usable lib yet, except loudmouth.)

See #9.

comment:2 Changed at 2005-11-16T16:23:21Z by wilmer

And don't worry, this is a lot higher on my list than file transfer, so it'll come for sure. ;-)

comment:3 Changed at 2005-11-17T23:41:37Z by wilmer

Milestone: 1.1?

comment:4 Changed at 2005-11-21T16:25:04Z by anonymous

You probably know this a lot better than I do, but centericq uses the same jabber code as far as I can tell, and supports groupchat. What jabbercode is currently used?

comment:5 Changed at 2005-12-06T00:55:18Z by wilmer

Version: 0.99

Uhm, the current code comes from Gaim, and I don't know where they got it from (but they didn't write it by themselves). CenterICQ is written in C++, so not an option.

Actually I think writing our own Jabber module shouldn't be that hard, and could be an interesting exercise, so I'll probably do that. Hopefully soon, don't know when time will permit...

comment:6 Changed at 2005-12-06T16:45:22Z by anonymous

CenterICQ was rewritten from C to C++, the jabber module is still C.

If you are looking for libraries you can look here: http://www.jabber.org/software/libraries.shtml http://jabberstudio.org/project/?cat=2

Good luck with the new jabbermodule and thanks for a great software.

comment:7 Changed at 2005-12-06T17:30:11Z by wilmer

Resolution: duplicate
Status: newclosed

Hmm. Didn't know strophe yet, but I'm afraid it won't be very suitable for perfect integration. Problem is that those libs probably all come with their own socket code, SSL code, etc, which makes integration in the current code a bit bad. Of course that can be fixed, but that'll also make it harder to track upstream changes/improvements. :-/

Iksemel seemed interesting to me, but it seems it also has its own connect/SSL stuff. Hmmm, will have to think about this.

Anyway, let's concentrate this discussion in the Jabber-ticket, #9. I'll close this one.

comment:8 Changed at 2005-12-17T23:35:56Z by wilmer

Milestone: 1.1?

comment:9 Changed at 2006-10-15T10:31:22Z by wilmer

Resolution: duplicate
Status: closedreopened

I'm reopening this one as a separate ticket because I'm thinking of postponing the groupchat support a little bit. The new Jabber module is almost ready though.

I decided to do a rewrite on my own, because all existing modules do their own event loops, their own SSL handling, etc. That won't work very well with BitlBee.

comment:10 Changed at 2006-10-18T03:42:01Z by marnanel

I love bitlbee, but I need jabber groupchat for work, so I can't use it as my only client yet. :( I hope the jabber rewrite comes together soon.

comment:11 Changed at 2007-03-20T00:24:45Z by warnaud

Please add this feature ! Bitlbee is awesome, I don't want several clients just for group chats :'(

comment:12 Changed at 2007-03-20T08:40:26Z by crygor

Hope it'll come soon to ;)

comment:13 Changed at 2007-03-20T20:13:05Z by wilmer

So do I guys, so I certainly hope to be able to do this soon. :-)

comment:14 Changed at 2007-05-03T15:46:11Z by Twoyears

Okay, it's been two years. Lets get this working mmkay?

comment:15 Changed at 2007-05-29T05:45:55Z by christer.edwards@…

I'm very interested in Jabber support for groupchats. At my office we strictly use a private jabber server for inter-office communication. Everyone else is using gaim and use the group chat feature. I'd hate to drop bitlbee / irssi for one feature.. and I don't plan to.. just wanted to put my vote in as well.

comment:16 Changed at 2007-06-06T22:55:47Z by wilmer

Just try the new-jabber branch now. I use it at work myself, it seems to be reasonably reliable by now. Certainly worth a try, I think. Please do report any bug you find here or open a new bug.

comment:17 Changed at 2007-06-16T00:22:14Z by Warnaud

Does it works on testing.bitlbee.org ?

comment:18 Changed at 2007-06-16T15:05:17Z by wilmer

Not right now, but I can update it some day soon, if you want to try it out there?

comment:19 Changed at 2007-06-16T16:56:03Z by Warnaud

That would be really great !!I can't wait for it ;) Anyway thx a lot for this awesome server !

comment:20 Changed at 2007-06-19T00:50:00Z by James Teh <jamie@…>

Thanks for this! I've been eagerly awaiting this. I've been using this at work now for the past few days and am loving it.

However, I've found a bug:

Setting my away status while in a Jabber groupchat causes some nastiness:

  1. I joined a Jabber groupchat with join_chat. All works well.
  2. I set my away status: /away testing
  3. This causes me to be removed from the groupchat and the virtual IRC channel with the following debug output:
    *** You have been marked as being away
    <@root> jabber(jteh@im.nb) - User jteh@im.nb removed from conversation
            0x1009f530 ()
    <@root> jabber(jteh@im.nb) - You were removed from conversation 0x1009f530
    <@root> jabber(jteh@im.nb) - WARNING: Could not handle presence information
            from JID: support@conference.im.nb/jamie
    
  4. Attempting to rejoin causes a crash (I suspect this is because something isn't cleared when I am forceably removed):
    <@Jamie> join_chat 3 support@conference.im.nb
    <@root> jabber(jteh@im.nb) - Creating new conversation:
            (id=0x10097ac8,handle=support@conference.im.nb)
    *** Irssi: Connection lost to localhost
    

Note that I haven't tested this on another server, although it seems to work fine with other clients. Also, I'm running bitlbee under cygwin, though that shouldn't affect this. The server is ejabberd. I can get more details if required.

comment:21 in reply to:  20 Changed at 2007-06-19T07:35:26Z by wilmer

Hey Tuvok! :-)

Replying to James Teh <jamie@jantrid.net>:

Note that I haven't tested this on another server, although it seems to work fine with other clients. Also, I'm running bitlbee under cygwin, though that shouldn't affect this. The server is ejabberd. I can get more details if required.

Okay, I'll have to test this too then. I have ejabberd running on my laptop already, so I'll try it there first. So far I've only tried it with jabberd2 and the proprietary XMPP server we have at work. Haven't seen this problem with any of those so far.

Thanks for the report!

comment:22 Changed at 2007-06-19T23:15:26Z by wilmer

I'll probably need more details, because I couldn't reproduce this. It'd be the most helpful if you can get the XML data you received just after you send your /away update. To get that data you can add the buddy "xmlconsole" (no @ or whatever) to your contact list.

And maybe an ejabberd version could help. I currently have 1.1.2 running here, from the Ubuntu Feisty pkg (1.1.2-6).

comment:23 in reply to:  22 Changed at 2007-06-20T05:24:50Z by James Teh <jamie@…>

Replying to wilmer:

I'll probably need more details, because I couldn't reproduce this. It'd be the most helpful if you can get the XML data you received just after you send your /away update. To get that data you can add the buddy "xmlconsole" (no @ or whatever) to your contact list.

*xml* TX:
<presence><priority>0</priority><show>away</show><status>foo</status></presence>
*xml* TX: <presence
to="developers@conference.im.nb/jamie"><priority>0</priority><show>away</show><status>foo</status></presence>
*xml* RX: <presence from="developers@conference.im.nb/Jamie"
          to="jteh@im.nb/BitlBee" type="unavailable"><x
          xmlns="http://jabber.org/protocol/muc#user"><item affiliation="none"
          role="participant" nick="jamie"/><status code="303"/></x></presence>
*xml* RX: <presence from="developers@conference.im.nb/jamie"
          to="jteh@im.nb/BitlBee"><x
          xmlns="http://jabber.org/protocol/muc#user"><item affiliation="none"
          role="participant"/></x></presence>

Sorry about the wacky line breaks. :)

And maybe an ejabberd version could help.

1.1.3 (Fedora Core 5 package).

comment:24 Changed at 2007-07-01T19:06:37Z by wilmer

Ahhh, got it! The problem is that you have an uppercase character in your nick. BitlBee saves that stuff in lowercase and sends the nick like that. This makes your /away thingy look like a nick change to the server, and nick changes in XMPP channels are represented like a special leave-packet and a normal join. Kinda nice to the clients that don't support renames, I must admit.

Just that BitlBee doesn't really like this kind of force-joins yet.

I should probably fix the case handling here. Thanks for the report, this is quite an interesting bug. :-)

comment:25 Changed at 2007-07-01T20:10:00Z by wilmer

Okay, that bug's fixed. Does everything else work properly?

I should add some more error handling and proper free()ing of memory, and then it should be ready to go into mainline.

comment:26 in reply to:  19 Changed at 2007-07-15T12:32:54Z by wilmer

Replying to Warnaud:

That would be really great !!I can't wait for it ;) Anyway thx a lot for this awesome server !

No problem! And if you read my WALL(OPS) msgs, you might have seen already that this code now runs on testing. Please do try it out and report any bugs you can find!

comment:27 Changed at 2007-10-20T00:09:21Z by mcepl@…

1

comment:28 Changed at 2007-10-30T20:11:13Z by presi

I'm on testing.bitlbee.org, bzr-new-jabber-261 at the moment.

I have some comments about groupchats:

  1. When I join a groupchat I receive some last messages said in that channel before I joined, I think this is a feature of jabber and it's ok, the problem is that these messages appear with unknown handle for users that are not currently on the groupchat.
[20:07] <presi> join_chat 0 linux@conf.jabberes.org #linux bitlbee_tester
[20:07] -:- Join presi #linux
-:- [Users(#linux:4)] 
[ root      ] [ presi     ] [ user2      ] [ user1 ]
[20:07] (user1/#linux) hello
[20:07] <root:&bitlbee> jabber(bitlbee_tester@jabberes.org) - Groupchat message from unknown participant linux@conf.jabberes.org/user3: whatever

Yeah, I know this is only a cosmetic problem, but looks really ugly, maybe bitlbee can recognize that these unknown handlers come from the (known) gruopchat and make them known looking like normal users and we know there are not currently in the groupchat because they don't appear in /who listings.

  1. If I do a "blist all", even after leaving the groupchat, the users that are/were in the groupchat appear as offline contacts, and they have never been added by me as contacts (whith add command), after reconnecting, they disappear but I don't understand this behaviour, example:
<presi>blist all
user1              user1=linux@conf.jabberes.org (jabber)     Offline
user2              user2=linux@conf.jabberes.org (jabber)     Offline
  1. When I try to join a gropuchat on an inexistent server (or existent but without groupchat support) I don't get any error message and if I try to join to a correct groupchat, the channel is already busy, but is not really in use, example:
[20:45] <presi> join_chat 0 room@aksdjaskda.org #channel bitlbee_tester
[20:46] <presi> join_chat 0 room@conf.jabberes.org #channel bitlbee_tester
[20:46] <root> Channel already exists: #channel

comment:29 Changed at 2007-10-31T01:35:14Z by presi

Another thing I found.

Currently, bitlbee doesn't inform about groupchats I have joined doing a /whois to myself (like in real IRC), this can seem useless with a graphic IRC client with windows, tabs, etc. but makes sense with text clients specially if they can be configured to mix several channels in one window.

On the other hand, should be a method to know channel-groupchat mapping, example:

#bitlbee       bitlbee@conference.jabber.org
#devel         projects@conference.jabber.org

But I'm not sure if this can be done with /whois or would be necessary a new root command.

comment:30 Changed at 2007-11-19T23:28:54Z by wilmer

Merged in mainline. There are some issues left from above that I'll try to fix (mostly error handling) and then I can consider this bug closed.

comment:31 Changed at 2007-12-02T17:31:23Z by wilmer

Okay, I added handling of presence-error packets, so now the "Channel already exists" problem shouldn't happen anymore.

comment:32 Changed at 2007-12-02T21:33:58Z by wilmer

Hmm, I can't reproduce the blist issue BTW, the buddy disappears after a PART. Are you sure this still happens, and did you leave the chat properly or in some unusual way?

comment:33 Changed at 2007-12-02T22:47:00Z by wilmer

Resolution: fixed
Status: reopenedclosed

All problems are solved/can't be reproduced, so I'll consider this one closed. Please open wishlist tickets if you really want some of these features. The WHOIS stuff will probably come once the IRC core in BitlBee isn't the huge mess it is now.

comment:34 Changed at 2008-06-20T10:07:36Z by penny@…

this was merged, right, but I guess hasn't been in a release yet since I couldn't find it in the changelog. I guess it'll be in 1.3 ?

comment:35 Changed at 2008-06-20T10:12:47Z by Wilmer van der Gaast <wilmer@…>

this was merged, right, but I guess hasn't been in a release yet since I
couldn't find it in the changelog. I guess it'll be in 1.3 ?


Hrmm, which changelog were you looking at? This is most definitely in
1.2. It's listed at least in the changelog on the website.

comment:36 Changed at 2008-06-20T10:50:23Z by anonymous

I was reading this one: http://bugs.bitlbee.org/bitlbee/browser/devel/doc/CHANGES

I searched for "group" and found:

  • Support for AIM groupchats. (1.0.1)
  • Fixed a bug that caused crashes when /CTCP'ing a groupchat channel. (0.91
  • You can now start groupchats with MSN people without having to send them (0.90)
  • Support for groupchats on Yahoo! (in 0.85)
  • Fixed removing Yahoo! buddies from a different group than "Buddies". (in 0.85)
  • At last ... GROUP CHAT SUPPORT! :-D (0,80)

comment:37 Changed at 2008-06-20T11:04:23Z by Wilmer van der Gaast <wilmer@…>

I was reading this one:
http://bugs.bitlbee.org/bitlbee/browser/devel/doc/CHANGES[[BR]]


Ahh.. Okay, I almost forgot about that one. ;-)

I searched for "group" and found:


In the Jabber world, chatroom/MUC is how they're usually called. Which
makes some sense since these are more rooms like IRC channels, not just
conversations with more than two participants.

This is the line:

  • XEP45: Jabber chatroom support[[BR]]

comment:38 Changed at 2008-06-20T11:28:51Z by penny@…

awesome. thanks! :)

Modify Ticket

Action
as closed The ticket will remain with no owner.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.