aboutsummaryrefslogtreecommitdiff
path: root/lib/client.js (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Auto-join when adding new network on irc:// link clickSimon Ser2021-11-071-0/+12
| | | | Closes: https://todo.sr.ht/~emersion/gamja/111
* lib/client: use Client.isMyNick to handle self-NICK messagesSimon Ser2021-11-031-1/+1
| | | | This handles case-mapping.
* lib/client: fix missing account in WHOXSimon Ser2021-11-021-0/+4
|
* lib/client: generalize pendingWHOIS, store list in ENDOF* messagesSimon Ser2021-10-231-14/+31
| | | | | This allows processing a list of replies atomically and receiving the ENDOF* marker.
* lib/client: rename whoisDB to pendingWHOIS, garbage collectSimon Ser2021-10-231-6/+12
|
* Add support for SASL EXTERNALSimon Ser2021-10-121-4/+13
| | | | | Can be useful when the server is using e.g. a cookie for authentication purposes.
* lib/client: handle MONITOR without value in ISUPPORTSimon Ser2021-10-071-1/+5
|
* Add support for WHOXSimon Ser2021-09-211-3/+83
| | | | This allows querying the account of the user.
* Add support for account-notifySimon Ser2021-09-211-0/+1
|
* Add support for extended-joinSimon Ser2021-09-211-0/+1
|
* lib/client: error out on unsupported WebSocket data typeSimon Ser2021-09-061-1/+8
|
* lib/client: remove WebSocket error event handlerSimon Ser2021-09-061-4/+9
| | | | | | The error event handler is useless, because the error event is never emitted without a close event, and doesn't give any details about the error.
* Add support for chghostSimon Ser2021-09-061-0/+1
| | | | See https://ircv3.net/specs/extensions/chghost
* Avoid sending empty MONITOR command on startupSimon Ser2021-08-301-1/+1
| | | | Closes: https://todo.sr.ht/~emersion/gamja/102
* Add support for MONITORSimon Ser2021-08-241-0/+43
|
* lib/client: fix caps with equal sign in valueSimon Ser2021-07-041-6/+6
| | | | CAP=a=b wouldn't parse correctly.
* lib/client: reject Client.roundtrip promise on disconnectSimon Ser2021-06-211-2/+17
|
* Don't try to reconnect if the network is downSimon Ser2021-06-111-5/+15
|
* s/var/let/Simon Ser2021-06-101-53/+54
|
* Make Client.roundtripChatHistory return an array of messagesSimon Ser2021-06-101-7/+7
|
* Make Client.fetchBatch more reliableSimon Ser2021-06-101-6/+17
|
* lib/client: fix batch cleanupSimon Ser2021-06-101-1/+1
|
* Switch to server buffer on server name clickSimon Ser2021-06-101-0/+4
| | | | Closes: https://todo.sr.ht/~emersion/gamja/68
* lib/client: set a default server prefixSimon Ser2021-06-101-16/+5
| | | | | Set the default server prefix to "*". This allows the rest of the code to assume all messages always have a prefix.
* lib/client: gracefully handle null in isMyNick/isChannelSimon Ser2021-06-101-0/+6
|
* lib/client: always populate prefix for incoming messagesSimon Ser2021-06-101-0/+8
|
* Add support for labeled-responseSimon Ser2021-06-041-5/+26
| | | | | It's just used to avoid mixing up messages coming from the server so far.
* Add support for draft/event-playbackSimon Ser2021-06-041-0/+2
|
* Use ISUPPORT CHANTYPES in Client.isChannelSimon Ser2021-06-041-2/+2
|
* Introduce State.handleMessageSimon Ser2021-06-041-0/+5
| | | | | | Takes an IRC message, updates the state. Doesn't yet handle all messages, this will be a step-by-step process.
* Add support for incoming INVITE messagesSimon Ser2021-06-031-0/+1
|
* Add support for CHATHISTORY TARGETSSimon Ser2021-06-021-0/+18
| | | | | | | | | | | | | | | | The main motivation is to avoid missing direct messages coming from other users. A nice side-effect is that we no longer need to issue CHATHISTORY queries for each channel we JOIN: instead, we can only fetch history for targets known to have new messages available (as indicated by CHATHISTORY TARGETS). We use read receipts instead of delivery receipts, so that reloading the webapp restores the exact same state (ie, unread messages are re-fetched). References: https://github.com/ircv3/ircv3-specifications/pull/450
* Simplify Client.roundtrip callback argSimon Ser2021-05-311-8/+4
|
* Introduce Client.whoSimon Ser2021-05-311-0/+19
|
* Remove unused arg from Client.whoisSimon Ser2021-05-311-1/+1
|
* Fix WHOIS DB not using case-mapping fallbackSimon Ser2021-05-281-1/+2
| | | | | In case the server advertises an unsupported case-mapping, we have a fallback.
* Unregister PING timer when destroying clientSimon Ser2021-05-281-0/+18
|
* Ensure msg.prefix is always populatedSimon Ser2021-05-281-0/+6
|
* Implement case-mapping for buffers and message handlerSimon Ser2021-05-271-0/+4
|
* Add /whois commandDrew DeVault2021-05-271-0/+36
| | | | | This also rigs up some helpers in Client for handling the whois response, which I will use for /ban and /quiet and such shortly.
* lib/client: add Client.cmSimon Ser2021-05-271-1/+21
| | | | | This contains the current connection case-mapping, parsed from the CASEMAPPING ISUPPORT token.
* Downgrade IRC network logging to debug levelSimon Ser2021-05-271-2/+2
|
* Add support for IRCv3 setnameSimon Ser2021-05-251-1/+4
|
* Add vendor prefix to bouncer-networks BATCH typeSimon Ser2021-05-251-1/+1
|
* Add support for the soju.im/bouncer-networks-notify capSimon Ser2021-05-251-0/+4
|
* Disconnect on BOUNCER BIND errorSimon Ser2021-05-251-0/+8
|
* Add support for the soju.im/bouncer-networks extensionSimon Ser2021-05-251-0/+23
|
* Use ISUPPORT CHATHISTORY to discover max page sizeSimon Ser2021-05-111-5/+15
|
* Parse ISUPPORT tokens in clientSimon Ser2021-05-111-0/+6
|
* Trigger client error if server doesn't support SASLSimon Ser2021-03-091-1/+1
|