shout
shout copied to clipboard
Can't Paste Long text in 1 line
when i try to paste long text in 1 line (over 800 byte) it not work anymore before reconnect (even can't use part/leave)
i try it on kvirc it cut some part and stop to input but shout or andchat has problem
@dateno1 could you look in the server tab (ex: the one called FreeNode if connected to freenode) if pasting such a long text did not got you kicked from the server ?
This is a limitation of RFC 1459, Shout should be cutting lines at 400 characters and splitting them up as such.
if I just kicked by server that not problem
i was kicded by server but can't notice that before reconnect manually
This is a limitation of RFC 1459, Shout should be cutting lines at 400 characters and splitting them up as such.
Interesting :)
But digging it, I find that in RFC 1459 (src):
To provide useful 'non-buffered' network IO for clients and servers, each connection is given its own private 'input buffer' in which the results of the most recent read and parsing are kept. A buffer size of 512 bytes is used so as to hold 1 full message, although, this will usually hold several commands. The private buffer is parsed after every read operation for valid messages. When dealing with multiple messages from one client in the buffer, care should be taken in case one happens to cause the client to be 'removed'.
and that in RFC 2812 (src):
IRC messages are always lines of characters terminated with a CR-LF (Carriage Return - Line Feed) pair, and these messages SHALL NOT exceed 512 characters in length, counting all characters including the trailing CR-LF. Thus, there are 510 characters maximum allowed for the command and its parameters. There is no provision for continuation of message lines. See section 6 for more details about current implementations.
But I can find that magic number of 400 in irssi-otr code for example.
So it's intriguing me, do you know what's the exact source of that 400 @Xe ?
i was retest it
paste 'abcdefghijklmnopqrstuvwxyz1234567890~!@#$%^&*()_+`-=|,<.>/?'";:[{]}' and add some more characters
Exactry 495 characters ok but 496 not
let nicklen = 21
identlen = 8
hostlen = 63
linelen = 512
in
return #(
string.rep("a", nicklen) .. "!"
.. (string.rep("b", identlen)) .. "@"
.. string.rep("h", hostlen)
)
> 94
return 512 - 94
> 418
400 is a pessimistic estimate in case the network you are connected to allows much longer nicknames and people choose a long enough nickname, and really as a safe estimate in general. Other bots i've maintained actually cut off at 380 characters to allow for text wrapping.
Kicked by server is not problem
Problem is kiwi not said about that to user (can't notice that)
Problem is kiwi not said about that to user (can't notice that)
@dateno1 kiwi ?
@JocelynDelalande KiwiIRC.
@Xe wow, thanks a lot for taking time to explain :-)
@TheSonAlsoRises ah, thanks, I was wondering how the fruit could be involved in the debate ;-)
@dateno1 Why are you speaking about kiwi issues on shout-irc issue tracker ?
just mistype
my server provide two web client (kiwi&shout)
kiwi work well but shout has more better fuction
@dateno1 ok :)
So, just to try to reword all that :
You get kicked but your issue is that shout do not notice you about it ? (how do you get sure you get kicked then ? from server logs or other users logs ?)
shout not say anything
but already kicked (other users can see disconnect message)
@dateno1 I don't manage to reproduce your bug (the 2)) (getting kicked without noticing), so a few questions :
- Which server are you using ?
- What message exactly gets you kicked ?
- Does it happens on any chan of the server or only one specific chan ?
- Does it happen on query or in a public room ?
From what I tested : If I try to kick by hand a shout user manually on a public chan, I get noticed.
We have to set up a way to reproduce your bug.
(just for the record, the fact that long messages are trucated is another bug, discussed in #197)
http://oi61.tinypic.com/30vnk85.jpg
It Run with ngircd
I can found it on any channel&any user permission(normal, voice, hop, op)
@dateno1 I think you got notified : look at the server tab (the one in green you masked on your image), there is one waiting message, what does it says ?
(I do agree feedback may be better and at least block further user input explaining why)
I'm seeing the same problem. Shout is connected to ngircd server, and when shout-user tries to paste a long text and/or url, the user gets kicked out by ngircd server, but shout won't "notice" it, at least the users don't realize that, and they keep writing, but that won't go anywhere because shout isn't connected to the server anymore..
it's 100% reproducible with ngircd.