Open Bug 336702 Opened 14 years ago Updated 11 years ago
/notify feature does not work for over 70 users (over IRC line length limit)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:18.104.22.168) Gecko/20060426 Firefox/22.214.171.124 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:126.96.36.199) Gecko/20060426 Firefox/188.8.131.52 Sorry, I'm a newbie to bugzilla. I asked about this in the Chatzilla IRC channel and the user "Callek" thought that this might qualify as a bug and asked me to put him in the "CC:" field... but I don't see the CC: field :( Hope this gets through where it matters. Essentially, /notify is working for some but not all of the 70 + users I have on /notify. The behavior is the same when adding a user to the /notify list using chatzilla's preferences/lists option, or when typing "/notify <username> in a terminal window. I have even entered my own IRC handle, and am not notified that I am on-line. Reproducible: Always Steps to Reproduce: 1. Add a user to /notify via chatzilla's preferences/lists option, or by typing "/notify <username> in a terminal window. 2. Add your own IRChandle, or add someone you know to be on-line. 3. Result: you or the person you know to be on-line is not shown as on-line whether you wait the instructed 5 minutes or if you type "/notify" into a terminal window. Actual Results: Chatzilla does not recognize the above noted users as being on-line. Expected Results: I expected to be notified that the above listed users were on-line.
Assignee: nobody → rginda
Component: General → ChatZilla
Product: Firefox → Other Applications
QA Contact: general → samuel
Version: unspecified → Trunk
Heh. Seems like this code wasn't really designed to have 70 users as an argument - I bet the server drops an arbitrary number, or maybe whatever is below the character limit for single IRC messages. I think this code needs the same magic some of our other code has (/op has it, I believe, and possibly /whois and some other stuff) to split these lines up so that it sends in groups of 5.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Hrm. I was wrong, apparently - the spec says you can give as many nicks as you like, as long as they don't exceed the 512 character maximum message length. Which could also happen in this case, of course... And then again, it'd be fairly interesting to see whether IRC servers actually implement per spec. Sigh.
Thank you for your comments Hannibal. Incidentally, the behavior I describe occurs both with Windows XP Home and Ubuntu Linux Dapper Drake (the beta). I have been trying to locate the latest beta of Chatzilla at http://twpol.dyndns.org/mozilla/chatzilla/nightly/ (perhaps it addresses the problem?) but it would appear to be the same as the release version that I have(0.9.73). If anyone has a lead on a newer, even a test version, I'd be happy to give that a spin. Sure wish I could figure a way to resolve this issue with /notify ! Sincerely, Lawrence Ithaca, NY
It's almost certainly the IRC line length limit, which is indeed implemented very strictly by servers. Lawrence, the website you found is where the absolute latest versions are, but I don't know why you expected anything to be different - no-one's even suggested that they've done anything to fix it here, and you'd definately know (lots of things have to happen before any change is made).
Severity: major → minor
I did a quick patch, haven't sanity-checked this or tested it. I'll try to do that tonight or tomorrow - but if anyone else can, please beat me to it.
Assignee: rginda → gijskruitbosch+bugs
Status: NEW → ASSIGNED
James, thank you for your response. Excuse me, but I do not know how Bugzilla or the system works as I am a real newbie to all this. I appreciated your patient comments. Hannibal, thanks for the patch! I will learn how to download and use it.
Comment on attachment 221576 [details] [diff] [review] [untested] Quick Patch >+ lastSpace = isonString.lastIndexOf(" ", 500); >+ sendIsonString = isonString.substring(0, lastSpace); >+ // + 1 so as to not take the space along for the ride: >+ isonString = isonString.substring(lastSpace + 1); >+ net.primServ.sendData("ISON " + sendIsonString + "\n"); Don't need a temporary here; just put the first substring in the sendData call, then remove the chunk from isonString. Also, I wonder which of substr or substring is faster... >+ } >+ if (isonString != "") Is there any necessity to compare directly to "", and not just rely on the truth value? Apart from that, I think it looks good.
Comment on attachment 221576 [details] [diff] [review] [untested] Quick Patch This patch won't work for the simple reason that it won't correctly determine who is offline, since it can get two or more replies which borks the on303 code. I'll try to come up with something better in the course of the next few days.
Attachment #221576 - Attachment is obsolete: true
Summary: Chatzilla /notify feature, if over 70 users on notify, does not notify. Is there a limit to the number of users? → /notify feature does not work for over 70 users (over IRC line length limit)
I haven't worked on this in ages and unfortunately I won't have much time to do so soon either. Reassigning.
Assignee: gijskruitbosch+bugs → rginda
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.