Commit Graph

214 Commits

Author SHA1 Message Date
Ken-Håvard Lieng
24b26aa85f Add channel joining UI, closes #37 2019-01-23 07:34:39 +01:00
Ken-Håvard Lieng
63cf65100d Pull https handling out into a new package 2018-12-31 03:33:05 +01:00
Ken-Håvard Lieng
67e32661f1 Update dependencies 2018-12-31 02:20:22 +01:00
Ken-Håvard Lieng
8526805c2f Add headers config, closes #25 2018-12-20 11:51:31 +01:00
Ken-Håvard Lieng
6fedb23363 Prerender index page 2018-12-17 14:44:46 +01:00
Ken-Håvard Lieng
fc643483be Dont redirect private IPs and localhost 2018-12-17 12:45:33 +01:00
Ken-Håvard Lieng
6c3a5777c4 Use certmagic, simplify config, set HTTP timeouts and a modern TLSConfig 2018-12-16 12:32:03 +01:00
Ken-Håvard Lieng
71f79fd84e Pass in config struct 2018-12-11 10:54:05 +01:00
Ken-Håvard Lieng
0438a099cf Fix dev mode, turn off react concurrent mode, update dependencies 2018-11-29 11:54:05 +01:00
Ken-Håvard Lieng
df71c54d37 Use a map to serve files 2018-11-27 12:07:48 +01:00
Ken-Håvard Lieng
d24d33d94c Fix push cookie hash check 2018-11-27 11:34:02 +01:00
Ken-Håvard Lieng
fbbcf6457e Show version info in settings 2018-11-22 12:08:18 +01:00
Ken-Håvard Lieng
9b40934654 Grab referer in /init handler instead of getIndexData() 2018-11-22 10:40:29 +01:00
Ken-Håvard Lieng
05527e41b7 Use absolute paths 2018-11-22 08:48:29 +01:00
Ken-Håvard Lieng
90785aba20 Create sessions on boot requests instead of websocket handshakes 2018-11-17 11:52:36 +01:00
Ken-Håvard Lieng
4dcf674c4b Add robots.txt, clean up index template 2018-11-14 10:11:15 +01:00
Ken-Håvard Lieng
d867ca8477 Add worker-src csp directive 2018-11-14 08:34:35 +01:00
Ken-Håvard Lieng
474afda9c2 Add manifest.json, icons and install button, flatten client/src 2018-11-10 12:33:44 +01:00
Ken-Håvard Lieng
04852cdf58 Implement http.Handler in server.Dispatch 2018-11-09 07:32:47 +01:00
Ken-Håvard Lieng
4b4b2394a9 Link rel preload boot data 2018-11-09 07:12:43 +01:00
Ken-Håvard Lieng
9b6844449d Vendor workbox 2018-11-08 09:39:32 +01:00
Ken-Håvard Lieng
70b2c4df47 Dont refresh session keys on bootloader requests 2018-11-08 08:39:47 +01:00
Ken-Håvard Lieng
f86e0d9283 Dont do auth on service worker index page requests 2018-11-07 02:55:00 +01:00
Ken-Håvard Lieng
fd6c8a70e2 Append pathname to bootloader request 2018-11-07 02:07:23 +01:00
Ken-Håvard Lieng
ed40b956b7 Set publicPath in production webpack config 2018-11-07 01:35:53 +01:00
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