Modify

#415 closed defect (fixed)

wrong names in jabber groupchats

Reported by: maix Owned by:
Priority: normal Milestone:
Component: Jabber Version: 1.2
Keywords: groupchat nick rename Cc:
IRC client+version: Client-independent Operating System: Linux
OS version/distro:

Description

In a jabber groupchat, people are named like the user part of their jabber id, even if they joined the chat with another name.

What makes this bug especially annoying is that bitlbee refuses to rename them to the name they really use in the chat.

Attachments (2)

fix-jabber-non-anonymous-chat-groups.patch (686 bytes) - added by ludo@… at 2011-01-20T09:37:36Z.
Use the JID user name, not the IRC nickname, when joining a Jabber room.
bitlbee-jabber-nicks.patch (1.4 KB) - added by wingo@… at 2015-11-04T14:35:34Z.

Download all attachments as: .zip

Change History (22)

comment:1 Changed at 2008-06-14T16:14:27Z by wilmer

It shouldn't refuse to do that, just that the buddies will then also have that name in your contact list.

This only happens in non-anonymous chatrooms. I could add a setting that makes BitlBee behave the same like in anonymous rooms if that helps. You may get irritated by the underscores that will appear though. :-)

comment:2 in reply to:  1 Changed at 2008-06-21T00:07:05Z by anonymous

Replying to wilmer:

It shouldn't refuse to do that […]

Yes, it shouldn't, but it does :)

This only happens in non-anonymous chatrooms. I could add a setting that makes BitlBee behave the same like in anonymous rooms if that helps. You may get irritated by the underscores that will appear though. :-)

What's the difference between anonymous and non-anonymous? Anyways, in that case it's a jabber muc.

Let me give an example. There is a user named FriendlyName in the chat with jabber ID john.doe@…. In BitlBee, he's named john.doe. When I rename him to FriendlyName, root says „Nick `FriendlyName' already exists“ (I don't have him in my buddy list). Same if a user is named foo and has jid foo@…, his name in the group chat is foo_, and I cannot rename him, too.

comment:3 Changed at 2008-06-21T00:16:12Z by Wilmer van der Gaast <wilmer@…>

What's the difference between anonymous and non-anonymous? Anyways, in
that case it's a jabber muc.


In anonymous rooms, there is no way to get the real JIDs of the
participants, all you see is chatroom@…/nickname.
In non-anon rooms you can also see the person's real JID.

Since all these per-channel JIDs pollute the namespace (which is kind-of
limited on IRC), I prefer to reuse nicks when possible.

with jabber ID john.doe@…. In BitlBee, he's named john.doe. When
I rename him to FriendlyName, root says „Nick `FriendlyName' already
exists“

Whoa... Okay, that may be a misleading error message, that indeed
shouldn't happen. :-/ Can you verify using /whois or sometihng like
that, that that nickname really doesn't exist yet?

comment:4 in reply to:  3 Changed at 2008-06-25T16:07:36Z by anonymous

Replying to Wilmer van der Gaast <wilmer@gaast.net>:

What's the difference between anonymous and non-anonymous? Anyways, in that case it's a jabber muc.

In anonymous rooms, there is no way to get the real JIDs of the participants, all you see is chatroom@…/nickname.
In non-anon rooms you can also see the person's real JID.

Ah ok, then it's a non-anonymous room.

Since all these per-channel JIDs pollute the namespace (which is kind-of limited on IRC), I prefer to reuse nicks when possible.

with jabber ID john.doe@…. In BitlBee, he's named john.doe. When
I rename him to FriendlyName, root says „Nick `FriendlyName' already
exists“

Whoa... Okay, that may be a misleading error message, that indeed shouldn't happen. :-/ Can you verify using /whois or sometihng like that, that that nickname really doesn't exist yet?

/whois on both nicks gives me the jid of the user etc, and [$user] is away (User is offline). (I have none of the users in my roster)

comment:5 Changed at 2011-01-12T13:54:45Z by ludo@…

AFAICS it's still impossible to join non-anonymous Jabber rooms with 3.0.1 because BitlBee attempts to join the group chat using the IRC nick instead of the JID user part. So we get an "Nicknames locked: please use your username instead" error (which is actually not displayed because `jabber_parse_error' swallows the error text.)

Ideas on how to fix this?

Thanks, Ludo'.

Changed at 2011-01-20T09:37:36Z by ludo@…

Use the JID user name, not the IRC nickname, when joining a Jabber room.

comment:6 Changed at 2011-01-20T09:37:55Z by ludo@…

The attached patch solves the problem for me, i.e., it allows me to join a non-anonymous Jabber room.

Thanks, Ludo'.

comment:7 Changed at 2011-01-23T13:33:11Z by wilmer

Thanks for the patch, but can't you also use the "chat x set nick" setting to set the nick to what it should be?

comment:8 in reply to:  7 Changed at 2011-01-26T10:20:44Z by ludo@…

Replying to wilmer:

Thanks for the patch, but can't you also use the "chat x set nick" setting to set the nick to what it should be?

Hmm, I get:

<civodul> chat 1 set nick ludovic.courtes
<root> Unknown command: chat 1. Please use help commands to get a list of
       available commands.

Besides, the JID contains a dot, which is not allowed as part of an IRC nick.

PS: How can I receive ticket updates by email?

comment:9 Changed at 2011-07-21T08:18:28Z by ludo@…

ping! :-)

Could this patch be applied?

Thanks, Ludo'.

comment:10 Changed at 2011-07-24T11:54:17Z by wilmer

Bah, *very* sorry for the belated response.

"channel set", not "chat set". The chat is just for backward compatibility, pretty much. Only "chat add" and "chat with" work.

comment:11 Changed at 2011-07-24T11:54:51Z by wilmer

Oh yes, and ticket updates to you have never worked because your mailserver is rejecting my messages. :-/

comment:12 Changed at 2011-09-01T22:29:15Z by matrixagent

pong! I would also love if this chat could be applied. :)

comment:13 Changed at 2013-03-29T12:21:40Z by anonymous

Just lost 4 hours because of this bug. Would be great if it could be fixed or at least documented as a warning.

comment:14 Changed at 2014-02-04T07:28:23Z by dx

Keywords: patch added

comment:15 Changed at 2015-09-18T21:27:11Z by anon_

Can this patch be looked at? I have to enter a MUC without being an admin (who can view JID's) to avoid this issue, which is not extremely ideal.

comment:16 Changed at 2015-09-19T01:19:12Z by dx

Keywords: patch removed

The patch has the same effect of doing "channel #whatever set nick <the username part of your own JID>". I don't think it's useful at all.

Removing the patch keyword again, I just added it during a mass tagging.

Changed at 2015-11-04T14:35:34Z by wingo@…

Attachment: bitlbee-jabber-nicks.patch added

comment:17 Changed at 2015-11-04T14:41:06Z by anonymous

I experienced this issue as well. When I would join a non-anonymous conference room cafe@… the IRC nicks were being derived from the participants' jabber ID, and not the handle with which they joined the room. For example one user in the roster would be "agarcia" and not "berto". The "berto" name came in the roster for the room, i.e. a jabber ID of cafe@…/berto. The jabber server is Openfire 3.6.4.

The reason this information wasn't getting propagated correctly appears to be twofold. One, the nick_hint wasn't getting set on the buddies for non-anonymous chats. Two, setting the nick hint would bail out if the user was already logged in -- but of course the user is logged in, that's why I can see them.

I think the patch I just attached fixes the issue. I'll make a PR too.

comment:18 Changed at 2015-11-04T14:42:43Z by anonymous

That last comment was by me -- Andy Wingo <wingo at igalia.com>

comment:20 Changed at 2016-03-20T05:44:56Z by dx

Resolution: fixed
Status: newclosed

Done in a42fda42abad6af64ac9a905856ee9a3095954cd and 3320d6d9868729ce1d7b5a90866554bc898a1fa3, based on the patch above but with a separate API and implemented behind a channel setting called "always_use_nicks"

See the pull request linked above for the relevant discussion. Quoting myself:

I'm open to name ideas and changes to the help text. I picked the first name that came to my mind to avoid getting stuck with that and actually write the thing.

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.