Commit Graph

189 Commits

Author SHA1 Message Date
Ken-Håvard Lieng
ca222ff10d Add cache-first service worker 2018-11-06 11:13:32 +01:00
Ken-Håvard Lieng
d930365eeb Code split the client, update dependencies 2018-11-04 07:23:07 +01:00
Ken-Håvard Lieng
675e350da3 Use Cache-Control immutable and SameSite Lax 2018-10-19 02:11:12 +02:00
Ken-Håvard Lieng
7fb0cd3e6a Send default settings when there is no user yet 2018-10-15 09:06:43 +02:00
Ken-Håvard Lieng
6c6a9e12cf Add colored nicks settings option 2018-10-15 08:56:17 +02:00
Ken-Håvard Lieng
ec03db4db6 Remove base64-arraybuffer 2018-10-10 21:23:42 +02:00
Ken-Håvard Lieng
963e36c296 Preload fonts 2018-09-18 22:09:08 +02:00
Ken-Håvard Lieng
c8c09bce8c Add option to choose which address to listen on, closes #31 2018-08-22 00:31:29 +02:00
Ken-Håvard Lieng
c975c5d120 Add option to hex encode the source IP of a client and use it as the ident, closes #24 2018-08-10 21:02:09 +02:00
Pierre-Alain TORET
8ed27bf54b Add support for X-Forwarded-For 2018-07-24 22:01:01 +02:00
Edward Betts
ad238726b7 Correct spelling mistakes. 2018-06-18 14:47:51 +01:00
Ken-Håvard Lieng
494dbc4cf5 Remove session expiration timer 2018-06-01 05:59:13 +02:00
Ken-Håvard Lieng
c49bbc72d4 Do all session pruning in a single goroutine 2018-06-01 05:40:12 +02:00
Ken-Håvard Lieng
e8f5809940 Do session disk writes in a new goroutine 2018-06-01 04:47:11 +02:00
Ken-Håvard Lieng
e0200a2b2a Name all storage interface params, return slices of pointers 2018-06-01 04:16:38 +02:00
Ken-Håvard Lieng
09248edd59 Fix irc handler tests 2018-06-01 03:37:22 +02:00
Ken-Håvard Lieng
24f9553aa5 Persist, renew and delete sessions, refactor storage package, move reusable packages to pkg 2018-05-31 23:24:59 +02:00
Ken-Håvard Lieng
09d57b7023 Use easyjson 2018-05-25 23:54:36 +02:00
Ken-Håvard Lieng
637f0d956b Wait until a websocket connection comes in before creating new anonymous sessions 2018-05-22 03:57:52 +02:00
Ken-Håvard Lieng
b09da1fc3b
Merge pull request #16 from prologic/consistency_config_options
Makes configuration options consistent
2018-05-18 03:50:31 +02:00
James Mills
16ce3cdfa5
Make configuration options consistent 2018-05-17 18:37:33 -07:00
Ken-Håvard Lieng
9806d6c12f Use nick as username and realname if they are missing 2018-05-18 03:14:22 +02:00
Ken-Håvard Lieng
6fd5235ec9 Add new connect form, closes #7 2018-05-16 05:02:48 +02:00
Ken-Håvard Lieng
fb8fec38ff Use correct hash length when reading the push cookie 2018-04-30 22:53:29 +02:00
Ken-Håvard Lieng
0648b67cb8 Use random session IDs instead of jwt 2018-04-26 21:32:21 +02:00
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