Commit graph

128 commits

Author SHA1 Message Date
Drew DeVault
d612c91016 Implement optional opportunistic pings 2021-05-27 18:31:04 +02:00
Drew DeVault
a0c85c3372 Handle incoming MODE messages in appropriate buffer 2021-05-27 18:01:58 +02:00
Simon Ser
f36bba897e Fix cross-network mixups when handling QUIT and NICK
Only mutate buffers if they belong to our connection.
2021-05-27 15:19:28 +02:00
Simon Ser
b2cdab86aa Add case-mapping support for channel members
Make a buffer's members an irc.CaseMapMap.
2021-05-27 15:17:18 +02:00
Simon Ser
d880b23d32 Add hint to run /help in unknown command error message 2021-05-27 12:55:28 +02:00
Simon Ser
45c12fb684 Add nick URL param
Closes: https://todo.sr.ht/~emersion/gamja/40
2021-05-27 12:32:22 +02:00
Simon Ser
071c2626d5 Open error bubbles for IRC numeric errors 2021-05-27 11:34:23 +02:00
Simon Ser
b8c4bb3112 Improve command error reporting
state.error is expected to be a String, not an Error.
2021-05-27 11:26:42 +02:00
Drew DeVault
d34bff9ed6 Implement /kick and KICK handling in buffers 2021-05-27 10:58:57 +02:00
Simon Ser
08678ba57e Always parse autojoin channels from URL params
Even if connection parameters were previously saved to local storage.
2021-05-27 10:36:03 +02:00
Simon Ser
ac5bbafdc3 Fix config.json relative path
The path should be relative to index.html, not the JS file.
2021-05-26 23:17:23 +02:00
Simon Ser
17cd38f0b9 Read auto-join channels from browser URL hash
This is easier to type than trying to escape the # in ?channels=#XXX.
2021-05-26 22:57:49 +02:00
Simon Ser
695b02caaa Introduce store helper
Responsible for serializing/deserializing data to be saved in
localStorage. Add a prefix to all localStorage entries to avoid
conflicts with other webapps. Stop guarding against localStorage
not existing, browsers can just implement a dumb interface to
disable it.
2021-05-26 18:43:11 +02:00
Simon Ser
12a38ace90 Add support for IRCv3 setname 2021-05-25 20:22:21 +02:00
Simon Ser
92535fae24 Ignore BOUNCER NETWORK messages if we're already bound to a network 2021-05-25 17:11:06 +02:00
Simon Ser
1b21f5f076 Display bouncer network status 2021-05-25 17:01:57 +02:00
Simon Ser
6524dc5dd2 Add support for the soju.im/bouncer-networks-notify cap 2021-05-25 17:01:20 +02:00
Simon Ser
94fba920cd Fix close() for bouncer networks 2021-05-25 17:01:18 +02:00
Simon Ser
11642e1ab4 Add UI to edit/delete a network 2021-05-25 16:59:59 +02:00
Simon Ser
f84334c31e Add UI to add a new bouncer network 2021-05-25 16:59:57 +02:00
Simon Ser
b429243573 Add support for the soju.im/bouncer-networks extension 2021-05-25 16:58:50 +02:00
Simon Ser
982a945932 Fix TypeError in handleBufferScrollTop
Fixes the following:

    TypeError: client is undefined
2021-05-25 14:28:48 +02:00
Simon Ser
ed92c3c61a Clear local storage when clicking "Disconnect" 2021-05-25 12:57:40 +02:00
Simon Ser
07c10b3b1f Only switch to autojoin channel once 2021-05-25 12:40:33 +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
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
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
88c0e5ae94 Break long tag attributes on multiple lines
Makes that stuff more readable.
2021-03-09 18:11:59 +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
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
7139e4511b Remove unused DEFAULT_NETWORK constant 2021-03-08 17:34:00 +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
3ece5f1ca5 Fix buffer not removed in close() 2021-03-03 09:59:40 +01:00
Simon Ser
72977b30b4 Log errors to console on command failure 2021-03-03 09:56:23 +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
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
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