From fd6c8a70e2ce592f24068e85ac38e4e78bd2164b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ken-H=C3=A5vard=20Lieng?= Date: Wed, 7 Nov 2018 02:07:23 +0100 Subject: [PATCH] Append pathname to bootloader request --- assets/bindata.go | 66 ++++++++++++++++++------------------- client/src/js/boot.js | 2 +- server/index_data.go | 15 ++++----- server/index_data_test.go | 4 +++ server/serve_files.go | 2 +- server/server.go | 2 +- server/websocket_handler.go | 4 +-- 7 files changed, 49 insertions(+), 46 deletions(-) diff --git a/assets/bindata.go b/assets/bindata.go index 1a4bb8ad..c55f2a91 100644 --- a/assets/bindata.go +++ b/assets/bindata.go @@ -6,7 +6,7 @@ // dist/7.2948bed1.js.br // dist/8.00bbe8cc.js.br // dist/asset-manifest.json -// dist/boot.fbea1381.js.br +// dist/boot.150df3bc.js.br // dist/config.default.toml // dist/font/Montserrat-Bold.woff // dist/font/Montserrat-Bold.woff2 @@ -20,7 +20,7 @@ // dist/font/fontello.woff2 // dist/main.34b5e0ff.js.br // dist/main.b871b061.css.br -// dist/precache-manifest.67d0c066b9508167ced2c43584d0c5d5.js.br +// dist/precache-manifest.7943a24b65049d069763e7f80059bcf9.js.br // dist/runtime.94e2a260.js.br // dist/sw.js.br // dist/vendors~main.09d549af.js.br @@ -96,7 +96,7 @@ func _42ad6c946JsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "4.2ad6c946.js.br", size: 9768, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "4.2ad6c946.js.br", size: 9768, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -116,7 +116,7 @@ func _51ce46502JsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "5.1ce46502.js.br", size: 2318, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "5.1ce46502.js.br", size: 2318, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -136,7 +136,7 @@ func _637d7ed80JsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "6.37d7ed80.js.br", size: 1317, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "6.37d7ed80.js.br", size: 1317, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -156,7 +156,7 @@ func _72948bed1JsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "7.2948bed1.js.br", size: 5941, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "7.2948bed1.js.br", size: 5941, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -176,12 +176,12 @@ func _800bbe8ccJsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "8.00bbe8cc.js.br", size: 4227, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "8.00bbe8cc.js.br", size: 4227, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _assetManifestJson = "\x7b\x0a\x20\x20\x22\x72\x75\x6e\x74\x69\x6d\x65\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x72\x75\x6e\x74\x69\x6d\x65\x2e\x39\x34\x65\x32\x61\x32\x36\x30\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x62\x6f\x6f\x74\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x62\x6f\x6f\x74\x2e\x66\x62\x65\x61\x31\x33\x38\x31\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x6d\x61\x69\x6e\x2e\x63\x73\x73\x22\x3a\x20\x22\x2f\x6d\x61\x69\x6e\x2e\x62\x38\x37\x31\x62\x30\x36\x31\x2e\x63\x73\x73\x22\x2c\x0a\x20\x20\x22\x6d\x61\x69\x6e\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x6d\x61\x69\x6e\x2e\x33\x34\x62\x35\x65\x30\x66\x66\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x76\x65\x6e\x64\x6f\x72\x73\x7e\x6d\x61\x69\x6e\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x76\x65\x6e\x64\x6f\x72\x73\x7e\x6d\x61\x69\x6e\x2e\x30\x39\x64\x35\x34\x39\x61\x66\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x34\x2e\x32\x61\x64\x36\x63\x39\x34\x36\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x34\x2e\x32\x61\x64\x36\x63\x39\x34\x36\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x35\x2e\x31\x63\x65\x34\x36\x35\x30\x32\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x35\x2e\x31\x63\x65\x34\x36\x35\x30\x32\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x36\x2e\x33\x37\x64\x37\x65\x64\x38\x30\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x36\x2e\x33\x37\x64\x37\x65\x64\x38\x30\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x37\x2e\x32\x39\x34\x38\x62\x65\x64\x31\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x37\x2e\x32\x39\x34\x38\x62\x65\x64\x31\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x38\x2e\x30\x30\x62\x62\x65\x38\x63\x63\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x38\x2e\x30\x30\x62\x62\x65\x38\x63\x63\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x70\x72\x65\x63\x61\x63\x68\x65\x2d\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x36\x37\x64\x30\x63\x30\x36\x36\x62\x39\x35\x30\x38\x31\x36\x37\x63\x65\x64\x32\x63\x34\x33\x35\x38\x34\x64\x30\x63\x35\x64\x35\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x70\x72\x65\x63\x61\x63\x68\x65\x2d\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x36\x37\x64\x30\x63\x30\x36\x36\x62\x39\x35\x30\x38\x31\x36\x37\x63\x65\x64\x32\x63\x34\x33\x35\x38\x34\x64\x30\x63\x35\x64\x35\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x73\x77\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x73\x77\x2e\x6a\x73\x22\x0a\x7d" +var _assetManifestJson = "\x7b\x0a\x20\x20\x22\x72\x75\x6e\x74\x69\x6d\x65\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x72\x75\x6e\x74\x69\x6d\x65\x2e\x39\x34\x65\x32\x61\x32\x36\x30\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x62\x6f\x6f\x74\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x62\x6f\x6f\x74\x2e\x31\x35\x30\x64\x66\x33\x62\x63\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x6d\x61\x69\x6e\x2e\x63\x73\x73\x22\x3a\x20\x22\x2f\x6d\x61\x69\x6e\x2e\x62\x38\x37\x31\x62\x30\x36\x31\x2e\x63\x73\x73\x22\x2c\x0a\x20\x20\x22\x6d\x61\x69\x6e\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x6d\x61\x69\x6e\x2e\x33\x34\x62\x35\x65\x30\x66\x66\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x76\x65\x6e\x64\x6f\x72\x73\x7e\x6d\x61\x69\x6e\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x76\x65\x6e\x64\x6f\x72\x73\x7e\x6d\x61\x69\x6e\x2e\x30\x39\x64\x35\x34\x39\x61\x66\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x34\x2e\x32\x61\x64\x36\x63\x39\x34\x36\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x34\x2e\x32\x61\x64\x36\x63\x39\x34\x36\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x35\x2e\x31\x63\x65\x34\x36\x35\x30\x32\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x35\x2e\x31\x63\x65\x34\x36\x35\x30\x32\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x36\x2e\x33\x37\x64\x37\x65\x64\x38\x30\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x36\x2e\x33\x37\x64\x37\x65\x64\x38\x30\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x37\x2e\x32\x39\x34\x38\x62\x65\x64\x31\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x37\x2e\x32\x39\x34\x38\x62\x65\x64\x31\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x38\x2e\x30\x30\x62\x62\x65\x38\x63\x63\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x38\x2e\x30\x30\x62\x62\x65\x38\x63\x63\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x70\x72\x65\x63\x61\x63\x68\x65\x2d\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x37\x39\x34\x33\x61\x32\x34\x62\x36\x35\x30\x34\x39\x64\x30\x36\x39\x37\x36\x33\x65\x37\x66\x38\x30\x30\x35\x39\x62\x63\x66\x39\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x70\x72\x65\x63\x61\x63\x68\x65\x2d\x6d\x61\x6e\x69\x66\x65\x73\x74\x2e\x37\x39\x34\x33\x61\x32\x34\x62\x36\x35\x30\x34\x39\x64\x30\x36\x39\x37\x36\x33\x65\x37\x66\x38\x30\x30\x35\x39\x62\x63\x66\x39\x2e\x6a\x73\x22\x2c\x0a\x20\x20\x22\x73\x77\x2e\x6a\x73\x22\x3a\x20\x22\x2f\x73\x77\x2e\x6a\x73\x22\x0a\x7d" func assetManifestJsonBytes() ([]byte, error) { return bindataRead( @@ -196,27 +196,27 @@ func assetManifestJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "asset-manifest.json", size: 519, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "asset-manifest.json", size: 519, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _bootFbea1381JsBr = "\x1b\xd3\x00\x00\x8c\x94\x2e\x6f\x14\x59\x36\x97\xb2\xcd\xa9\xdd\x02\x49\x8c\xaf\xb0\x0c\x73\x85\x07\xac\x99\x2e\x3d\x59\xc8\x9d\x66\x57\x44\x53\xaa\x9c\x84\x68\xcc\xe8\x0d\x8f\xd7\xa1\x96\x19\x27\x29\x4a\x08\x7f\x76\x75\xb6\xa5\xf8\x92\xd8\x43\x3f\x2f\x7c\x80\x25\x5b\x92\xc4\xa9\x7f\x5d\xb6\x47\x2a\x11\xf4\x8e\xbf\xc8\xb7\x28\x3a\x3c\x8a\x22\xec\xbb\x5b\x33\x92\xb0\x82\xbd\x42\xff\x36\x67\xd7\x76\xb8\x4d\xd5\x7a\x79\xa2\xdb\x60\x28\xe6\xe2\xcf\xbf\xd5\x18\x11\x46\xdf\xa9\x27\x98\x72\xe1\xa2\x09\xfe\xde\xd1\xb1\x7f\x1b\x4f\xf9\x54\xd0\x3d\x8f\x1a\x07\xc1\xe4\x4f\x23\x4d\x07\xff\xf9\xff\xd7\x93\xc4\x65\xeb\x76\x63\xec\x03" +var _boot150df3bcJsBr = "\x1b\xee\x00\x00\x8c\x94\x2e\x6f\x14\x23\x24\x99\x35\x6a\x5b\xa9\xc2\x3b\xa2\x51\xa7\x7f\xa8\xa8\xef\x61\x5a\x33\x5d\x9f\x2e\xe4\x4e\x33\x8a\x68\x4a\x95\x8a\x54\x85\x68\xcc\xde\x5e\x0b\xe4\x36\x76\x4e\x20\xaa\xdd\x22\x48\x7e\x08\x5b\xd3\xc8\x6d\xe9\x3f\x12\x74\x66\x1d\x17\x3e\x98\x89\x6c\xb1\x6d\x25\x7f\xaa\x64\x4d\x54\xf8\x81\x27\xcc\x89\x7c\xfa\x7e\x8a\xc5\xf7\xcd\x2c\x9d\xe2\xe2\x17\x48\x64\xd9\xeb\x64\x24\xd1\x0f\xa8\xff\xb8\x03\xfe\x8c\x87\x34\x49\x31\x95\x61\x33\x6a\x8f\x11\x0b\x61\xda\xe3\x66\xde\xae\x31\xc2\xb4\xce\x32\xfb\x41\x24\x35\xd3\x4f\xc2\x4b\x3c\x3a\x46\x9f\x8a\x81\xac\x14\xd2\xf5\xde\xb1\xff\x20\x5a\x83\x69\xa7\x83\xb9\x99\xfb\xe6\x6d\x5b\x25\xf3\xf2\x94\xd1\x01" -func bootFbea1381JsBrBytes() ([]byte, error) { +func boot150df3bcJsBrBytes() ([]byte, error) { return bindataRead( - _bootFbea1381JsBr, - "boot.fbea1381.js.br", + _boot150df3bcJsBr, + "boot.150df3bc.js.br", ) } -func bootFbea1381JsBr() (*asset, error) { - bytes, err := bootFbea1381JsBrBytes() +func boot150df3bcJsBr() (*asset, error) { + bytes, err := boot150df3bcJsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "boot.fbea1381.js.br", size: 157, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "boot.150df3bc.js.br", size: 172, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -456,7 +456,7 @@ func main34b5e0ffJsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "main.34b5e0ff.js.br", size: 11010, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "main.34b5e0ff.js.br", size: 11010, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -476,27 +476,27 @@ func mainB871b061CssBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "main.b871b061.css.br", size: 2437, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "main.b871b061.css.br", size: 2437, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBr = "\x1b\x31\x05\x00\x2c\x0e\xec\xb6\x1e\x93\x25\xd5\xc2\xaf\x1f\x32\x06\x9f\x74\xb9\x34\x11\xcd\x98\xe7\xbc\x5d\x12\x01\x06\xf8\x67\x6b\x4a\xff\xca\x52\x20\x5d\x0d\x22\xb2\xd7\x37\x45\x7a\xb6\x5a\x81\x45\x67\xa7\xff\xff\x37\xf5\x87\x98\xeb\x6f\x2c\x5f\x83\xe2\xb1\x8f\x5f\xb3\xb8\x0d\x92\x6a\x80\x0f\x1b\x42\x9e\xb5\xb9\x3f\x44\xf0\x1b\x1a\x1a\xae\xfb\xf4\xc1\x16\x91\x86\x78\xf0\xca\xf5\xf4\xf4\xf7\xb9\x7b\x98\x3d\xfc\xf7\xb7\x6f\x0c\x15\x7d\xca\x58\x4c\x99\x3e\xbd\x0d\x5e\xb5\xba\x36\x58\x87\x1e\xf5\xa0\x10\xba\xc5\xf5\xdf\x9e\x7f\xd2\xe2\xbb\x5d\x7e\xc4\xf5\xfd\xe5\x86\x27\x78\xbb\xca\xc9\x3d\xb6\x12\x29\x96\x73\x69\xd3\xac\x29\x44\x97\x44\x0f\x17\xe7\xb9\xb4\xee\x2b\xc3\x1a\x7f\x1e\x7f\x7e\xff\xf9\xfc\xa3\xe5\x8d\xfe\xf8\x33\x43\xb1\x1e\x7b\x82\x47\xb2\x07\x3d\x62\x57\x6a\xe7\x72\x26\xaf\xb3\xeb\x78\x55\x19\xbf\xe0\x33\x19\x18\x81\x22\x40\x44\xef\x4c\x3d\x13\xab\x90\x74\xa3\x6a\x7c\xdf\x17\x13\x19\x16\xca\x47\x9a\x9c\x0c\x88\x21\xc0\x8b\xcf\x2c\x41\xff\xf9\xed\xf7\xe6\x8d\x2a\x1f\x91\xfd\x2a\x61\xa5\x8d\x8b\xce\x0c\x5a\xc1\x6c\x38\xd6\xd0\xc3\x41\x38\x25\x23\xcd\x97\xde\x81\xed\xe9\xbe\xc0\x0f\x27\x04\xa5\x52\x99\x84\x18\x32\xbb\xb7\x0c\x4f\x84\x09\x8f\x09\xbd\xf4\xf3\xb3\xbf\xa6\xf3\x73\xc2\x0d\x31\xcf\xc8\x51\xb2\x83\x23\x5a\x81\x00\x25\xb0\x9d\x24\x32\x16\xef\x10\x9a\x55\x8a\xa7\x54\x8e\x4f\xaf\xb5\x24\x66\x31\x03\x9a\xf4\xa2\x0b\x9e\x5f\xfe\x4f\xe0\xea\x4d\x48\x36\x48\xb2\x84\x36\xcc\x64\xa1\x50\xc6\x3e\xbe\xb6\xb6\xa4\xf9\x07\x62\x2f\x0c\x30\xbc\xf2\xa5\xaa\x64\xe4\x21\x07\x13\xed\xc8\x1b\x7d\x2b\xcf\x49\x6e\x02\x06\xdf\xf7\x56\x2d\x88\x66\x4a\x47\xb6\xb3\xba\xf2\x24\x18\x53\xe8\x61\x83\xbd\x2e\x26\x72\x92\xc4\x6c\x31\x05\x5a\x0c\xda\x94\x19\x32\x61\xb6\x5e\x40\x90\x23\x2f\xcb\xe3\xac\xb7\xfa\x22\x1a\x5e\xc1\xb0\xe5\x2a\x2a\x7c\x0f" +var _precacheManifest7943a24b65049d069763e7f80059bcf9JsBr = "\x1b\x31\x05\x00\x2c\x0e\xec\xb6\x1e\x93\x25\xd5\xc2\xaf\x1f\x32\x06\x9f\xb4\xb9\x2c\x11\xcd\x1c\xcf\x9e\x9a\x2d\x8b\x80\x03\xf8\x47\x35\xa5\x7f\x65\x29\x90\xae\x06\x11\xd9\xeb\x9b\x22\x3d\x5b\xad\xc0\xa2\xb3\xd3\xaa\x1b\x3f\xe2\x9b\x46\xb8\x3f\x73\x92\x1f\x5c\x33\x87\x81\x54\x80\x6b\x16\x47\x8d\x97\xeb\x62\x3f\x2f\xe4\xa9\xce\xb5\x07\x09\x7a\x70\x78\xd4\x4e\x58\x82\x0f\x21\x1e\x22\xf8\xe6\x7a\x7a\xfa\xfb\xdc\x3d\x5c\x1f\xfe\xfb\xdb\x37\x86\x56\x9f\x32\x96\x94\xe9\xd7\xdb\x60\x2d\xed\x3a\xb0\x3b\xd6\xb9\x0f\x0a\xa1\x5b\xda\x78\x7b\xfe\x29\xcb\xfb\xbe\x8e\x3b\xae\xef\x2f\x37\x3c\xc3\xcf\x55\x4e\x9e\xd9\x9a\x48\xa1\xce\xb5\x9a\x46\xa7\x10\x5d\x12\x3d\xdc\x1c\xb9\x9c\xef\x2b\xc3\x0e\x7f\x1e\x7f\x7e\xff\xf9\xfc\xa3\xe5\x9d\xfe\xf8\x33\x43\xb1\xba\xb5\xe0\x91\xec\x41\x8f\x38\x95\xab\x53\x9d\xc9\xcb\x4e\x99\x57\x15\x70\x81\x99\x8c\x8c\xa0\x08\x10\xd1\x27\x73\xd9\x84\x16\xd2\x3a\xe8\x9a\xf7\x73\x29\x99\x61\x51\x36\x69\x72\xda\x40\x0c\x01\x5e\x6c\xa3\x86\xf1\xfc\xf6\x7b\xf3\x46\xd3\x33\xb6\xa3\x12\x5e\x74\x50\xc9\x66\x70\x17\xcc\x01\xdb\x0d\x3d\x1c\x84\x53\x32\xd2\x58\x7a\x47\xd6\xde\x5d\xc1\x8d\x13\x82\x72\x51\x6d\x09\xd9\xc8\xec\xde\x32\x3c\x11\x28\x8f\x0b\xbd\xf4\xf3\xb3\xbf\xa6\x73\x38\xe1\x1b\x31\x6d\xc4\x16\x6d\xc3\x91\x55\x81\x00\x25\x70\x9c\x24\x32\x16\x3a\xc4\x66\x55\xd1\x6a\x89\xf9\xb4\xaa\x4a\x8c\x32\x03\xa2\xbd\xe8\x96\xe7\x97\xff\x13\xb8\xdd\xc4\x64\x43\x92\x25\x56\xc3\x4c\x16\x0a\x65\x1c\x73\x3d\xde\xcd\xf3\x0f\xc4\x51\x0c\xd8\x78\xe5\x4b\x31\x31\xf3\x90\x0f\xb8\xa0\x86\x23\xc1\x83\x48\x30\x89\x33\x86\x7d\x6f\x8d\x8c\xa7\x24\x99\x9c\xe8\x42\xb6\x84\xcd\x14\xcb\x78\xc3\xf5\x6a\x4c\x93\xc4\x6c\xd9\x0b\x48\x19\x56\x53\x66\xc8\x04\x7c\x5d\x64\x28\x49\x5e\x3b\x4d\x76\x03\xb9\x12\x0d\x6b\x30\x5c\x2e\x1a\xc3\x03" -func precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBrBytes() ([]byte, error) { +func precacheManifest7943a24b65049d069763e7f80059bcf9JsBrBytes() ([]byte, error) { return bindataRead( - _precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBr, - "precache-manifest.67d0c066b9508167ced2c43584d0c5d5.js.br", + _precacheManifest7943a24b65049d069763e7f80059bcf9JsBr, + "precache-manifest.7943a24b65049d069763e7f80059bcf9.js.br", ) } -func precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBr() (*asset, error) { - bytes, err := precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBrBytes() +func precacheManifest7943a24b65049d069763e7f80059bcf9JsBr() (*asset, error) { + bytes, err := precacheManifest7943a24b65049d069763e7f80059bcf9JsBrBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "precache-manifest.67d0c066b9508167ced2c43584d0c5d5.js.br", size: 441, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "precache-manifest.7943a24b65049d069763e7f80059bcf9.js.br", size: 435, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -516,12 +516,12 @@ func runtime94e2a260JsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "runtime.94e2a260.js.br", size: 1004, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "runtime.94e2a260.js.br", size: 1004, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _swJsBr = "\x1b\x2e\x01\x00\x1c\x07\xce\x19\xcb\x2d\xe6\xbb\x24\x74\x71\x9c\xd7\x47\xa3\xdb\x52\x7f\x14\x05\x6f\xac\x13\x49\xa2\xda\x20\x2e\x37\x7d\x4b\xe1\x05\x22\x6f\x21\x57\x9e\x63\x33\x8a\x75\x81\x28\x9b\x66\x53\x85\xa4\x65\x21\x35\xba\xcd\xc7\xab\xb7\x46\xd1\x64\x75\x09\x85\x68\x9d\x48\x79\xca\x75\x70\xd9\x4a\xaa\x67\x12\x4e\xf0\x0d\xd5\x57\xf0\x9c\xeb\x7a\x66\x69\xdc\x14\xba\x91\x97\x85\xcc\x55\x45\x33\xd5\x82\xe7\x5a\xa1\xd1\x6e\x07\x18\xf8\xcb\x29\x74\x23\x55\x42\x4d\x97\x76\x4f\x3b\xd0\x92\xcd\x0f\xc9\x8b\x89\xe9\x62\x62\x4a\x7a\x0a\x9c\xf7\x7b\x39\x39\xac\x8c\x06\x2a\x35\x6a\x54\x4e\x61\xde\xb8\x29\x4d\xe6\xe7\xb6\x39\x10\xd0\xcd\x75\x5b\xe9\x4c\x45\xa6\xe7\xc4\xcb\x85\xc6\x31\x96\x5c\x8a\x03\xf6\xe3\x49\x8c\xcb\xdb\x86\xe8\x2e\x13\xbe\xf5\x6e\xa7\xda\xe6\xa7\x90\x85\xbe\x3b" +var _swJsBr = "\x1b\x2e\x01\x00\x1c\x07\x76\xcc\xb2\x26\xed\x8f\x45\x18\x79\x7e\xda\xe5\xb6\xd4\x17\x91\x9f\xa2\x8d\xeb\x44\x92\xa8\x16\x48\x5f\x29\xbc\x40\xe4\x2d\xe4\xca\x73\x6c\x46\xb1\x2e\x10\x65\xd3\x6c\xaa\x90\xb4\x2c\xa4\x46\xb7\xf9\x78\xf5\xd6\x28\x9a\xac\x2e\xa1\x10\xad\x13\x29\x4f\xb9\x8e\x2e\x5b\x49\xf5\xac\x86\x13\x7c\x03\x86\x25\x78\xca\x44\xa6\x6b\x44\x58\x05\xd1\x2d\x43\xe7\xa5\x51\x99\x84\x68\x56\x96\x57\x16\x74\x3b\x52\xa0\xbf\x9c\x42\x37\x82\x12\x6a\xba\xb4\x7b\xda\x81\x96\x6c\x7e\xd4\xbc\x98\xb0\x2e\x26\xcc\x41\x07\x0e\xe7\xfd\x5e\x4e\x0e\x2b\xa3\x01\xa4\x46\x8d\xca\x29\xcc\x1b\x37\xa5\xc9\xfc\xdc\x36\x07\x02\xba\xb9\x6e\x2b\x9d\xa9\xc8\xf4\x9c\x78\xb9\x40\x1c\x63\xc9\xa5\x38\x28\x7e\x3c\x89\x71\x79\xdb\x10\xdd\x65\xc2\xb7\xde\xed\x54\xdb\xfc\x20\xe1\xd0\xdd\x01" func swJsBrBytes() ([]byte, error) { return bindataRead( @@ -536,7 +536,7 @@ func swJsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "sw.js.br", size: 196, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "sw.js.br", size: 194, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -556,7 +556,7 @@ func vendorsMain09d549afJsBr() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "vendors~main.09d549af.js.br", size: 67529, mode: os.FileMode(436), modTime: time.Unix(1541549704, 0)} + info := bindataFileInfo{name: "vendors~main.09d549af.js.br", size: 67529, mode: os.FileMode(436), modTime: time.Unix(1541551099, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -619,7 +619,7 @@ var _bindata = map[string]func() (*asset, error){ "7.2948bed1.js.br": _72948bed1JsBr, "8.00bbe8cc.js.br": _800bbe8ccJsBr, "asset-manifest.json": assetManifestJson, - "boot.fbea1381.js.br": bootFbea1381JsBr, + "boot.150df3bc.js.br": boot150df3bcJsBr, "config.default.toml": configDefaultToml, "font/Montserrat-Bold.woff": fontMontserratBoldWoff, "font/Montserrat-Bold.woff2": fontMontserratBoldWoff2, @@ -633,7 +633,7 @@ var _bindata = map[string]func() (*asset, error){ "font/fontello.woff2": fontFontelloWoff2, "main.34b5e0ff.js.br": main34b5e0ffJsBr, "main.b871b061.css.br": mainB871b061CssBr, - "precache-manifest.67d0c066b9508167ced2c43584d0c5d5.js.br": precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBr, + "precache-manifest.7943a24b65049d069763e7f80059bcf9.js.br": precacheManifest7943a24b65049d069763e7f80059bcf9JsBr, "runtime.94e2a260.js.br": runtime94e2a260JsBr, "sw.js.br": swJsBr, "vendors~main.09d549af.js.br": vendorsMain09d549afJsBr, @@ -685,7 +685,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "7.2948bed1.js.br": &bintree{_72948bed1JsBr, map[string]*bintree{}}, "8.00bbe8cc.js.br": &bintree{_800bbe8ccJsBr, map[string]*bintree{}}, "asset-manifest.json": &bintree{assetManifestJson, map[string]*bintree{}}, - "boot.fbea1381.js.br": &bintree{bootFbea1381JsBr, map[string]*bintree{}}, + "boot.150df3bc.js.br": &bintree{boot150df3bcJsBr, map[string]*bintree{}}, "config.default.toml": &bintree{configDefaultToml, map[string]*bintree{}}, "font": &bintree{nil, map[string]*bintree{ "Montserrat-Bold.woff": &bintree{fontMontserratBoldWoff, map[string]*bintree{}}, @@ -701,7 +701,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ }}, "main.34b5e0ff.js.br": &bintree{main34b5e0ffJsBr, map[string]*bintree{}}, "main.b871b061.css.br": &bintree{mainB871b061CssBr, map[string]*bintree{}}, - "precache-manifest.67d0c066b9508167ced2c43584d0c5d5.js.br": &bintree{precacheManifest67d0c066b9508167ced2c43584d0c5d5JsBr, map[string]*bintree{}}, + "precache-manifest.7943a24b65049d069763e7f80059bcf9.js.br": &bintree{precacheManifest7943a24b65049d069763e7f80059bcf9JsBr, map[string]*bintree{}}, "runtime.94e2a260.js.br": &bintree{runtime94e2a260JsBr, map[string]*bintree{}}, "sw.js.br": &bintree{swJsBr, map[string]*bintree{}}, "vendors~main.09d549af.js.br": &bintree{vendorsMain09d549afJsBr, map[string]*bintree{}}, diff --git a/client/src/js/boot.js b/client/src/js/boot.js index fd6b38ea..286525c0 100644 --- a/client/src/js/boot.js +++ b/client/src/js/boot.js @@ -3,7 +3,7 @@ // This entrypoint gets inlined in the index page cached by service workers // and is responsible for fetching the data we would otherwise embed -window.__env__ = fetch('/data', { +window.__env__ = fetch(`/data${window.location.pathname}`, { credentials: 'same-origin' }).then(res => { if (res.ok) { diff --git a/server/index_data.go b/server/index_data.go index ef637ea5..926c0213 100644 --- a/server/index_data.go +++ b/server/index_data.go @@ -5,9 +5,8 @@ import ( "net/url" "strings" - "github.com/spf13/viper" - "github.com/khlieng/dispatch/storage" + "github.com/spf13/viper" ) type connectDefaults struct { @@ -36,7 +35,7 @@ type indexData struct { Messages *Messages } -func getIndexData(r *http.Request, state *State) *indexData { +func getIndexData(r *http.Request, path string, state *State) *indexData { data := indexData{ HexIP: viper.GetBool("hexIP"), } @@ -84,13 +83,13 @@ func getIndexData(r *http.Request, state *State) *indexData { } data.Channels = channels - server, channel := getTabFromPath(r.URL.EscapedPath()) + server, channel := getTabFromPath(path) if isInChannel(channels, server, channel) { data.addUsersAndMessages(server, channel, state) return &data } - server, channel = parseTabCookie(r, r.URL.Path) + server, channel = parseTabCookie(r, path) if isInChannel(channels, server, channel) { data.addUsersAndMessages(server, channel, state) } @@ -137,10 +136,10 @@ func isInChannel(channels []*storage.Channel, server, channel string) bool { func getTabFromPath(rawPath string) (string, string) { path := strings.Split(strings.Trim(rawPath, "/"), "/") - if len(path) == 2 { - name, err := url.PathUnescape(path[1]) + if len(path) >= 2 { + name, err := url.PathUnescape(path[len(path)-1]) if err == nil && isChannel(name) { - return path[0], name + return path[len(path)-2], name } } return "", "" diff --git a/server/index_data_test.go b/server/index_data_test.go index 509ef5fa..388d6857 100644 --- a/server/index_data_test.go +++ b/server/index_data_test.go @@ -32,6 +32,10 @@ func TestGetTabFromPath(t *testing.T) { "/chat.freenode.net/%23stuff/cake", "", "", + }, { + "/data/chat.freenode.net/%23apples", + "chat.freenode.net", + "#apples", }, } diff --git a/server/serve_files.go b/server/serve_files.go index 0c2c19d8..7b4de5d0 100644 --- a/server/serve_files.go +++ b/server/serve_files.go @@ -323,7 +323,7 @@ func (d *Dispatch) serveIndex(w http.ResponseWriter, r *http.Request) { var data *indexData if !sw { - data = getIndexData(r, state) + data = getIndexData(r, r.URL.EscapedPath(), state) } inline := inlineScript diff --git a/server/server.go b/server/server.go index d2129eec..7b6e31d0 100644 --- a/server/server.go +++ b/server/server.go @@ -189,7 +189,7 @@ func (d *Dispatch) serve(w http.ResponseWriter, r *http.Request) { return } - easyjson.MarshalToHTTPResponseWriter(getIndexData(r, state), w) + easyjson.MarshalToHTTPResponseWriter(getIndexData(r, r.URL.EscapedPath()[5:], state), w) } else { d.serveFiles(w, r) } diff --git a/server/websocket_handler.go b/server/websocket_handler.go index 996ef383..05544831 100644 --- a/server/websocket_handler.go +++ b/server/websocket_handler.go @@ -72,9 +72,9 @@ func (h *wsHandler) init(r *http.Request) { if err != nil { log.Println(err) } - path := r.URL.EscapedPath()[3:] + path := r.URL.EscapedPath() pathServer, pathChannel := getTabFromPath(path) - cookieServer, cookieChannel := parseTabCookie(r, path) + cookieServer, cookieChannel := parseTabCookie(r, path[3:]) for _, channel := range channels { if (channel.Server == pathServer && channel.Name == pathChannel) ||