Simon Ser
9e163b7647
Switch it isuser in irc:// URLs
...
This is what the most recent draft [1] uses.
[1]: https://datatracker.ietf.org/doc/html/draft-butcher-irc-url-04
2021-05-25 12:42:24 +02:00
Simon Ser
07c10b3b1f
Only switch to autojoin channel once
2021-05-25 12:40:33 +02:00
Simon Ser
f943d8ea15
readme: update IRC channel
2021-05-25 12:35:43 +02:00
Simon Ser
d261886199
Add support for config file
...
Closes: https://todo.sr.ht/~emersion/gamja/20
2021-05-25 12:33:22 +02:00
Simon Ser
e0cde27d66
Add simple /mode command
2021-05-23 11:41:04 +02:00
Simon Ser
22e54dac56
Update dependencies
...
Fixes a security vuln.
2021-05-17 09:52:42 +02:00
Simon Ser
f122e44e9b
Use ISUPPORT CHATHISTORY to discover max page size
2021-05-11 16:10:50 +02:00
Simon Ser
305ffb569c
Parse ISUPPORT tokens in client
2021-05-11 16:03:16 +02:00
Simon Ser
e242d5222e
Fix TypeError in App.render()
...
Fixes the following error:
Uncaught (in promise) TypeError: activeBuffer is undefined
2021-05-10 15:09:49 +02:00
Simon Ser
870a9b6be5
Add CSS for email fields
2021-04-27 12:25:57 +02:00
Simon Ser
5b29e2656e
Improve dark theme style for text inputs
2021-04-27 11:23:44 +02:00
Simon Ser
727331c859
Remove client from map on disconnect
2021-03-10 11:01:04 +01:00
Simon Ser
4991518ed5
Display error popup on FAIL
2021-03-09 21:48:04 +01:00
Simon Ser
97e75805fa
Add some space between error message and close button
2021-03-09 21:47:39 +01:00
Simon Ser
d0b5f63a22
Move dialog submit buttons to the right
2021-03-09 19:08:16 +01:00
Simon Ser
88c0e5ae94
Break long tag attributes on multiple lines
...
Makes that stuff more readable.
2021-03-09 18:11:59 +01:00
Simon Ser
8ab10cf2a5
lib/irc: escape/unescape everything in tags
...
Without the greedy flag on the regexp, String.replace will just
replace the first match.
While at it, also make sure to convert to a string when formatting
tag values. This allows tag values to be e.g. numbers.
2021-03-09 17:40:57 +01:00
Simon Ser
2d4409e7aa
lib/irc: accept tags without value
2021-03-09 17:31:12 +01:00
Simon Ser
4257463b46
Rename Connect/Join to ConnectForm/JoinForm
2021-03-09 13:25:31 +01:00
Simon Ser
c83a74cc50
Cleanup compareBuffers
2021-03-09 12:04:12 +01:00
Simon Ser
5fea13df0a
Trigger client error if server doesn't support SASL
2021-03-09 09:44:48 +01:00
Simon Ser
56e705b6de
Only switch buffer on connect if there's no active buffer
2021-03-09 09:38:55 +01:00
Simon Ser
bf30038b41
Fix whitespace issues
2021-03-09 09:17:01 +01:00
Simon Ser
bc45fce557
readme: add IRC discussion channel
2021-03-08 19:04:38 +01:00
Simon Ser
6c5f4f73df
readme: document query params
2021-03-08 19:02:31 +01:00
Simon Ser
7139e4511b
Remove unused DEFAULT_NETWORK constant
2021-03-08 17:34:00 +01:00
Simon Ser
ed5a771ea0
Fix overflowed dialogs
2021-03-08 17:26:51 +01:00
Simon Ser
78f22fce4e
Add help section for commands
2021-03-08 17:25:00 +01:00
Simon Ser
17a2d48b2e
Add help dialog with keybindings reference
2021-03-08 17:05:48 +01:00
Simon Ser
30157383e8
Add dialog for join form
2021-03-08 16:23:16 +01:00
Simon Ser
996d7d06d4
Extract error message popup
2021-03-08 15:05:43 +01:00
Simon Ser
194168c062
Display server messages in server buffer
...
References: https://todo.sr.ht/~emersion/gamja/21
2021-03-08 14:27:05 +01:00
Simon Ser
718929f0d2
Sort commands by name
2021-03-07 21:06:26 +01:00
Simon Ser
6c0878eeac
Remove duplicate command impl
2021-03-07 21:03:52 +01:00
Simon Ser
6430fa252a
lib/client: log close code
2021-03-03 18:30:15 +01:00
Simon Ser
aa79067179
lib/client: extract fetchBatch function from roundtripChatHistory
2021-03-03 14:13:05 +01:00
Simon Ser
3ece5f1ca5
Fix buffer not removed in close()
2021-03-03 09:59:40 +01:00
Simon Ser
ae914d4106
Fix buffer refs in commands
2021-03-03 09:58:09 +01:00
Simon Ser
72977b30b4
Log errors to console on command failure
2021-03-03 09:56:23 +01:00
Simon Ser
eaf3b0a5ac
Fix TypeError when clicking on nick in buffer
2021-03-03 09:41:19 +01:00
Simon Ser
3536331f94
lib/client: throw error in send if disconnected
2021-03-03 09:37:26 +01:00
Simon Ser
8a5fa4d5c2
lib/client: reset state when websocket is closed
2021-03-03 09:36:48 +01:00
Simon Ser
80e0175d36
Make all resource paths relative
...
Closes: https://todo.sr.ht/~emersion/gamja/17
2021-03-02 22:46:48 +01:00
Simon Ser
a5608a40d5
Fix server URL field not auto-populated
2021-03-02 22:46:15 +01:00
Simon Ser
81f3159e8f
Make date separators more readable
2021-03-02 22:17:52 +01:00
Simon Ser
525df515bc
Fix messages in current buffer not marked as read
2021-03-02 21:29:13 +01:00
Simon Ser
a83d3f7425
Improve scroll position save/restore mechanism
2021-03-02 20:48:49 +01:00
Simon Ser
6c40561f61
Move join button to buffer header
2021-03-02 16:14:55 +01:00
Simon Ser
b0a3cd23e4
Fix inverted condition in fetchHistoryBefore
2021-01-23 12:23:30 +01:00
Simon Ser
4d540d55ac
Fix undefined CHATHISTORY_PAGE_SIZE
2021-01-23 12:19:40 +01:00
Simon Ser
bfc0960200
Use buffer ID in BufferItem.onBufferClick
2021-01-22 21:43:58 +01:00
Simon Ser
0e078932c0
Harmonise client connection params
2021-01-22 21:00:39 +01:00
Simon Ser
1f640a4010
Log WebSocket constructor error in the console
2021-01-22 20:59:17 +01:00
Simon Ser
987f0b3389
Spread it like butter
2021-01-22 20:58:57 +01:00
Simon Ser
430373dd13
Move chat history operations into Client
2021-01-22 18:51:38 +01:00
Simon Ser
4e1f06b960
Move auto-reconnect logic into Client
2021-01-22 18:44:06 +01:00
Simon Ser
41cd2153cf
Keep track of client status in Client
2021-01-22 18:29:22 +01:00
Simon Ser
0261bc11e7
Delay Client error event
...
Right now the caller won't receive the event, because it's triggered
before the function returns.
2021-01-22 17:50:52 +01:00
Simon Ser
2f70256037
Multiple clients per app
2021-01-22 17:36:53 +01:00
Simon Ser
95daea0ef7
Use buffer IDs in endOfHistory
2021-01-22 15:49:22 +01:00
Simon Ser
06eb639ee9
Convert caps to lower case
2021-01-22 12:27:32 +01:00
Simon Ser
df2b46175a
Fix composer not hidden in server buffer
2021-01-22 12:05:45 +01:00
Simon Ser
e6592d7d8b
Print current connection status
2021-01-22 11:53:17 +01:00
Simon Ser
51523f4014
Extract network name from ISUPPORT
2021-01-22 11:43:47 +01:00
Simon Ser
b3f8b0c97d
Add support for RPL_ISUPPORT
2021-01-22 11:34:04 +01:00
Simon Ser
4acacc1f22
Nuke DEFAULT_NETWORK
2021-01-22 10:49:08 +01:00
Simon Ser
6cb2dd59de
Remove network from map when closing
2021-01-22 10:41:28 +01:00
Simon Ser
3975467764
Drop state.activeNetwork
...
Just grab it from state.activeBuffer's network.
2021-01-22 10:38:07 +01:00
Simon Ser
d2ff88d946
Sort buffers by network
2021-01-22 10:37:58 +01:00
Simon Ser
002b91a599
Take buffer ID in close
2021-01-22 10:26:53 +01:00
Simon Ser
ffed801b0e
Take a buffer ID in switchBuffer
2021-01-21 22:15:33 +01:00
Simon Ser
dd35f1df95
Take a buffer ID in getBuffer
2021-01-21 22:02:53 +01:00
Simon Ser
50ea6e121e
Introduce buffer IDs
2021-01-21 20:41:44 +01:00
Simon Ser
abc2fbcfb1
Add network to buffer state
2021-01-21 19:27:04 +01:00
Simon Ser
5a1e6ba813
Introduce state.networks
2021-01-21 19:01:50 +01:00
Simon Ser
218b131608
Update preact
2021-01-12 16:04:49 +01:00
Simon Ser
f35f316577
Add disconnect/reconnect commands
2021-01-12 10:35:38 +01:00
Simon Ser
4b165054a4
Reconnect when loosing connection
2021-01-11 18:12:28 +01:00
Simon Ser
57ca2c44ad
Add unread message separator
...
Closes: https://todo.sr.ht/~emersion/gamja/4
2020-09-03 11:51:52 +02:00
Simon Ser
0b03f9d767
Ignore RPL_TOPICWHOTIME
...
We don't need this piece of information yet, and we don't want to
clutter the server buffer with channel messages.
2020-09-03 11:36:08 +02:00
Simon Ser
516de5b3ea
Better handle registration errors
2020-08-25 11:42:40 +02:00
Simon Ser
b23f55a840
Format NOTICE messages differently
...
Use dashes instead of angle brackets for NOTICE to be able to tell them
apart from regular PRIVMSG messages.
2020-08-17 15:08:37 +02:00
Simon Ser
0f2d1c3e71
Add date separators to buffer
...
Closes: https://todo.sr.ht/~emersion/gamja/5
2020-08-13 19:00:56 +02:00
Simon Ser
bce216b7fb
Parse all CTCP messages
...
We display them nicely, however we never reply to them.
2020-08-13 16:04:39 +02:00
Simon Ser
012b9f515a
Make Alt+a fallback to server buffer
2020-08-13 15:41:38 +02:00
Simon Ser
028382aab3
Strip ANSI sequences from notifications text
2020-08-13 15:38:12 +02:00
Simon Ser
8fa91f7c4a
Don't send CHATHISTORY command if server doesn't support it
2020-08-13 12:18:52 +02:00
Simon Ser
9cc44fbe98
Display messages with a highlight differently
2020-08-13 12:02:05 +02:00
Simon Ser
917b348992
lib/irc: make isHighlight operate on messages
...
Makes it easier to re-use elsewhere.
2020-08-13 11:44:41 +02:00
Simon Ser
11660e4409
Add /notice command
2020-08-13 11:04:39 +02:00
Simon Ser
9df58971ea
Improve SASL error message
2020-08-10 15:01:48 +02:00
Simon Ser
c6c3c66fc4
Clear error when submitting connect form
2020-08-10 14:57:54 +02:00
Simon Ser
96c890f1f5
Strip ANSI escape sequences
...
References: https://todo.sr.ht/~emersion/gamja/11
2020-08-04 14:25:05 +02:00
Simon Ser
b37dfb77fe
Fix inverted channel list sorting
2020-08-04 13:47:27 +02:00
Simon Ser
0157dd4cc6
Handle RPL_NOTOPIC
2020-08-03 18:59:54 +02:00
Simon Ser
aaa33d7f36
Add Alt+Up/Down key bindings
2020-08-03 15:49:30 +02:00
Simon Ser
6c93bd13d1
Sort buffers when inserting, not when rendering
...
This allows all state.buffers users to iterate over the list in the
correct order.
2020-08-03 15:43:20 +02:00
Simon Ser
ee8b40aae4
Fix wrong variable name App.close
2020-08-03 15:29:21 +02:00
Simon Ser
67f6f99862
readme: add screenshot
2020-07-24 09:51:02 +02:00
Simon Ser
78140240cc
Add keybinding to jump to next unread buffer
2020-07-23 10:14:11 +02:00