Commit Graph

214 Commits

Author SHA1 Message Date
Ken-Håvard Lieng
6f0ea05f4b Use shorter asset hashes 2018-04-26 21:19:47 +02:00
Ken-Håvard Lieng
7f755d2a83 Actually make sure the user is in the channel before embedding channel data 2018-04-24 21:21:42 +02:00
Ken-Håvard Lieng
39641c315f Add connect defaults readonly flag, closes #10 2018-04-15 01:02:28 +02:00
Ken-Håvard Lieng
c005fc7cae Add initial support for choosing to still connect when the server uses a self-signed cert and verify_vertificates is turned on 2017-07-04 11:28:56 +02:00
Ken-Håvard Lieng
0a96ebb428 Improve connection handling 2017-07-03 07:35:38 +02:00
Ken-Håvard Lieng
9dffb541b9 Print ERROR messages 2017-07-03 07:25:38 +02:00
Ken-Håvard Lieng
ae6ad0a5b9 Send nick_fail if the new nick is in use and the padded nick is the same as the old one 2017-07-03 01:07:55 +02:00
Ken-Håvard Lieng
18aff3ded6 Show last IRC connection error in status tab, log IRC connection errors 2017-07-02 03:31:00 +02:00
Ken-Håvard Lieng
786d8013b9 Set InsecureSkipVerify correctly when theres no client cert, rename verify_client_certificates to verify_certificates 2017-06-30 07:20:38 +02:00
Ken-Håvard Lieng
f7b80b413e Fix tab cookie 2017-06-21 09:45:47 +02:00
Ken-Håvard Lieng
f174d98107 Support changing the nick by clicking it in MessageInput 2017-06-21 07:23:07 +02:00
Ken-Håvard Lieng
0f5c3b57d2 Handle channel names ending with a slash better 2017-06-13 04:25:59 +02:00
Ken-Håvard Lieng
b639ba6846 Support changing the server name by clicking it in the status tab 2017-06-12 06:31:27 +02:00
Ken-Håvard Lieng
1beb56abcf Print some info when running in dev mode 2017-06-07 00:17:46 +02:00
Ken-Håvard Lieng
a084e6d0af Dont send empty whois results to the client 2017-05-29 00:52:19 +02:00
Ken-Håvard Lieng
0689c74101 Dont forward irc errors that are handled elsewhere 2017-05-29 00:42:00 +02:00
Ken-Håvard Lieng
aa59e71745 Forward irc errors to the client, improve command validation and feedback, handle topic changes 2017-05-28 07:20:43 +02:00
Ken-Håvard Lieng
0b13431b83 Always listen on port 1337 in dev mode since the client expects it 2017-05-21 11:11:16 +02:00
Ken-Håvard Lieng
8684e2dea2 Store the last tab in a cookie so the server can use it for embedding state 2017-05-21 09:53:47 +02:00
Ken-Håvard Lieng
62a69dfd44 Send logged messages when joining a channel 2017-05-20 23:22:56 +02:00
Ken-Håvard Lieng
45c61e7596 Add message scrollback 2017-05-02 23:21:25 +02:00
Ken-Håvard Lieng
2525b06c28 Use firebase push IDs for messages 2017-04-20 05:32:22 +02:00
Ken-Håvard Lieng
0daf3244cb Log outgoing messages 2017-04-20 02:05:56 +02:00
Ken-Håvard Lieng
eedc687f18 Send the 25 last messages for each channel to the client on load 2017-04-20 01:51:55 +02:00
Ken-Håvard Lieng
971278e7e5 Upgrade server dependencies, manage them with govendor 2017-04-18 03:02:51 +02:00
Ken-Håvard Lieng
ebee2746d6 Rename message.message to message.content 2017-04-17 22:36:37 +02:00
Ken-Håvard Lieng
e294e109f8 Handle requests with no Accept-Encoding properly 2017-04-16 01:37:26 +02:00
Ken-Håvard Lieng
64a4bfbd8a Unvendor x/net/http2 2017-04-15 04:52:40 +02:00
Ken-Håvard Lieng
37c8e780bc Add HTTP/2 push 2017-04-15 04:48:24 +02:00
Ken-Håvard Lieng
495598ac37 Remove favicon 404 2017-04-14 04:40:31 +02:00
Ken-Håvard Lieng
e5832d2c58 Add brotli support 2017-04-14 04:33:44 +02:00
Ken-Håvard Lieng
06977c9b44 Fix tests 2017-04-13 01:59:16 +02:00
Ken-Håvard Lieng
b2e3e995ce Wait for server comfirmation before updating nick 2017-04-13 01:50:58 +02:00
Ken-Håvard Lieng
e84f2dd993 Improve nick change handling 2017-04-11 06:04:59 +02:00
Ken-Håvard Lieng
18651c1a10 Fix race condition with NICK and QUIT when multiple dispatch users are in the same channel 2017-04-11 03:49:52 +02:00
Ken-Håvard Lieng
961c0415a0 Handle nick collisions by right-padding with _ 2017-04-06 23:26:58 +02:00
Ken-Håvard Lieng
50dc0ef64f Fix handling of PART messages with no reason 2017-04-04 22:57:01 +02:00
Ken-Håvard Lieng
8eea1e5cb0 Prevent favicon requests 2017-03-23 20:55:34 +01:00
Ken-Håvard Lieng
cc3b1e3a82 Add Message.LastParam() 2016-12-17 00:11:44 +01:00
Ken-Håvard Lieng
cf759883aa Slice the params instead of building a new channel slice in the PART handler 2016-12-16 23:17:15 +01:00
Daniel Oaks
0293a7f4a5 Remove Trailing param 2016-12-12 16:42:12 +10:00
Ken-Håvard Lieng
240392dcae Use egon templating for the index page 2016-03-16 23:23:16 +01:00
Ken-Håvard Lieng
cd317761c5 Switch from Godep to go vendoring 2016-03-01 01:51:26 +01:00
Ken-Håvard Lieng
7108fa572c Update client dependencies 2016-02-04 03:35:50 +01:00
Ken-Håvard Lieng
90b74ee022 Implement Content-Security-Policy 2016-02-03 19:44:44 +01:00
Ken-Håvard Lieng
e5bc38aafc Use local fonts 2016-02-03 02:22:45 +01:00
Ken-Håvard Lieng
58fe1c630a Trim trailing whitespace off RPL_NAMREPLY, this fixes usercount sometimes being 1 too high 2016-02-01 00:14:24 +01:00
Ken-Håvard Lieng
b50a4a1068 Add /raw command 2016-01-27 20:48:47 +01:00
Ken-Håvard Lieng
f678aaed8e Only use the default password when connecting to the default server 2016-01-27 18:30:07 +01:00
Ken-Håvard Lieng
2e8418516a Dont send default server password to the client 2016-01-27 18:08:20 +01:00
Ken-Håvard Lieng
1a7360a573 Allow all websocket origins in development mode 2016-01-27 18:03:38 +01:00
Ken-Håvard Lieng
22d8b8b363 Embed servers, channels and users in index.html 2016-01-26 22:10:44 +01:00
Ken-Håvard Lieng
04d61dd9a6 Only allow websocket connections from the same origin 2016-01-26 20:14:19 +01:00
Ken-Håvard Lieng
068f3c04a0 Add configurable HSTS and some other headers 2016-01-25 22:41:54 +01:00
Ken-Håvard Lieng
df02d27674 Set long cache-control and add a hash to css and js urls, clean some things up 2016-01-25 06:01:40 +01:00
Ken-Håvard Lieng
2ccca3a778 Implement client connect form defaults 2016-01-25 01:01:37 +01:00
Ken-Håvard Lieng
e856b66f97 Remove empty anonymous sessions after a certain time period 2016-01-19 22:02:12 +01:00
Ken-Håvard Lieng
3bcea0ec98 Set auth cookie expiration 2016-01-19 20:31:22 +01:00
Ken-Håvard Lieng
76f99c8332 Use MessagePack on disk 2016-01-17 23:33:52 +01:00
Ken-Håvard Lieng
1def24500a Test message logging 2016-01-17 21:15:29 +01:00
Ken-Håvard Lieng
f1c3326af1 Update server dependencies 2016-01-15 19:48:03 +01:00
Ken-Håvard Lieng
947823ab41 Vendor jwt-go 2016-01-15 02:32:50 +01:00
Ken-Håvard Lieng
fb54d4966c Store auth info in a JWT token in a cookie 2016-01-15 02:27:30 +01:00
Ken-Håvard Lieng
796bbd834e Add verify_client_certificates to the config 2016-01-14 06:17:53 +01:00
Ken-Håvard Lieng
13a3d96b44 Improve port handling 2016-01-14 05:56:53 +01:00
Ken-Håvard Lieng
f429a528ba Add IRC connection status indicator 2016-01-13 18:53:54 +01:00
Ken-Håvard Lieng
81500cc89e Synchronize user.certificate access 2016-01-12 00:32:40 +01:00
Ken-Håvard Lieng
937560e859 Add support for client certificates 2016-01-11 21:04:57 +01:00
Ken-Håvard Lieng
d9b63dd0ef Enable HTTP/2 2016-01-08 18:53:02 +01:00
Ken-Håvard Lieng
137cf3224d Add user storage test 2016-01-07 23:59:38 +01:00
Ken-Håvard Lieng
47dd4f51cb Refactor lets encrypt integration to support cert changes and ocsp stapling without restarting 2016-01-06 22:19:06 +01:00
Ken-Håvard Lieng
b55cb13e44 Let's Encrypt 2016-01-04 19:26:32 +01:00
Ken-Håvard Lieng
de1a2dd343 Support websocket over ssl, pass uuid in url 2015-12-29 22:23:07 +01:00
Ken-Håvard Lieng
e389454535 Switch to redux and webpack 2015-12-29 00:34:32 +01:00
Ken-Håvard Lieng
eeb45e17c2 Name it 2015-12-11 04:35:48 +01:00
Ken-Håvard Lieng
114bf8201e Refactor websocket handler 2015-06-17 00:46:58 +02:00
Ken-Håvard Lieng
047027ddec Refactor irc handler, add tests 2015-06-16 23:20:53 +02:00
Ken-Håvard Lieng
d11ad72f03 Separate vendor bundle 2015-06-08 00:11:03 +02:00
Ken-Håvard Lieng
3d20edd960 Move JSON encoding to conn.send() 2015-06-07 06:32:19 +02:00
Ken-Håvard Lieng
c6c740e24b Make storage.User synchronous, call session.setWS earlier 2015-06-07 06:16:16 +02:00
Ken-Håvard Lieng
7d17b4b30f Set GOMAXPROCS to NumCPU, drop httprouter 2015-06-07 01:18:26 +02:00
Ken-Håvard Lieng
ebdb382706 Stop creating new goroutines for irc.Connect() since it doesnt block anymore 2015-06-06 01:02:02 +02:00
Ken-Håvard Lieng
adcf12e1fa Pull IRC client out 2015-06-06 00:34:13 +02:00
Ken-Håvard Lieng
be695a9881 Reconnect websockets 2015-06-04 02:06:17 +02:00
Ken-Håvard Lieng
c325168a20 Reconnect and retry IRC connections 2015-06-01 05:44:30 +02:00
Ken-Håvard Lieng
5cf2822c34 Store nick in Message.Nick, keep full prefix in Message.Prefix 2015-06-01 01:48:07 +02:00
Ken-Håvard Lieng
65b3aac977 Remove irc client from session when the connection dies 2015-05-31 23:23:05 +02:00
Ken-Håvard Lieng
b687c13baa Pass server as parameter instead of capturing it in reconnect() 2015-05-30 01:10:29 +02:00
Ken-Håvard Lieng
61aa5880d3 Add config file, handle it with Viper, add a command to open it in an editor 2015-05-25 04:00:21 +02:00
Ken-Håvard Lieng
b8a8ba2e08 Add channel topic to ChatTitle, improve TabList layout 2015-05-23 04:38:43 +02:00
Ken-Håvard Lieng
9b9bef3695 Avoid array conversion in UserList 2015-05-23 01:58:56 +02:00
Ken-Håvard Lieng
6a6aedc5da Implement getInitialState in stores 2015-05-23 00:40:16 +02:00
Ken-Håvard Lieng
6a25c1d6a5 Add GetLastMessages, log messages to nested buckets 2015-05-21 09:15:57 +02:00
Ken-Håvard Lieng
a6d7403eba Everything is immutable 2015-05-20 08:14:44 +02:00
Ken-Håvard Lieng
17482ee253 Immutable channelStore 2015-05-19 06:50:43 +02:00
khlieng
11ea241b60 Immutable messages, search and selectedTab 2015-05-19 01:17:23 +02:00
khlieng
77c723344c Fix state updating in ChatTitle and UserList 2015-05-16 22:25:22 +02:00
khlieng
d4d51778fb Make ChatTitle and UserList render functions pure 2015-05-16 21:43:18 +02:00
Ken-Håvard Lieng
f497e248f1 Stop message handler goroutine when connection closes 2015-05-16 03:56:58 +02:00
Ken-Håvard Lieng
e55760a1a5 Stop irc and websocket writer goroutines when the connection closes 2015-05-16 02:58:26 +02:00
khlieng
e47cb5f0e4 Implement Last-Modified caching 2015-05-16 01:18:52 +02:00
khlieng
c7faa254c5 Strip bindata path 2015-05-16 00:33:51 +02:00
Ken-Håvard Lieng
5a535cf53e Update client dependencies, embed only gzipped assets and unzip on the fly if needed 2015-05-15 07:32:32 +02:00
khlieng
c4ac9f782c Insert space between timestamp and nick instead of using margin 2015-05-15 00:42:09 +02:00
khlieng
0eca6a1823 Select the previous tab or redirect to /connect when closing a tab, move some CSS from inline react styles to classes 2015-05-14 01:42:25 +02:00
khlieng
92de7cb8ef Concat css 2015-05-12 23:50:55 +02:00
khlieng
6b6a1172f9 Keep url text intact when linkifying it 2015-05-12 22:50:35 +02:00
Ken-Håvard Lieng
cb4b5e4f6f Allow websocket connections from all origins 2015-05-11 05:13:35 +02:00
khlieng
7aae7685c5 Add early search prototype on the client, add leave button 2015-05-11 03:39:34 +02:00
khlieng
deba58dbff Use replaceState for /connect redirects 2015-05-05 00:46:12 +02:00
khlieng
d440aac023 Send null server list to new users 2015-05-04 23:52:34 +02:00
khlieng
79095154ca Add clear command and get rid of the development flag 2015-05-02 01:02:21 +02:00
khlieng
d1a82a65b5 Switch to gorilla/websocket 2015-05-02 00:20:22 +02:00
khlieng
e63c012aad Add cobra, move the server code into its own package 2015-05-01 22:59:46 +02:00