aboutsummaryrefslogtreecommitdiff
path: root/lib/client.js (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Display server messages in server bufferSimon Ser2021-03-081-0/+4
| | | | References: https://todo.sr.ht/~emersion/gamja/21
* lib/client: log close codeSimon Ser2021-03-031-2/+3
|
* lib/client: extract fetchBatch function from roundtripChatHistorySimon Ser2021-03-031-22/+26
|
* lib/client: throw error in send if disconnectedSimon Ser2021-03-031-0/+3
|
* lib/client: reset state when websocket is closedSimon Ser2021-03-031-0/+4
|
* Fix inverted condition in fetchHistoryBeforeSimon Ser2021-01-231-1/+1
|
* Fix undefined CHATHISTORY_PAGE_SIZESimon Ser2021-01-231-0/+10
|