Simon Ser
f17d61ed86
lib/irc: fix formatMessage when last arg starts with colon
...
Fixes: a51be5037d
("lib/irc: only add colon to trailing arg when necessary")
2021-09-08 10:42:36 +02:00
Simon Ser
a51be5037d
lib/irc: only add colon to trailing arg when necessary
...
This mirrors go-irc's behavior:
7ba1a1858f/parser.go (L374)
Closes: https://todo.sr.ht/~emersion/gamja/103
2021-09-06 10:52:06 +02:00
Simon Ser
e283d9c7ab
Add support for MONITOR
2021-08-24 12:53:46 +02:00
Simon Ser
429450e060
Handle RPL_INVITING
2021-06-24 18:01:24 +02:00
Simon Ser
bc05fd5c11
Treat server broadcasts as highlights
2021-06-23 19:52:45 +02:00
Simon Ser
0b3f5ef88b
Add irc.forEachChannelModeUpdate helper
2021-06-11 12:54:42 +02:00
Simon Ser
4249da4ba8
Add /quiet and /unquiet
2021-06-11 00:27:19 +02:00
Simon Ser
8972130252
s/var/let/
2021-06-10 18:11:11 +02:00
Simon Ser
a9c1abb064
Route channel mode and invite/except list to channel buffer
2021-06-07 14:13:00 +02:00
Simon Ser
403d7ec7f7
Add case-mapping support to irc.isHighlight
...
Closes: https://todo.sr.ht/~emersion/gamja/77
2021-06-06 15:52:58 +02:00
Simon Ser
0dfb7623db
Add support for labeled-response
...
It's just used to avoid mixing up messages coming from the server
so far.
2021-06-04 20:38:01 +02:00
Simon Ser
34078d5da7
Add support for draft/event-playback
2021-06-04 19:45:51 +02:00
Simon Ser
651e255ddb
Use ISUPPORT CHANTYPES in Client.isChannel
2021-06-04 19:17:39 +02:00
Simon Ser
6e20ad872e
Add support for STATUSMSG
...
Closes: https://todo.sr.ht/~emersion/gamja/65
2021-06-03 13:31:43 +02:00
Simon Ser
283f8af4b1
lib/irc: rename IRC prefix utilities
2021-06-03 13:18:28 +02:00
Simon Ser
a4294975a2
Add support for /ban without argument
2021-06-03 10:19:09 +02:00
Drew DeVault
be1ecf607d
Display prefixes in member list
...
Closes: https://todo.sr.ht/~emersion/gamja/43
2021-05-31 15:56:08 +02:00
Simon Ser
e080e87cb7
Pretty-print MOTD
2021-05-28 10:50:42 +02:00
Simon Ser
e9d90d4927
Fix TypeError in isHighlight
...
TypeError: msg.prefix is null
2021-05-28 09:49:21 +02:00
Drew DeVault
121d7ec075
Add /whois command
...
This also rigs up some helpers in Client for handling the whois
response, which I will use for /ban and /quiet and such shortly.
2021-05-27 23:15:53 +02:00
Simon Ser
615e746ec5
lib/client: add Client.cm
...
This contains the current connection case-mapping, parsed from the
CASEMAPPING ISUPPORT token.
2021-05-27 15:14:03 +02:00
Simon Ser
3110a9e2df
lib/irc: add case-mapping primitives
...
irc.CaseMapping contains the basic canonicalization functions for
the three supported case-mappings. irc.CaseMapMap is a Map-like
class that supports case-mapped keys.
2021-05-27 15:13:32 +02:00
Simon Ser
8ab10cf2a5
lib/irc: escape/unescape everything in tags
...
Without the greedy flag on the regexp, String.replace will just
replace the first match.
While at it, also make sure to convert to a string when formatting
tag values. This allows tag values to be e.g. numbers.
2021-03-09 17:40:57 +01:00
Simon Ser
2d4409e7aa
lib/irc: accept tags without value
2021-03-09 17:31:12 +01:00
Simon Ser
51523f4014
Extract network name from ISUPPORT
2021-01-22 11:43:47 +01:00
Simon Ser
b3f8b0c97d
Add support for RPL_ISUPPORT
2021-01-22 11:34:04 +01:00
Simon Ser
0b03f9d767
Ignore RPL_TOPICWHOTIME
...
We don't need this piece of information yet, and we don't want to
clutter the server buffer with channel messages.
2020-09-03 11:36:08 +02:00
Simon Ser
516de5b3ea
Better handle registration errors
2020-08-25 11:42:40 +02:00
Simon Ser
bce216b7fb
Parse all CTCP messages
...
We display them nicely, however we never reply to them.
2020-08-13 16:04:39 +02:00
Simon Ser
917b348992
lib/irc: make isHighlight operate on messages
...
Makes it easier to re-use elsewhere.
2020-08-13 11:44:41 +02:00
Simon Ser
0157dd4cc6
Handle RPL_NOTOPIC
2020-08-03 18:59:54 +02:00
Simon Ser
3b0253855e
Mark FAIL as an error
2020-07-15 11:07:28 +02:00
Simon Ser
c9b07efc9c
Implement chathistory support
2020-07-10 14:37:38 +02:00
Simon Ser
7f0ca72d3e
Remove outdated TODO
2020-07-02 11:02:29 +02:00
Simon Ser
99004165f2
Print IRC error messages in red
2020-06-29 14:29:31 +02:00
Simon Ser
abece1e3fd
Detect highlights
2020-06-29 11:08:47 +02:00
Simon Ser
deb8d4c01e
Avoid String.prototype.replaceAll
...
Not well supported in web browsers, except Firefox.
2020-06-28 15:40:57 +02:00
Simon Ser
1807f29d2d
Parse RPL_MYINFO
2020-06-26 12:08:14 +02:00
Simon Ser
57ed3a13a3
Send WHO query when opening nick buffer
2020-06-26 12:00:10 +02:00
Simon Ser
df0981e8e0
Add isChannel
2020-06-24 15:52:33 +02:00
Simon Ser
62300746d3
Remove assets/
2020-06-24 11:18:51 +02:00