aboutsummaryrefslogtreecommitdiff
path: root/state.js (follow)
Commit message (Collapse)AuthorAgeFilesLines
* state: simplify MONITOR reply handlingSimon Ser2023-08-251-10/+1
|
* state: handle WHO replies in bulkSimon Ser2023-04-191-17/+22
|
* lib/irc: add formatURLSimon Ser2023-04-191-11/+3
|
* Load initial members state via WHO when channel is selectedSimon Ser2022-10-231-0/+1
| | | | Closes: https://todo.sr.ht/~emersion/gamja/13
* Sort lists with localeCompareNolan Prescott2022-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | The difference in case sensitivity is the most obvious change with servers like soju that support CASEMAPPING ascii and rfc1459. Currently the list: 'Alpha', 'aardvark', 'Charlie', 'comma' currently sorts to: 'Alpha', 'Charlie', 'aardvark', 'comma' with this change it will instead become: 'aardvark', 'Alpha', 'Charlie', 'comma' If something like RFC 7613 gets broader support then there are a few more differences for a list like: 'éclair', 'ecstatic, 'aardvark', 'zed', 'Gamma' currently sorts to: 'Gamma', 'aardvark', 'ecstatic', 'zed', 'éclair' with this patch would instead sort to: 'aardvark', 'éclair', 'ecstatic', 'Gamma', 'zed' The above examples were run with a locale unspecified which fell back to my browser/host default of 'en'.
* Fix invalid relative importSimon Ser2022-06-271-1/+1
| | | | Worked locally because it's served at the root…
* Add a setting for seconds in timestampsSimon Ser2022-06-271-0/+4
|
* Add a settings dialogSimon Ser2022-06-081-0/+9
| | | | | | Add an option to hide chat events or always expand them. Closes: https://todo.sr.ht/~emersion/gamja/73
* Add support for bot modeSimon Ser2022-06-081-0/+4
| | | | References: https://ircv3.net/specs/extensions/bot-mode
* state: add isReceiptBeforeSimon Ser2022-02-121-0/+13
|
* keybindings: fix error on alt+hSimon Ser2022-02-121-0/+10
| | | | | | Fixes the following JS error: TypeError: e.setReceipt is not a function
* Introduce isMessageBeforeReceiptSimon Ser2022-02-111-0/+13
|
* state: add bouncerNetworks helpersSimon Ser2022-02-041-0/+14
|
* state: fix prefix() call in MODE handlerSimon Ser2021-12-161-1/+1
| | | | | | Lost during a refactoring. Fixes: ab3d4dd66183 ("Refactor ISUPPORT handling")
* lib/irc: add CapRegistrySimon Ser2021-12-101-2/+2
|
* state: fix server bouncerNetIDSimon Ser2021-12-071-1/+1
| | | | Ooops.
* Move isBouncer props to server stateSimon Ser2021-12-071-2/+4
| | | | Avoids having to pass this around.
* Refactor ISUPPORT handlingSimon Ser2021-12-071-6/+14
| | | | | | Add a helper class to parse ISUPPORT tokens. Instead of having manual ISUPPORT handling all over the place, use pre-processed values.
* Update channel join status when kickedSimon Ser2021-12-041-1/+4
|
* Add support for draft/account-registrationSimon Ser2021-11-301-1/+11
| | | | A new UI to register and verify accounts is added.
* Add post-connect UI to login via SASLSimon Ser2021-11-211-0/+3
| | | | | | | | If the server supports SASL and if we aren't logged in with any account, add a UI to authenticate via SASL. This allows users to login anonymously then login via SASL. This will also ease the draft/account-registration implementation.
* state: add account to serverSimon Ser2021-11-211-0/+5
|
* Store WHO list in RPL_ENDOFWHOSimon Ser2021-11-101-6/+1
| | | | | This allows the state-tracker to figure out whether a WHO query returned no result.
* Always insert non-chathistory messages at the endSimon Ser2021-11-091-1/+1
|
* Keep track of channel join statusSimon Ser2021-11-051-2/+9
| | | | | This makes us behave better when we receive a self-PART message from the server.
* Add hint in server operators buffer headerSimon Ser2021-11-011-0/+1
|
* state: move in QUIT and NICK update logicSimon Ser2021-10-231-5/+41
|
* state: process RPL_NAMREPLY atomicallySimon Ser2021-10-231-9/+9
| | | | | | This allows updating the buf.members map only once when receiving RPL_ENDOFNAMES, instead of repeatedly re-creating it each time a RPL_NAMREPLY message is received.
* Allow bouncers to set NETWORK in ISUPPORTSimon Ser2021-10-181-9/+14
| | | | This allows bouncers to customize the name they appear with.
* Fallback to bouncer network host if name is unsetSimon Ser2021-10-151-1/+1
|
* Use ISUPPORT NETWORK if user hasn't specified custom nameSimon Ser2021-10-151-8/+9
|
* Fix duplicate declaration in State.handleMessageSimon Ser2021-09-211-1/+1
|
* Add support for WHOXSimon Ser2021-09-211-10/+10
| | | | This allows querying the account of the user.
* Add support for account-notifySimon Ser2021-09-211-0/+6
|
* Add support for extended-joinSimon Ser2021-09-211-0/+7
|
* Update user username/hostname on JOINSimon Ser2021-09-211-3/+15
|
* Update user on QUIT and NICKSimon Ser2021-09-211-0/+19
|
* Introduce per-server user mapSimon Ser2021-09-211-28/+29
| | | | | | This allows us to store information about users in a signle place, instead of putting it in user buffers. This is required to display metadata about users in the channel members list.
* Add State.create()Simon Ser2021-09-211-0/+7
|
* Add support for chghostSimon Ser2021-09-061-0/+9
| | | | See https://ircv3.net/specs/extensions/chghost
* Rename buffer lastReadReceipt to prevReadReceiptSimon Ser2021-08-241-1/+1
| | | | | This field is intentionally behind the latest read receipt. Let's rename it to make that clearer.
* Don't drop unread marker in addMessageSimon Ser2021-08-241-0/+1
| | | | Closes: https://todo.sr.ht/~emersion/gamja/76
* Add support for MONITORSimon Ser2021-08-241-1/+25
|
* Add irc.forEachChannelModeUpdate helperSimon Ser2021-06-111-38/+2
|
* Move MODE state updates outof AppSimon Ser2021-06-111-2/+86
|
* Move message key generation to State.addMessageSimon Ser2021-06-111-0/+4
|
* s/var/let/Simon Ser2021-06-101-55/+56
|
* Add State.createServerSimon Ser2021-06-101-0/+13
|
* Use server buffer if name is unspecified in State.getBufferSimon Ser2021-06-101-0/+3
|
* Add support for draft/event-playbackSimon Ser2021-06-041-0/+5
|