Closed Bug 25147 Opened 25 years ago Closed 25 years ago

Nick changes while connected to Undernet leads to a null nick in the client.

Categories

(Other Applications :: ChatZilla, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jce2, Assigned: rginda)

Details

(Whiteboard: Fix in hand.)

Attachments

(1 file)

Process: 1) Apply my patch to the static.js file in the Chatzilla directory. (Without this, you can't even connect to undernet because the /server command isn't implimented. (*nudges shaver* could you check in your implimentation?) 2) /attach undernet. 3) use /nick to change your nick. Expected result: The new nick appears in the nick area of the client, and appears before what you send in channels. Actual result: (As of Build 2000012609), the nick becomes NULL, and stays that way though any other nick changes. The nick changes are reflected on the server, but not on the client.
This is probably due to differences in the nick changed message between undernet and the rest of the IRC world. I'll poke at it this weekend. Removing [DOGFOOD] designation, that's a little too strong a word for chatzilla bugs. (also, dogfood is now a keyword.)
Status: NEW → ASSIGNED
Summary: [DOGFOOD] Nick changes while connected to Undernet leads to a null nick in the client. → Nick changes while connected to Undernet leads to a null nick in the client.
The problem is that undernet doesn't put a ":" before the new nick in the nick change message. Results from irc telnet sessions... :irc.mozilla.org 376 ByterTest :End of /MOTD command. NICK Chekc^H :ByterTest!chtelnet@user-38lde8e.dialup.mindspring.com NICK :Chekc NICK TESTCHANGE :Chekc!chtelnet@user-38lde8e.dialup.mindspring.com NICK :TESTCHANGE :services1.undernet.org 421 ByterTest USER :Unknown command NICK TestNick :ByterTest!~chtest@user-38lde8e.dialup.mindspring.com NICK TestNick Hmm...I never knew that Undernet violated RFC 1459. :-(
Whiteboard: Found the source of the problem...
Hmm..possible workaround for this is for the section that handles a nick change message could be if e.meat is null, then it should consider the last element in the parms array as the new nick. This should work because no server allows you to change to a null nick. Unfortunately, I'm not very experienced with javascript at the moment.. I'll see what I can do for a patch...
Actually, if you look at section 4.1.2 of http://www.irchelp.org/irchelp/text/rfc1459.txt, it specifies (vaguely) that undernet is correct, and the rest are wrong. NICK Wiz ; Introducing new nick "Wiz". :WiZ NICK Kilroy ; WiZ changed his nickname to Kilroy. The following patch should make things better: =================================================================== RCS file: /cvsroot/mozilla/extensions/irc/js/lib/irc.js,v retrieving revision 1.9 diff -u -r1.9 irc.js --- irc.js 2000/01/07 05:15:29 1.9 +++ irc.js 2000/01/27 01:29:57 @@ -909,7 +909,7 @@ CIRCServer.prototype.onNick = function serv_nick (e) { - var newKey = e.meat.toLowerCase(); + var newKey = (e.meat) ? e.meat.toLowerCase() : e.params[1].toLowerCase(); var oldKey = e.user.nick; renameProperty (e.server.users, oldKey, newKey); Also, fwiw, selecting options->debug messages will dump the raw irc messages, as well as event propagation to the console.
This patch fixes it...the earlier patch missed the second change... 912,923c912 < // Some irc networks put a : before the current nick in their nick change < // messages, others don't. We need to handle both cases. < if (e.meat) < { < // New nick is in the trailer. < var newKey = e.meat.toLowerCase(); < } < else < { < // New nick is NOT in the trailer. (Undernet for example). < var newKey = e.params[(e.params.length - 1)].toLowerCase(); < } --- > var newKey = e.meat.toLowerCase(); 928c917 < e.user.changeNick(newKey); --- > e.user.changeNick(e.meat); The change works and I am now actively using chatzilla on Undernet. :-)
Whiteboard: Found the source of the problem... → Fix in hand.
patch for undernet, dalnet and slashnet, as well as patch for nick changes checked in.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
Product: Core → Other Applications
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: