Commit graph

610 commits

Author SHA1 Message Date
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
fdb90ec95d Drop dangling var keyword 2021-09-21 18:26:42 +02:00
Simon Ser
184b29b6e3 Hide meaningless real names 2021-09-21 17:24:39 +02:00
Simon Ser
a9cfbcd6b6 Fix duplicate declaration in State.handleMessage 2021-09-21 17:24:13 +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
0b32d9295a Display account name 2021-09-21 15:38:59 +02:00
Simon Ser
d12e1109b3 Add support for account-notify 2021-09-21 14:49:32 +02:00
Simon Ser
8e631f97ef Add tooltip with full date to timestamp component 2021-09-21 14:34:30 +02:00
Simon Ser
11878aaaa9 Add support for extended-join 2021-09-21 14:29:31 +02:00
Simon Ser
010009e3e0 Display username/hostname in member list 2021-09-21 14:19:30 +02:00
Simon Ser
3746095175 Update user username/hostname on JOIN 2021-09-21 14:12:07 +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
0b0467f019 lib/irc: drop CRLF for outgoing messages
Trailing CRLF must not be included in WebSocket messages.

Closes: https://todo.sr.ht/~emersion/gamja/104
2021-09-18 12:16:54 +02:00
Hubert Hirtz
f78cb8c23b Fix double space introduced before last param 2021-09-17 14:07:58 +02:00
Simon Ser
9f0177dea0 store: fix undefined load call in Buffer.clear 2021-09-13 10:33:14 +02:00
Simon Ser
f17d61ed86 lib/irc: fix formatMessage when last arg starts with colon
Fixes: a51be5037d ("lib/irc: only add colon to trailing arg when necessary")
2021-09-08 10:42:36 +02:00
Simon Ser
76f097e8a8 lib/client: error out on unsupported WebSocket data type 2021-09-06 17:15:52 +02:00
Simon Ser
beef13d273 lib/client: remove WebSocket error event handler
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.
2021-09-06 17:11:28 +02:00
Simon Ser
ed41f08ba4 Get rid of a wild var keyword 2021-09-06 16:53:25 +02:00
Simon Ser
0137a95268 Add support for chghost
See https://ircv3.net/specs/extensions/chghost
2021-09-06 11:20:33 +02:00
Simon Ser
a51be5037d lib/irc: only add colon to trailing arg when necessary
This mirrors go-irc's behavior:

7ba1a1858f/parser.go (L374)

Closes: https://todo.sr.ht/~emersion/gamja/103
2021-09-06 10:52:06 +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
c65ecd66eb Avoid sending empty MONITOR command on startup
Closes: https://todo.sr.ht/~emersion/gamja/102
2021-08-30 10:14:05 +02:00
Simon Ser
73a2bcab94 Update buffer store when marking all buffers as read 2021-08-25 08:47:35 +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
4dd1fac002 Hide buffer focus outline 2021-08-18 08:55:23 +02:00
Simon Ser
2fb4393f24 store: remove dead code 2021-07-30 18:01:42 +02:00
Simon Ser
d18cbbafb0 composer: focus on paste 2021-07-21 19:48:09 +02:00
Simon Ser
c98ad539d5 Add message arg to /query
Closes: https://todo.sr.ht/~emersion/gamja/94
2021-07-21 15:21:58 +02:00
Simon Ser
51883292f9 lib/client: fix caps with equal sign in value
CAP=a=b wouldn't parse correctly.
2021-07-04 22:26:31 +02:00
Simon Ser
5b53fb6fe9 connect-form: improve HTML indentation 2021-07-04 21:51:42 +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
dee9e06b2f connect-form: focus nickname input 2021-07-04 21:28:45 +02:00
Simon Ser
7b11b10955 Add /whowas command 2021-07-03 19:24:20 +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