Commit graph

223 commits

Author SHA1 Message Date
Simon Ser
21a4a71542 Add support for SASL EXTERNAL
Can be useful when the server is using e.g. a cookie for
authentication purposes.
2021-10-12 17:29:56 +02:00
Simon Ser
a890665775 Allow revealing server field with ?server 2021-10-09 13:33:01 +02:00
Simon Ser
a920914b4c Add nick to config.json 2021-10-09 10:45:44 +02:00
Simon Ser
47b12cc5d9 Add autoconnect to config.json 2021-10-09 10:45:44 +02:00
Simon Ser
312a3f812e Don't allow overriding server URL if set in config.json
This has security implications.
2021-10-09 10:34:51 +02:00
Simon Ser
e3e3315125 Inherit from default connectParams in handleConfig
When handleConfig is called, this.state.connectParams will be set
to its default value. Inherit from it so that autoconnect isn't
missing any. If we ever add a new connect parameter, we don't want
an old localStorage to break connect() because it's missing the
param.
2021-10-09 10:10:51 +02:00
Simon Ser
d2ac1e152a Add more type checks for config.json 2021-10-09 09:57:54 +02:00
Simon Ser
0b4302e059 Clear autojoin when loading autoconnect
This is handled by the buffer store.
2021-09-21 19:25:59 +02:00
Simon Ser
7bf9a0ca25 Auto-join previous channels on reconnect
Closes: https://todo.sr.ht/~emersion/gamja/47
2021-09-21 19:20:39 +02:00
Simon Ser
65674cb45d Narrow down syncBufferUnread to new buffers
syncBufferUnread might override the previous unread value.

Closes: https://todo.sr.ht/~emersion/gamja/105
2021-09-21 18:41:14 +02:00
Simon Ser
1dd55367e9 Send WHO queries for saved user buffers after ISUPPORT
This allows WHOX to be used.
2021-09-21 18:31:11 +02:00
Simon Ser
da4da01e34 Query WHO when switching to a user buffer without info
Closes: https://todo.sr.ht/~emersion/gamja/101
2021-09-21 17:06:32 +02:00
Simon Ser
329f9063d0 Add support for WHOX
This allows querying the account of the user.
2021-09-21 16:58:00 +02:00
Simon Ser
d12e1109b3 Add support for account-notify 2021-09-21 14:49:32 +02:00
Simon Ser
010009e3e0 Display username/hostname in member list 2021-09-21 14:19:30 +02:00
Simon Ser
ecb2ee041b Update user on QUIT and NICK 2021-09-21 14:00:52 +02:00
Simon Ser
c66ce61029 Introduce per-server user map
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.
2021-09-21 13:33:15 +02:00
Simon Ser
e7f8620933 Add State.create() 2021-09-21 12:33:22 +02:00
Simon Ser
c428e504fe Don't show unread marker for outgoing messages
Closes: https://todo.sr.ht/~emersion/gamja/100
2021-08-30 10:27:24 +02:00
Simon Ser
77683937d7 Narrow down syncBufferUnread call to self-JOIN 2021-08-25 08:46:37 +02:00
Simon Ser
4278265c65 Open new buffer on self-message
Closes: https://todo.sr.ht/~emersion/gamja/96
2021-08-24 14:46:51 +02:00
Simon Ser
8a5e52ed9a Rename buffer lastReadReceipt to prevReadReceipt
This field is intentionally behind the latest read receipt. Let's
rename it to make that clearer.
2021-08-24 14:01:57 +02:00
Simon Ser
6e59a77672 Don't drop unread marker in addMessage
Closes: https://todo.sr.ht/~emersion/gamja/76
2021-08-24 13:59:33 +02:00
Simon Ser
b14cddc0d0 Ignore server buffer in latestReceipt
When we've received RPL_WELCOME, latestReceipt will return the
current time if we don't filter out the server buffer.
2021-08-24 13:49:25 +02:00
Simon Ser
e283d9c7ab Add support for MONITOR 2021-08-24 12:53:46 +02:00
Simon Ser
dd67e0789e Auto-complete channel names
Closes: https://todo.sr.ht/~emersion/gamja/84
2021-08-23 15:21:24 +02:00
Simon Ser
aa9ce73d5a Restore channel unread status from local storage
Closes: https://todo.sr.ht/~emersion/gamja/75
Closes: https://todo.sr.ht/~emersion/gamja/89
2021-08-23 14:17:58 +02:00
Simon Ser
c470c9f2c0 Fix typo 2021-08-23 12:31:11 +02:00
Simon Ser
c47af780f6 Restore user query buffer unread status 2021-08-23 12:25:43 +02:00
Simon Ser
016ca27f2d Restore opened user query buffers
Closes: https://todo.sr.ht/~emersion/gamja/93
2021-08-23 12:02:36 +02:00
Simon Ser
a1d79cda4b Drop ConnectForm key 2021-07-04 21:43:47 +02:00
Simon Ser
52ddda4e82 Unify dialog data in App.state 2021-07-04 21:41:36 +02:00
Simon Ser
af1e2e144a Hide everything while loading config.json 2021-07-04 21:29:15 +02:00
Simon Ser
00eebc9859 composer: cycle through auto-completions
Closes: https://todo.sr.ht/~emersion/gamja/42
2021-06-30 22:20:40 +02:00
Simon Ser
b289fd10b7 Always mark own messages as read 2021-06-24 18:04:26 +02:00
Simon Ser
429450e060 Handle RPL_INVITING 2021-06-24 18:01:24 +02:00
Simon Ser
bc05fd5c11 Treat server broadcasts as highlights 2021-06-23 19:52:45 +02:00
Simon Ser
1ea3180f5b Use semantically more correct elements for error bubble 2021-06-22 15:48:42 +02:00
Simon Ser
724d7318cf Focus buffer scrollview instead of composer
Instead of focusing the composer, focus the buffer scrollview when
switching to a buffer. This allows keyboard navigation to work as
expected, with arrow up/down and page up/down scrolling the buffer
instead of doing nothing.

Focus back the composer when a KeyboardEvent produces text. This
allows users to start typing a message right after switching to a
buffer.

Closes: https://todo.sr.ht/~emersion/gamja/64
2021-06-22 14:47:39 +02:00
Simon Ser
7d15525c7d Allow resetting nick and auto-join with query params 2021-06-22 10:44:20 +02:00
delthas
edbf294380 component/app: Automatically prepend wss to server URL if unspecified 2021-06-20 21:08:02 +02:00
Simon Ser
f8060c9be2 Allow resetting server URL with query param 2021-06-20 13:00:40 +02:00
Simon Ser
37cff435a3 Move MODE state updates outof App 2021-06-11 12:44:14 +02:00
Simon Ser
ef50e62498 Add STATUSMSG indicator
Closes: https://todo.sr.ht/~emersion/gamja/65
2021-06-11 11:18:29 +02:00
Simon Ser
d19f127952 Move message key generation to State.addMessage 2021-06-11 10:58:09 +02:00
Simon Ser
4249da4ba8 Add /quiet and /unquiet 2021-06-11 00:27:19 +02:00
Simon Ser
61e35dd68a Bump direct message unread priority 2021-06-10 18:57:57 +02:00
Simon Ser
e56deb35c9 Ensure config has a server object
Simplifies code accessing the config.
2021-06-10 18:34:34 +02:00
Simon Ser
77030931cb Reset config.server.auth when using custom server URL 2021-06-10 18:28:01 +02:00
Simon Ser
4df9328be8 Move auto-join field out of advanced options if pre-filled
Closes: https://todo.sr.ht/~emersion/gamja/82
2021-06-10 18:21:18 +02:00