Commit Graph
100 Commits
Author SHA1 Message Date
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
Simon Ser 2951c7810f Add keybinding infrastructure 2020-07-23 10:06:12 +02:00
Simon Ser 4d3a1548fe readme: add links to mailing list and issue tracker 2020-07-22 19:49:28 +02:00
Simon Ser 82e2cc2a38 Add .editorconfig 2020-07-22 14:51:37 +02:00
Simon Ser e041129a10 Use msgid in message URL if available 2020-07-21 14:48:04 +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 3b0253855e Mark FAIL as an error 2020-07-15 11:07:28 +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 5090165f71 Hide horizontal scrollbars on Firefox
Firefox shows horizontal scrollbars when the member list overflows.
2020-07-13 11:44:24 +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 8d2632ad9c readme: add link to sr.ht hub project 2020-07-02 11:03:16 +02:00
Simon Ser 7f0ca72d3e Remove outdated TODO 2020-07-02 11:02:29 +02:00
Simon Ser 72c51b6923 readme: add more detailed usage instructions 2020-07-01 14:46:49 +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 ed6dccbb58 Hide composer input outline 2020-06-29 10:16:47 +02:00
Simon Ser b74fb90d47 Add button to join new channel 2020-06-29 10:12:46 +02:00
Simon Ser 28e96e0ad5 Expand buffer column
In some cases it wouldn't take all of the available space.
2020-06-29 09:04:21 +02:00
Simon Ser deb8d4c01e Avoid String.prototype.replaceAll
Not well supported in web browsers, except Firefox.
2020-06-28 15:40:57 +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 c59a8ff63c Request caps on CAP NEW 2020-06-26 12:37:45 +02:00
Simon Ser 1807f29d2d Parse RPL_MYINFO 2020-06-26 12:08:14 +02:00
Simon Ser 57ed3a13a3 Send WHO query when opening nick buffer 2020-06-26 12:00:10 +02:00
Simon Ser 74b720c131 Convert server/channel/nick links to irc:// scheme 2020-06-26 11:07:01 +02:00
Simon Ser 6d3621e1be Introduce buffer type 2020-06-26 10:35:38 +02:00
Simon Ser 5f30662fc0 Implement /buffer 2020-06-25 21:47:31 +02:00
Simon Ser 7a1d9c48cc Fix unclickable nick in NICK message 2020-06-25 21:28:04 +02:00
Simon Ser c05af5bb6d Make nick links clickable 2020-06-25 18:45:41 +02:00
Simon Ser 4485950b67 Add missing buffer-header.js 2020-06-25 18:30:21 +02:00
Simon Ser 3e33999619 Add buffer header
Only for channels for now
2020-06-25 18:28:54 +02:00
Simon Ser 2bb8f68f6f Linkify messages 2020-06-25 17:27:24 +02:00