Commit Graph

424 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