Commit Graph

129 Commits

Author SHA1 Message Date
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