Closed
Bug 1082501
Opened 10 years ago
Closed 10 years ago
LIST fails on some servers during the first minute after connection
Categories
(Chat Core :: IRC, defect)
Chat Core
IRC
Tracking
(Not tracked)
RESOLVED
FIXED
1.6
People
(Reporter: aleth, Assigned: aleth)
References
Details
(Whiteboard: [1.6-blocking])
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
clokep
:
review+
|
Details | Diff | Splinter Review |
e.g. irc.mozilla.org
[14/10/2014 11:58:21] ":fripp.mozilla.org NOTICE aleth-build :*** You cannot list within the first 60 seconds of connecting. Please try again later."
[14/10/2014 11:58:21] ":fripp.mozilla.org 321 aleth-build Channel :Users Name"
[14/10/2014 11:58:21] ":fripp.mozilla.org 323 aleth-build :End of channel list."
So we get a correct 321,323 pair, but that means we won't reattempt LIST for another hour or day or whatever the constant is.
Assignee | ||
Updated•10 years ago
|
Whiteboard: [1.6-blocking]
Assignee | ||
Comment 1•10 years ago
|
||
This is indicated by ISUPPORT SECURELIST ("This InspIRCd specific token indicates that secure listing is enabled, and that your initial request for a channel list on connect may be denied until you have been connected for a certain amount of time.")
https://github.com/inspircd/inspircd/blob/master/src/modules/m_securelist.cpp
Assignee | ||
Comment 2•10 years ago
|
||
Comment 3•10 years ago
|
||
Comment on attachment 8513432 [details] [diff] [review]
securelist.diff
Review of attachment 8513432 [details] [diff] [review]:
-----------------------------------------------------------------
How hard would this be to add a test for?
Let me know about the parseInt comment...
::: chat/protocols/irc/ircNonStandard.jsm
@@ +56,5 @@
> + // pair, but no list data.
> + // We fake the last LIST time so that we will retry LIST the next time
> + // the user requires it after the interval specified.
> + const kMinute = 60000;
> + let waittime = (aMessage.params[1].split(" ")[7] * 1000) || kMinute;
Doesn't this need a parseInt or something around it? Nit: waitTime
@@ +57,5 @@
> + // We fake the last LIST time so that we will retry LIST the next time
> + // the user requires it after the interval specified.
> + const kMinute = 60000;
> + let waittime = (aMessage.params[1].split(" ")[7] * 1000) || kMinute;
> + this._lastListTime = Date.now() - kListRefreshInterval + waittime;
This is me just being pedantic, but can you do now + waitTime - refreshInterval? It makes more sense in my head. :)
Assignee | ||
Comment 4•10 years ago
|
||
(In reply to Patrick Cloke [:clokep] from comment #3)
> How hard would this be to add a test for?
The test we would want here is to detect whether inspircd have decided to change the string they send us, and we can't test for that.
> > + let waittime = (aMessage.params[1].split(" ")[7] * 1000) || kMinute;
>
> Doesn't this need a parseInt or something around it? Nit: waitTime
It's not needed as the multiplication enforces type conversion.
Attachment #8513432 -
Attachment is obsolete: true
Attachment #8513432 -
Flags: review?(clokep)
Attachment #8516860 -
Flags: review?(clokep)
Updated•10 years ago
|
Attachment #8516860 -
Flags: review?(clokep) → review+
Assignee | ||
Updated•10 years ago
|
Keywords: checkin-needed
Comment 5•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 1.6
You need to log in
before you can comment on or make changes to this bug.
Description
•