C. McEnroe
3cb7cc97f6
Allow commands to take multiline input
2020-03-23 14:54:46 -04:00
C. McEnroe
7ea1a416a1
Bump edit buffer cap to 1024
...
With message splitting it's reasonable to allow this to be larger.
2020-03-23 13:45:28 -04:00
C. McEnroe
cf1545870a
Assume worst case for unknown user and host in splitMessage
...
The default USERLEN of 9 doesn't have a great source, the RFC only says
that nicks are length 9, so my assumption is that usernames are not
longer.
2020-03-23 13:25:10 -04:00
C. McEnroe
3bb3a11454
Implement message splitting
2020-03-22 15:13:33 -04:00
C. McEnroe
be4283b8ff
Handle empty input directly in command
2020-03-22 14:38:22 -04:00
C. McEnroe
eb6316c235
Track own host, handle CHGHOST
2020-03-22 14:32:20 -04:00
C. McEnroe
ccde1c2c8c
Add /say
2020-03-22 14:19:11 -04:00
C. McEnroe
0d0a6d1575
Handle RPL_CHANNELMODEIS
2020-03-22 11:40:58 -04:00
C. McEnroe
61828a12e9
Handle user mode changes
2020-03-22 11:26:16 -04:00
C. McEnroe
8da45d9183
Rewrite handleMode
2020-03-22 11:18:21 -04:00
C. McEnroe
1c508b78ab
Handle RPL_UMODEIS
2020-03-18 08:33:42 -04:00
C. McEnroe
1d5c4a5e34
Send blank line after 10 minutes idle
...
Without this, I was having catgirl "time out" from pounce's POV, but
without catgirl noticing anything... I still don't understand this. Been
using this fix for a couple weeks though and it stopped happening, and
it's otherwise harmless, but yikes.
2020-03-17 11:58:50 -04:00
C. McEnroe
2f53f75892
Ignore 422 ERR_NOMOTD
...
pounce will start sending these because some silly clients don't think
they're connected until some MOTD reply...
2020-03-09 03:08:59 -04:00
C. McEnroe
7e120f00a1
Set self.pos before handling the message
...
This intuitively feels wrong, but isn't. Most importantly, handleError
immediately exits, but we still need to "consume" that message,
otherwise pounce will keep sending it on reconnect. The same goes for
any other handler that might cause an exit, such as a require parameter
count failure.
2020-03-08 23:15:56 -04:00
C. McEnroe
5c167e4181
Prevent entering commands in <debug> if restricted
...
Because the <debug> ID always exists, it's possible to create a window
for it even while restricted with "/window <debug>" and try to enter
commands there.
2020-03-02 19:18:55 -05:00
C. McEnroe
8570a62235
Implement the causal.agency/consumer capability
2020-02-29 01:03:46 -05:00
C. McEnroe
78b4832bfe
Add raw modes to mode message
2020-02-25 03:00:36 -05:00
C. McEnroe
e9524b4af3
Handle changing setParamModes, paramModes and other channel modes
2020-02-25 02:54:15 -05:00
C. McEnroe
431945614d
Fix handling EXCEPTS and INVEX without values
2020-02-25 02:24:29 -05:00
C. McEnroe
3c5e1c95a4
Add /mode, /except, /invex and handle lists replies
2020-02-25 02:12:35 -05:00
C. McEnroe
c3c40d738b
Accumulate mode changes into a buffer for one message
2020-02-23 22:44:19 -05:00
C. McEnroe
9609723dc6
Handle ERR_CHANOPRIVSNEEDED
2020-02-20 05:04:58 -05:00
C. McEnroe
50a6d34a55
Handle MODE changing channel list modes
2020-02-20 04:53:06 -05:00
C. McEnroe
c2c8595012
Handle MODE setting channel prefix modes
2020-02-20 04:18:25 -05:00
C. McEnroe
a5cd2cd97a
Just use "b" to query ban list
2020-02-20 03:48:26 -05:00
C. McEnroe
a3b6d5d9a7
Change ban list formatting
2020-02-20 03:44:57 -05:00
C. McEnroe
b3c5458fc9
Rearrange some handlers
2020-02-20 03:18:48 -05:00
C. McEnroe
42ad42887c
Handle RPL_INVITING when no invite-notify
2020-02-20 02:32:36 -05:00
C. McEnroe
5c79b16a51
Handle ERR_BANLISTFULL
2020-02-20 02:13:23 -05:00
C. McEnroe
1b01045bf0
Add handlers for user-in-channel errors
2020-02-20 01:52:58 -05:00
C. McEnroe
f494fe6edb
Add generic error reply handler
...
This should have been in way earlier...
2020-02-20 01:38:31 -05:00
C. McEnroe
56de4668ac
Add /ban, /unban and handle ban list replies
2020-02-19 21:47:16 -05:00
C. McEnroe
2a33ee68dd
Format WHOIS signon date with %F %T
2020-02-19 21:29:51 -05:00
C. McEnroe
d5c4e7e371
Apply word wrapping to tabs before setting align
...
This fixes long URLs right after the initial \t being wrapped and line
counted incorrectly.
2020-02-19 20:31:29 -05:00
C. McEnroe
ab94728913
Remove bad continues in styleParse loops
...
Since we're sometimes manually doing spaces that need the right styling.
2020-02-19 02:11:17 -05:00
C. McEnroe
026a8ca979
Various small cleanup in ui.c
2020-02-19 01:18:09 -05:00
multiplexd
460207440b
Use the correct hostname in error message
...
Previously, the remote host to which catgirl(1) is connecting was used
in error reporting instead of the local bind address if the latter could
not be resolved.
2020-02-17 23:07:29 -05:00
C. McEnroe
6be9aa9901
Increase buffer size to 1024
2020-02-17 23:06:37 -05:00
C. McEnroe
079bbda246
Accept Shift-M-0 through Shift-M-9 as well
...
This mostly just to accommodate my inverted keyboard layout.
2020-02-17 12:27:07 -05:00
C. McEnroe
cf83e95114
Only scroll after reflow if necessary
...
If we've already filled up every line of the window, there is no need to
scroll.
2020-02-17 11:57:29 -05:00
C. McEnroe
fa29c37911
Scroll the window only once during reflow
...
ncurses implements scrolling as a memmove of the array of lines
pointers, which happens each time a line is added to the bottom of the
window, causing a scroll. This would get noticeably slow if WindowLines
were increased to just 1024. Should've used a ring buffer, I think.
2020-02-17 11:49:56 -05:00
C. McEnroe
b20be7cbad
Various small cleanups
...
Haven't really gone through ui.c yet.
2020-02-16 23:05:43 -05:00
C. McEnroe
ba524ed804
Replace a lot of snprintf with a catf implementation
2020-02-16 19:12:19 -05:00
C. McEnroe
3885dd5231
Add 379 to WHOIS responses
2020-02-16 18:42:38 -05:00
C. McEnroe
edd8855418
Track EXCEPTS and INVEX modes
2020-02-16 18:31:50 -05:00
C. McEnroe
09cd9a300f
Add RFC 1459 and modern.ircdocs.horse references
...
It's ridiculous but I really am looking at all three.
2020-02-16 18:16:29 -05:00
C. McEnroe
5ce9ec70b6
Re-sort STANDARDS section
...
Just do it by dumb alphabetic to make it easier to maintain.
2020-02-16 18:10:40 -05:00
C. McEnroe
f84ab67311
Apply colorMentions to actions
...
The first-two-words branch works well for "/me verbs nick".
2020-02-16 05:22:28 -05:00
C. McEnroe
fa4e81d480
Set defaults for various types of modes
...
These are actually from RFC 1459, since that seems to be the more likely
lowest common denominator, so I should maybe it it to STANDARDS (along
with ircdocs' section on ISUPPORT). RFC 2812 has a lot of stuff that
isn't currently used.
2020-02-15 22:59:04 -05:00
C. McEnroe
700b5d5870
Replace small integers in size_t with uint
2020-02-15 22:19:55 -05:00