aboutsummaryrefslogtreecommitdiff
path: root/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-242-1/+51
|
* lib/client: fix caps with equal sign in valueSimon Ser2021-07-041-6/+6
| | | | CAP=a=b wouldn't parse correctly.
* Handle RPL_INVITINGSimon Ser2021-06-241-0/+1
|
* Treat server broadcasts as highlightsSimon Ser2021-06-231-0/+7
|
* lib/client: reject Client.roundtrip promise on disconnectSimon Ser2021-06-211-2/+17
|
* lib/linkify: stop using RegExp indicesdelthas2021-06-201-3/+4
| | | | | Co-authored-by: Simon Ser <contact@emersion.fr> Closes: https://todo.sr.ht/~emersion/gamja/90
* Add irc.forEachChannelModeUpdate helperSimon Ser2021-06-111-0/+47
|
* Don't try to reconnect if the network is downSimon Ser2021-06-111-5/+15
|
* Add /quiet and /unquietSimon Ser2021-06-111-0/+3
|
* s/var/let/Simon Ser2021-06-104-124/+125
|
* 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
|
* lib/linkify: add comma to punctuation in channel regexSimon Ser2021-06-091-1/+1
|
* Route channel mode and invite/except list to channel bufferSimon Ser2021-06-071-0/+6
|
* Don't match punctuation suffix when linkifying channelsSimon Ser2021-06-061-4/+4
|
* Add case-mapping support to irc.isHighlightSimon Ser2021-06-061-4/+6
| | | | Closes: https://todo.sr.ht/~emersion/gamja/77
* Add support for labeled-responseSimon Ser2021-06-042-5/+42
| | | | | It's just used to avoid mixing up messages coming from the server so far.
* Add support for draft/event-playbackSimon Ser2021-06-042-0/+13
|
* Use ISUPPORT CHANTYPES in Client.isChannelSimon Ser2021-06-042-3/+3
|
* 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 STATUSMSGSimon Ser2021-06-031-3/+2
| | | | Closes: https://todo.sr.ht/~emersion/gamja/65
* lib/irc: rename IRC prefix utilitiesSimon Ser2021-06-031-5/+6
|
* Add support for incoming INVITE messagesSimon Ser2021-06-031-0/+1
|
* Add support for /ban without argumentSimon Ser2021-06-031-0/+2
|
* 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
* Use RegExp match indices in linkifyChannelSimon Ser2021-06-011-4/+4
|
* Linkify channel namesTom Lebreux2021-06-011-3/+39
|
* 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
|
* Display prefixes in member listDrew DeVault2021-05-311-0/+21
| | | | Closes: https://todo.sr.ht/~emersion/gamja/43
* Pretty-print MOTDSimon Ser2021-05-281-0/+2
|
* 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
|
* Fix TypeError in isHighlightSimon Ser2021-05-281-1/+2
| | | | TypeError: msg.prefix is null
* Implement case-mapping for buffers and message handlerSimon Ser2021-05-271-0/+4
|
* Add /whois commandDrew DeVault2021-05-272-0/+43
| | | | | 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-272-1/+22
| | | | | This contains the current connection case-mapping, parsed from the CASEMAPPING ISUPPORT token.
* lib/irc: add case-mapping primitivesSimon Ser2021-05-271-1/+164
| | | | | | 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.
* 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
|