Commit graph

442 commits

Author SHA1 Message Date
Simon Ser
d934491674 Add support for IRCv3 WebSocket subprotocol
References: https://github.com/ircv3/ircv3-specifications/pull/342
2021-09-06 17:26: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
Simon Ser
08aefc9dc5 composer: add smart suffix after auto-completion
Append a space after a command name, so that arguments can be typed
directly. Append a colon after a nickname.
2021-06-30 21:56:45 +02:00
Simon Ser
856dd021e2 composer: auto-complete word at carret position 2021-06-30 21:50:55 +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
0fa6381c07 Preserve white space sequences in log lines
This allows e.g. the MOTD to have properly-formatted ASCII art.
2021-06-24 10:41:48 +02:00
Simon Ser
bc05fd5c11 Treat server broadcasts as highlights 2021-06-23 19:52:45 +02:00
Simon Ser
095006e961 Don't focus composer on key press if modifier is also pressed 2021-06-22 17:25:24 +02:00
Simon Ser
0d36e8a3fc Turn dialog close button into a <button>
This is semantically more correct.
2021-06-22 16:02:55 +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
dc8f95c74d Improve composer form indentation 2021-06-22 13:38:05 +02:00
Simon Ser
7d15525c7d Allow resetting nick and auto-join with query params 2021-06-22 10:44:20 +02:00
Simon Ser
ca8649c506 Add web app manifest
We'll need this to register protocol handlers.
2021-06-22 10:42:16 +02:00
Simon Ser
c187eac3c8 lib/client: reject Client.roundtrip promise on disconnect 2021-06-21 00:18:17 +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
delthas
42e0c939f3 lib/linkify: stop using RegExp indices
Co-authored-by: Simon Ser <contact@emersion.fr>
Closes: https://todo.sr.ht/~emersion/gamja/90
2021-06-20 12:54:20 +02:00
Simon Ser
2203553519 Use cursor pointer for buttons
I'm usually not a fan of changing the default browser styles for
things like the cursor image, but here it actually improves
accessibility: it's clearer for the user what can be clicked on.

Closes: https://todo.sr.ht/~emersion/gamja/81
2021-06-11 14:46:45 +02:00