Commit Graph

74 Commits

Author SHA1 Message Date
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
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
c6c3c66fc4 Clear error when submitting connect form 2020-08-10 14:57:54 +02:00
bbworld1
16582a6592 Add error reporting on connect and main page 2020-08-08 10:34:45 +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
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
2951c7810f Add keybinding infrastructure 2020-07-23 10:06:12 +02:00
Simon Ser
0d9f7f35f0 Add message URLs, unify URL generation 2020-07-15 18:47:33 +02:00
Simon Ser
36df984b09 Fetch all unread messages on reconnect 2020-07-15 18:21:09 +02:00
Simon Ser
a44ee8d170 Avoid sending multiple CHATHISTORY commands in parallel 2020-07-13 17:40:52 +02:00
Simon Ser
897e0977e2 Autocomplete commands 2020-07-13 17:28:49 +02:00
Simon Ser
476c135379 Extract commands to separate file 2020-07-13 17:22:24 +02:00
Simon Ser
9312edc20e Linkify topic 2020-07-13 13:00:49 +02:00
Simon Ser
343455091c Show offline user status
When the WHO reply is empty, it means user isn't connected to IRC.
2020-07-13 12:55:39 +02:00
Simon Ser
f284468aa6 Add shouldComponentUpdate to member list 2020-07-13 11:09:16 +02:00
Simon Ser
b40fc76e82 Use strict equality comparison in shouldComponentUpdate 2020-07-13 11:03:34 +02:00
Simon Ser
2941dc0076 Fix TypeError in Composer.focus
Uncaught (in promise) TypeError: this.textInput.current is null
2020-07-13 09:45:30 +02:00
Simon Ser
c9b07efc9c Implement chathistory support 2020-07-10 14:37:38 +02:00
Simon Ser
8809fdcd6a Optimize Buffer
Convert to classes and implement shouldComponentUpdate to avoid
re-rendering elements unnecessarily.
2020-07-09 23:36:03 +02:00
Simon Ser
0a825547a7 Don't use this in functional components
This works in preact, but doesn't with react.
2020-07-09 23:35:47 +02:00
Simon Ser
5cb38a9830 Implement /topic command 2020-07-09 17:36:28 +02:00
Simon Ser
44b1f28cb6 Handle QUIT messages 2020-07-08 18:39:24 +02:00
Simon Ser
c309d3cff6 Allow paths in server URL query param 2020-07-01 12:25:57 +02:00
Simon Ser
db13f34a40 Reply to PING 2020-07-01 12:12:56 +02:00
Simon Ser
1131ca05ee Only nag about notifications in server buffer 2020-07-01 11:58:30 +02:00
Simon Ser
2eb1ed3dd2 Fix RPL_NAMREPLY handling with multiple nicks 2020-06-30 10:27:24 +02:00
Simon Ser
99004165f2 Print IRC error messages in red 2020-06-29 14:29:31 +02:00
Simon Ser
20be67503b Add basic autocompletion 2020-06-29 12:36:17 +02:00
Simon Ser
2f284f183a Open notification on new highlight 2020-06-29 11:50:42 +02:00
Simon Ser
abece1e3fd Detect highlights 2020-06-29 11:08:47 +02:00
Simon Ser
b74fb90d47 Add button to join new channel 2020-06-29 10:12:46 +02:00
Simon Ser
73f14f38fa Add key attr to log lines 2020-06-28 15:13:06 +02:00
Simon Ser
d1663315e3 Add reason arg to /part 2020-06-28 09:32:03 +02:00
Simon Ser
59b98d38ac Implement /me 2020-06-28 09:29:39 +02:00
Simon Ser
15c51d9ec7 Rename sidebar and topbar 2020-06-26 15:16:07 +02:00
Simon Ser
1b0ac4339f Listen to input evbent in composer
Avoids having the pending text removed when re-rendering the component.
2020-06-26 14:57:34 +02:00
Simon Ser
0aa8cca483 Enable echo-message 2020-06-26 14:50:29 +02:00
Simon Ser
9d7704ea54 Set key attr in buffer list items 2020-06-26 14:41:03 +02:00
Simon Ser
028c6fd8b3 Sort buffers and members 2020-06-26 14:40:27 +02:00
Simon Ser
806686bd49 Add member list 2020-06-26 14:32:56 +02:00
Simon Ser
0bd2e10631 Add away indicator 2020-06-26 12:45:27 +02:00
Simon Ser
1807f29d2d Parse RPL_MYINFO 2020-06-26 12:08:14 +02:00