Commit graph

82 commits

Author SHA1 Message Date
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
Renamed from assets/irc.js (Browse further)