Commit graph

39 commits

Author SHA1 Message Date
Simon Ser
7b762b3e8a Unregister PING timer when destroying client 2021-05-28 09:58:06 +02:00
Simon Ser
24fe62f1de Ensure msg.prefix is always populated 2021-05-28 09:49:21 +02:00
Simon Ser
fc9dfa2dca Implement case-mapping for buffers and message handler 2021-05-27 23:40:08 +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
1d983bd142 Downgrade IRC network logging to debug level 2021-05-27 10:39:24 +02:00
Simon Ser
12a38ace90 Add support for IRCv3 setname 2021-05-25 20:22:21 +02:00
Simon Ser
9dba1b3736 Add vendor prefix to bouncer-networks BATCH type 2021-05-25 17:03:29 +02:00
Simon Ser
6524dc5dd2 Add support for the soju.im/bouncer-networks-notify cap 2021-05-25 17:01:20 +02:00
Simon Ser
5165df718f Disconnect on BOUNCER BIND error 2021-05-25 16:59:59 +02:00
Simon Ser
b429243573 Add support for the soju.im/bouncer-networks extension 2021-05-25 16:58:50 +02:00
Simon Ser
f122e44e9b Use ISUPPORT CHATHISTORY to discover max page size 2021-05-11 16:10:50 +02:00
Simon Ser
305ffb569c Parse ISUPPORT tokens in client 2021-05-11 16:03:16 +02:00
Simon Ser
5fea13df0a Trigger client error if server doesn't support SASL 2021-03-09 09:44:48 +01:00
Simon Ser
194168c062 Display server messages in server buffer
References: https://todo.sr.ht/~emersion/gamja/21
2021-03-08 14:27:05 +01:00
Simon Ser
6430fa252a lib/client: log close code 2021-03-03 18:30:15 +01:00
Simon Ser
aa79067179 lib/client: extract fetchBatch function from roundtripChatHistory 2021-03-03 14:13:05 +01:00
Simon Ser
3536331f94 lib/client: throw error in send if disconnected 2021-03-03 09:37:26 +01:00
Simon Ser
8a5fa4d5c2 lib/client: reset state when websocket is closed 2021-03-03 09:36:48 +01:00
Simon Ser
b0a3cd23e4 Fix inverted condition in fetchHistoryBefore 2021-01-23 12:23:30 +01:00
Simon Ser
4d540d55ac Fix undefined CHATHISTORY_PAGE_SIZE 2021-01-23 12:19:40 +01:00
Simon Ser
1f640a4010 Log WebSocket constructor error in the console 2021-01-22 20:59:17 +01:00
Simon Ser
987f0b3389 Spread it like butter 2021-01-22 20:58:57 +01:00
Simon Ser
430373dd13 Move chat history operations into Client 2021-01-22 18:51:38 +01:00
Simon Ser
4e1f06b960 Move auto-reconnect logic into Client 2021-01-22 18:44:06 +01:00
Simon Ser
41cd2153cf Keep track of client status in Client 2021-01-22 18:29:22 +01:00
Simon Ser
0261bc11e7 Delay Client error event
Right now the caller won't receive the event, because it's triggered
before the function returns.
2021-01-22 17:50:52 +01:00
Simon Ser
06eb639ee9 Convert caps to lower case 2021-01-22 12:27:32 +01:00
Simon Ser
516de5b3ea
Better handle registration errors 2020-08-25 11:42:40 +02:00
Simon Ser
9df58971ea
Improve SASL error message 2020-08-10 15:01:48 +02:00
bbworld1
16582a6592
Add error reporting on connect and main page 2020-08-08 10:34:45 +02:00
Simon Ser
36df984b09
Fetch all unread messages on reconnect 2020-07-15 18:21:09 +02:00
Simon Ser
c9b07efc9c
Implement chathistory support 2020-07-10 14:37:38 +02:00
Simon Ser
db13f34a40
Reply to PING 2020-07-01 12:12:56 +02:00
Simon Ser
0aa8cca483
Enable echo-message 2020-06-26 14:50:29 +02:00
Simon Ser
0bd2e10631
Add away indicator 2020-06-26 12:45:27 +02:00
Simon Ser
c59a8ff63c
Request caps on CAP NEW 2020-06-26 12:37:45 +02:00
Simon Ser
b449ace4b4
Switch to react
Under the hood, preact is used to reduce dependency size. We still don't
have a build stage, so htm is used instead of JSX.
2020-06-24 14:37:49 +02:00
Simon Ser
62300746d3
Remove assets/ 2020-06-24 11:18:51 +02:00
Renamed from assets/client.js (Browse further)