Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lib/client: add support for AUTHENTICATE chunking | Simon Ser | 2024-06-30 | 1 | -8/+7 |
| | | | | | SASL responses need to be split into 400 byte chunks before being sent to the server. | ||||
* | Hide replies to our own internal WHO commands | Simon Ser | 2024-04-17 | 1 | -1/+6 |
| | | | | References: https://todo.sr.ht/~emersion/gamja/88 | ||||
* | lib/client: fix number of field check in RPL_WHOSPCRPL | Simon Ser | 2024-04-17 | 1 | -1/+1 |
| | | | | The first field is the client. | ||||
* | lib/client: print raw messages in debug mode | Simon Ser | 2024-03-01 | 1 | -4/+7 |
| | | | | | Browser consoles aren't super helpful in general and just show the command name, require extra clicks to see the params. | ||||
* | lib/client: ensure server prefix is never null | Simon Ser | 2023-08-17 | 1 | -2/+4 |
| | | | | | Fixes a null deref in handleChatMessage, because incoming message prefixes are populated with the server's if null. | ||||
* | Migrate to async/await | Simon Ser | 2023-04-19 | 1 | -39/+33 |
| | |||||
* | lib/client: encode empty SASL response as "+" | Simon Ser | 2023-03-21 | 1 | -1/+1 |
| | |||||
* | Move msg.tags fallback to client | Simon Ser | 2022-11-30 | 1 | -0/+3 |
| | |||||
* | lib/client: unify checks for chathistory end | Simon Ser | 2022-11-30 | 1 | -1/+1 |
| | |||||
* | Use ratified extended-monitor cap name | Simon Ser | 2022-11-06 | 1 | -0/+1 |
| | | | | References: https://github.com/ircv3/ircv3-specifications/pull/508 | ||||
* | Add support for OAuth 2.0 authentication | Simon Ser | 2022-10-14 | 1 | -0/+7 |
| | |||||
* | Drop support for soju.im/read | Simon Ser | 2022-09-03 | 1 | -14/+3 |
| | | | | It's been superseded by draft/read-marker. | ||||
* | Fix draft/read-marker cap not negotiated | Simon Ser | 2022-09-03 | 1 | -0/+1 |
| | | | | Fixes: 1428ec4d4991 ("Add support for draft/read-marker") | ||||
* | Fetch read marker before backlog for user targets | Simon Ser | 2022-09-03 | 1 | -0/+5 |
| | |||||
* | Add support for draft/read-marker | Simon Ser | 2022-07-01 | 1 | -0/+28 |
| | | | | References: https://github.com/ircv3/ircv3-specifications/pull/489 | ||||
* | Workaround the sad state of base64 web APIs | Simon Ser | 2022-06-24 | 1 | -2/+3 |
| | | | | | This is necessary to make usernames/passwords with UTF-8 in them work correctly. | ||||
* | Add a settings dialog | Simon Ser | 2022-06-08 | 1 | -1/+4 |
| | | | | | | Add an option to hide chat events or always expand them. Closes: https://todo.sr.ht/~emersion/gamja/73 | ||||
* | Handle CHATHISTORY messages when reaching end of batch | Simon Ser | 2022-04-22 | 1 | -2/+2 |
| | | | | Closes: https://todo.sr.ht/~emersion/gamja/115 | ||||
* | Add support for soju.im/read | Simon Ser | 2022-02-11 | 1 | -0/+1 |
| | |||||
* | fix ping after reconnect | Дамјан Георгиевски | 2022-02-04 | 1 | -0/+2 |
| | | | | | | | | | client.setPingInterval was only called once in app.connect(), but client.disconnect() disables it, and the ping timer is never again set, even though the client can reconnect. the change passes the ping time as a parameter to the client, and the client calls setPingInterval() after a successful WS open event. | ||||
* | commands: add password param to /join | delthas | 2022-02-02 | 1 | -2/+6 |
| | |||||
* | lib/irc: add CapRegistry | Simon Ser | 2021-12-10 | 1 | -48/+14 |
| | |||||
* | Implement exponential backoff for reconnections | Simon Ser | 2021-12-07 | 1 | -3/+40 |
| | | | | Closes: https://todo.sr.ht/~emersion/gamja/118 | ||||
* | Refactor ISUPPORT handling | Simon Ser | 2021-12-07 | 1 | -44/+20 |
| | | | | | | Add a helper class to parse ISUPPORT tokens. Instead of having manual ISUPPORT handling all over the place, use pre-processed values. | ||||
* | lib/client: use Error objects for error events | Simon Ser | 2021-12-06 | 1 | -22/+16 |
| | |||||
* | Handle FAIL ACCOUNT_REQUIRED | Simon Ser | 2021-12-06 | 1 | -3/+17 |
| | |||||
* | Read nickname from RPL_WELCOME | Simon Ser | 2021-12-06 | 1 | -0/+1 |
| | | | | References: https://github.com/ircdocs/modern-irc/pull/146 | ||||
* | Add Client.join, show join errors in popup | Simon Ser | 2021-12-04 | 1 | -0/+26 |
| | |||||
* | lib/client: add generic error handling to roundtrip() | Simon Ser | 2021-12-04 | 1 | -40/+46 |
| | |||||
* | lib/client: introduce IRCError | Simon Ser | 2021-12-04 | 1 | -5/+19 |
| | |||||
* | Disable debug logs in production | Simon Ser | 2021-12-01 | 1 | -2/+7 |
| | | | | | | | | | | | console.debug logs cause some performance issues because the browser is forced to save the logged objects just in case the user opens the debugging tools. They can be force-enabled back by adding ?debug=1 to the URL. Only console.debug is disabled, console.log and other levels are a lot less verbose and still enabled by default. | ||||
* | Add support for draft/account-registration | Simon Ser | 2021-11-30 | 1 | -0/+50 |
| | | | | A new UI to register and verify accounts is added. | ||||
* | lib/client: make authenticate() return a promise | Simon Ser | 2021-11-21 | 1 | -19/+32 |
| | | | | This lets the caller handle the success/failure. | ||||
* | lib/client: send BOUNCER BIND and CAP END immediately | Simon Ser | 2021-11-21 | 1 | -27/+24 |
| | | | | Don't wait for auth to finish. This reduces the number of roundtrips. | ||||
* | lib/client: catch handleMessage errors | Simon Ser | 2021-11-21 | 1 | -1/+9 |
| | |||||
* | lib/client: always request sasl cap when available | Simon Ser | 2021-11-21 | 1 | -10/+9 |
| | | | | This will allow us to issue post-registration SASL commands. | ||||
* | lib/client: don't disconnect on SASL error if registered | Simon Ser | 2021-11-21 | 1 | -1/+3 |
| | | | | | This will let users try multiple auth attempts when we'll implement post-registration auth. | ||||
* | lib/client: remove one roundtrip during SASL auth | Simon Ser | 2021-11-21 | 1 | -26/+29 |
| | | | | | Instead of waiting for the server's empty challenge, send two AUTHENTICATE commands in a row. | ||||
* | lib/client: don't error out if SASL isn't available on RPL_WELCOME | Simon Ser | 2021-11-19 | 1 | -1/+3 |
| | | | | | Some servers (soju) might remove the sasl cap on connection registration. | ||||
* | Store WHO list in RPL_ENDOFWHO | Simon Ser | 2021-11-10 | 1 | -0/+7 |
| | | | | | This allows the state-tracker to figure out whether a WHO query returned no result. | ||||
* | Only allow one WHO command at a time | Simon Ser | 2021-11-10 | 1 | -22/+31 |
| | | | | Closes: https://todo.sr.ht/~emersion/gamja/120 | ||||
* | Don't stop fetching backlog on error | Simon Ser | 2021-11-10 | 1 | -1/+2 |
| | | | | | | | Some servers allow fetching history from some targets but not others. Don't completely stop fetching chat history on error. The root cause was a variable shadowing in Client.fetchBatch. | ||||
* | Add support for draft/extended-monitor | Simon Ser | 2021-11-09 | 1 | -0/+1 |
| | | | | References: https://github.com/ircv3/ircv3-specifications/pull/466 | ||||
* | Auto-join when adding new network on irc:// link click | Simon Ser | 2021-11-07 | 1 | -0/+12 |
| | | | | Closes: https://todo.sr.ht/~emersion/gamja/111 | ||||
* | lib/client: use Client.isMyNick to handle self-NICK messages | Simon Ser | 2021-11-03 | 1 | -1/+1 |
| | | | | This handles case-mapping. | ||||
* | lib/client: fix missing account in WHOX | Simon Ser | 2021-11-02 | 1 | -0/+4 |
| | |||||
* | lib/client: generalize pendingWHOIS, store list in ENDOF* messages | Simon Ser | 2021-10-23 | 1 | -14/+31 |
| | | | | | This allows processing a list of replies atomically and receiving the ENDOF* marker. | ||||
* | lib/client: rename whoisDB to pendingWHOIS, garbage collect | Simon Ser | 2021-10-23 | 1 | -6/+12 |
| | |||||
* | Add support for SASL EXTERNAL | Simon Ser | 2021-10-12 | 1 | -4/+13 |
| | | | | | Can be useful when the server is using e.g. a cookie for authentication purposes. | ||||
* | lib/client: handle MONITOR without value in ISUPPORT | Simon Ser | 2021-10-07 | 1 | -1/+5 |
| |