Commit Graph
100 Commits
Author SHA1 Message Date
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
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