Resolved issue #252. Page will now refresh the protocol if it is changed

This commit is contained in:
Ryan Sullivan committed 2014-05-28 11:26:38 -04:00
1 parent 5369a62fd5
commit 832ed556d9
2 files changed
+31 -11

No files matched your search

+2 -2
View File
@@ -18,7 +18,7 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["angular.min.js"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3c7f73dbb692ffe75320bab4a412997272d7de4d14a7933a69cf2fbf3c71923f9eeb37438990c598221512b4ad71f4dddf2e0092000150b49db4e9ccd34c621b58ec2f2c16bb0b40e3fb9f8a244e1999e6d94541f3c784e5251d915996b2382d69f5f72a290bfc27fe26f7c777c6f74f936c1a26e4de63320f930280c2f4b44cc25cfe8d4077bc127e29581ecf9837b973e73ccc49b14e676c11a7a764af1a112cb3a84ca8efd57dde881c9f0c277c409927d310d0ec112fa705c753c305c8689e2509cd7defa86add67790218e625fc1d6729f1ef15b36c051cde5b30b61a92ab3b043e887b95d3f3e72143e4bb93baf594b2b72fa109656d5a91789833c139171138c14e811d594929275800c0d566d2ea9cc7a766fb727df01c25f3b4d6348b2822393eb120394851508d3dd94ff33ccb2de30a4ad317d8675202cdd3c4642ba7abac9282b78fc7e408a6313d2dc894ceb39c926996250549b2ec0c5a18a3b94e91310e0cbcf0f6ab387a4cbc5771c1680a88607640c219d80a9f357298672c9b65091110e4591481ba0b5a00205bafc00e3d462f19fc25674118e266a4207f1d5e1ed1347a395d150afab7253bcd70cedee134bf8a973123fecbf8d771316c70a7e5724af34eecef005f981ea420e879981c2914440fa9ba887f6dccd272ecc865e7cdf11f8679080b2479473f9700a42a075446404130328db88e1a90fef801c9fe0256326d691e91ff162794885e3101fd55af50f89d7b9a6769fa220da7098d1422a28b3c8fc1eece69be6e10a37d76f2fd2a9b3990f29e5be13ccc72e6464864777f1d1f61fbafc247ab6b079b49d3aeb2a98dff70981e9a728a16829df6c127ba873b2de323fbc296eb559d980f07b759cc1f744111dbb3922d286c4bb3903bf50f9ac85b111e86457191e5513752054a225e352d9ddcbe7fa52e5b6820fffffefde111015f4980502f1baad45d6f5cb0111d95b319a5118dfc6adfc24f3c27fe5dbe4da9adca54c569ccfce144eff2bdff4a290369cef86ee00dd1fd8789ef2de2887a2d687313c4cf4663a1d912afc94633b09b09842d16258bb28bb41bd2b63beb4c6f4ce5fe16827f3235eb162ba7accc53973aec13e2d2fad5349c9d4579b602a3007a6083601667743dcdc23c9241d4c631295d02d65bf81ce45820701d07a9bcf1582800847e15603d20deb858c3925d028f05da5d51f8cde02864615b38dd402736131018810d1cafb03c14e18a6fe74e22af26481dd7fcfe76fa0976c6007456f86ae0320c60d5bd08670b05791c19136355000f887e41347b1e34d074060d1fde1dec67cb559682ab404c7dd5a3a881e33d8ea31343136da9d4dfed3c2a9166ef99c20836cd2e803ac6bb10615ef8c39106c122e8f41166a78e8b87644c1eeeeeeeea9071241d55f551c26818af8b860e107446e294b854c4bd1976068bb0787b914234b8a2395b73555be0f153652813a37763b430d872ed5890284e0a382a085e80fdd7215b04cbf0d2df1d91ff23f7852e39c441faeb9ad1e27dc6602bdfb104fd06142a8f454393438d7256b26da42144eb435b037312df10d8eb660be253976a0da5ecf615c102a8cfc6c6e621f4c4a9ed26b62d0691f4f45e07ed54c94e6e33b9d34e8720d66265a1b9536c6eef1db8cb67737dd5231cacfb3dc8beca34a2f3388530ccbeb540e8909ea5b8dba9de5da360a2868982c400d6d85d24e1c47cc4b2d50a285b31f3d49c8935eca1e7b390e1fdcde80a9cff3cde3d0958f60108e4fb3035e0cc1f880e989769c172ffe170a2cb2187ef9101a680b0d90ec8972fa4693d88123a68cb22ba1f4037f1070d97581038a4f90cfc73784ae5c43c20831f8603abb452258a40edcd7395ed2710fa7dfbf98ed379f60d263bc29c2bff6a73ad4d9817c3d43829cb75e8b9a2a4064d21e6dd896995c7cb10f22f1b268bfaf429d44de29bcf23ec922e812dda15b533eead39fedd7e58b5195ccd18480510b05758cd0497952031b601283c4cda6ae57bd13cc9203e033276a788452a8b53c4e6fdb9163923b7e8e401ceb275c901c11bf879f0fc44b739046ceba66a0f30264b28278b4a0455d8b6b4dab1ae08cb78f4e3b5822f42b15ee91e29fd13f171adb429c31ef4c3b08db1c3e778bc0cc0c5af7db145b3073394eaefa0d7ececbafa94a9c97594b68458af706bcbf4d5dfadba4cf7d84b67a62fdcaa33d5359a2ac3aacc9fac31c918579a2c0a75b9f65f3ae65b51f95f2642cb09746e536e513ed2add380cce89c7243538e101c6c4a88739a1780dbc6dfb7544f12c3defbd14d7bcb3cc3761b2161433bbab828c112331a7e62a21ea000868451b5c280fc5664d3469544609d68d9068a28f106094d4fd902222ef2d021711d1f74082ab141a4ec348637e1d294d7620d325a91bd3d4394c1c015a1d4f30ce41d8355900e19758ba9627fc8687fb607116c11176f6c82b7a7381596d01ae6b7264cd14b5fa5f8a548b8f8a061a78ab6e9a78f727a6b86463153aaed76cd8cc710aa9d511212ac2f628c0263d775b7766e184890b7ab2ad5ae8e5f718cafc34a2035fbb6e1c2127a271e005071603957cad4b70ecaebe3436b841f9ed3de1a2aca1cfecb96549c3dcff89954a4fb41d106a8eed622d1cf65981476e58c3af53b846cd6d8cdc5670b7ad09903b5aecd78ee4b9687d61a87ce6df73cb578b756721bf67ae112ccba11d5e7d8ad62b65382409c27c9c841dbb14ca8239607c52a8999ef8dd0d4c295b20f5c2afbc065c020b4024742dac576516f5a6585517d057260a3ff387afb2628f8a9783c6f29613822570b1a46b0fb3d2657de7e96024f6ce73df8270fec3c5c016be2cc69fca9c8526fa35580ef74af98011e800c5ca52a7e76e15c0fda39897eb6e33898b9ee3985436d12b3e77229966b0d2dd1aa83a01bc966674a395b32cb87b6931ce330eabadad9dc5c7edc11ac01512b40a8d096790e362747dc0be8259860e45f6d46d52e6db28224407d2f2e610d59d5a8811dd1642ece0c5ab1a9169a9af2368c05f5d930ac57b257870f7573f0298b5358c2c4623708fc0238c9f2e01eac91c39c33adc504386595da6eb4e1e833109b01a9a678a016479f9583d562915d78765c61b405996d16af547d01fbd13a0d97c0ffa6c74cb6dcac752aed307fbea2230a8915ddaa6c83a27134cc8f96ec2ad97eb66bd343bf24c31a2156ebe36eb340d4a5207a7b780a0ed9e643d969f9891b0634e2d44d3b19b59f86f03e7e94d342ddeae821ec2d046e0b6d4e4077e0f097ecd7ed3d0a62d24eb3ad7219f072231265291d9178725d417b997e9d1c5a746f40d5bebb9dc1810524e18cfa633206863d2057b7ec542ddab94f154e19146ad765f3f3370cd76a22a8495351e2ec991f4c92983cd117ae48eaa1e3c1035b694f853d8e4fd4c28baea28e43ff6a7023f1c400959cebfb6cf599e6343ceb51f21327e880c9b1c085c4abLine truncated
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3c6b73db3892dffd2b30bacc924a64cac9ddee5d4571b6324966cf9749e28a93f9701e5f15254216c714a99060149547fffdba0190c293a21f9999ad5a5525b68146bfd0687437008d1ffe5a6569cec8b42cd6152d9f1256d674446645ced2bca6cddfabacaef09ff89b3c1c1f8c1f5e66c534cec883a7641e671500c5f9659dc5a5fc1b810e82baa287152bd3190b2607075fe292549b7cc616697e498e9b11d1b248ea8c8641db178cc8f9c570c207d465368d01df31094a5a713c2d5c848c964596d1320cce9ad697accc00c3bc86bfd32227e1836a56ac80c3070bc65643727d40e083b85725fdf22a6688fc68d2b65e52f6fe0d34a1acbb56241e974c70ce45044eb05360475672ca09560070bd9d189df3f4d26e5f6e4e5ea16481d69a17094524e7170e2427390aaab127fb5765c18a5991bd5c806269b2635381a16559940edc15a5f96becb3b981d9a199cd7a49574523296f1f8fc9194c757e5991299d172525d3a2c82a9215c515b430464b9d22631c1878e1edd769f294043fa515a339208219042dccc09ef8cc9253291d1110e44592c09454b40240b65981ad068c7e65f0979c2961acdb9182fc6dfcf58ce6c99be9aa52d0bfafd96581f3fa014de1a774993212be497f1857c31deebc5e4e69d989fd03e08bf3931c04fd1267670a05d1439a2e12de18b3b42e3772d9797bfca77119c322ca3ed0cf3500a9ca01951150108ccc13aea31d487ffc804418a5a17944fe639a51227ac504f457bd42e11fdc1bbdc8f3d7793ccd68a210115de4550a76f785969b1d62b4cf4ebe7f2a661ea4bce74e384f8b92f91112d9dd5fc767d8fe83f0e3eadac166b26b57d9d4c67f3acd4f6d39450bc14ef7e00bdd0b5ed6e9997b61cbf5aa4ecca793bb2ce64fbaa088ed45cd1614b6ae59cc1dff274de4bd084fe3aa5a1765d28d5481928857bb964e6e3ffea42e5b6820fffdf1e3e919015f4980502f1b6ad4dd6e6eb0599dd5b319a5094dc2666fc34f3a27e1777c2b535b95a94af39485c389de1506ff965306d25cf1dd2018a2fb8fb33058a4090d0c687ba3c4cf566361b76dde908dddc06e2610b65ad42c29d67937a46b07d799dedacafd3106ff646bd62f5649595de63e75b827c4a7f5eb693cbb4aca62054601f4c006c12caee8665ac4652203adad6752ba046cb7f039c8b140e036565279e3f1520408c326087b448271b58125bb041e2bb4bbaa0a77839398c5a670ba814e5c262030021b385e617928c295d0cd9d44de4c903a6ef7fbfbe9afb03346a0b32a5403976104abee753c5b28c8d3c49a18a7027840f47744731c4003cd67d0f0e9c3c9cb62b92a72701588a9af7a143570bce769726169c2944afdddcda3128df69e298c72f3620dd431268628741d0e471a04c3a0324498c336761e9231797c7474a443a6897454cd4709b561bc2e1a3a40d0194973e25311f766d8192de2eafd3a876870454bb6e1aa76c0e3a7c9622656efd66a61b0e5bab120519c14705410bc00fb6f63b68896f1d7f06844fe8b3c14bae41027f90f1b46ab8f0583adfcd091185850a83c960c6d0e35ca45cdf6918610ad0f6d0dcc4b7c4b60af9b2d48487daab59472d4570407a03e1b5b9787d0932bd34dec5b0c22e9e9bd0ecc54c94d6e3b3930d32188b5585d69ee149bcdbd0377f962aeaf7a8483757f0cd9579d27749ee61086b9b716081df2ab1c773bd5bb6b146cd430519018c01afb0e4978319fb162b502ca4ecc3c7d67620d07e8f91c6478ff6e7403ce7f9e1f5d44acf80404ca973035e0cc1f890e989769c5caf0f170a2cb21871f9301a680b0d90ec86fbf915deb4992d181298be87e04dd241cecb8c4a2c1292d67e09fe34b2a27e611197c3f1c38a5952a510472ccf8cb0c62bf6f3fe1693e2fbec16c27987495f736d9da8c0529cc8d97b25c88812f4cdaa1a9c4c47b31adca74194302e6c2e4509f3187ba517cf389847dd227b143bda2c2c6fd35c77fd40fab3685ab1903a90002760ba79de0c21224c62e00858789a957be1bcdb302223420e3768b58ca72b8456c7e39d76267e416dd3cc039362f39207a073f4f5e5de8468780a66e9af608a3b28c72b2a84450856b536b5deb8ab082c73f81117e118a554dff48e9a148888bc5a40cbbd0f743136387d7097821808bdf7a6387664f6628d53f835e8bab9bea5326273751da12a2bdcaaf2ddb59ff69d565fbc75e3ab39de15e9df97d23ca8a7599df59639231ae345916eaf2ed7fef986f45e57f98088613e8dca7fca2fc4cf74e0332a373ca0d4d3968f0b02921bed0b202dc2efebea57ab214f6de9ffdb4f7cc336cb70912b6b4a38b8b122c31a7e1e72aea310b60c818556b0cc86f4336dfa99208ac132ddf401125de28a3f9255b40c8451e7b246ee3830e4125368895bdc6f02e5edaf23aac41462bb2b767883218f82294769e81bc67b00ad221a36e314df40f39eddfdc41045ba4d53b97e0e614e7c2128c61a131618a5efa2a25ac45cac5070d3b55b44f3f7d94d35b33344999526f776b663c8650ed8a9298608511631418bb69bbb5d3c54882bc5f35c97673488b63421d5602a9f9b70b1716d13bf100808a030bba52a6be95505e2177aba88abfd0de2aaaea12fe2b96541c51cfc449aaee08dbd3d5ef5a99e8e73ace2ab776469d0a1e42426b6de7e2b3073d28cd835a57673a0f25cb43dd2641e68a52b4dbe6e098acd32c233905e920089ed2565650972c781bc18dcd53240e3a78e6e9e34ec20cbd9550fb245b3f62100bc794e6c56a956d80fd3569cf96333c55cb36070e1afa2c751ba83167ce22f64e05bd708949f2236a8ff98d3abe5782481ca5c9908998dad7a1ce581955ab2c656130c23516af940df0abb2017e8d18c494e0418979ce204a6daba2b20acf400e16e7ff9cbd7f1755fc42403a3794301c91eb058d13d8f69f92ebe06591034fecf02338e60016780c13298fdbc6bf56451e6cb5e2f741b7ab18e0d9cfc057a5e356ecf503da11916e739e33a99b1ed178d42631073e5f6adcfa501dd7d93ac562ed9a4e5758c36817332cec9c9fbaa8aec0bdc086f641408b06f6476439308cb563eddbebda446625363a6e98d28fe99216356bad3274388b35c47ec53ac2358e209142a5f9d52033e227154373f735770c799a782b2b714faf724069d7a05dc781d689e64ded6cdbd3921cf26350e18ca98d18b3415b9725ac5e39e24144bfc2624ec26bd07633c862054980fa5e7f056fe454a3067646b3b9387832d21b2dbbb1e5dd3116b5170cc0f391e336026d9ba35f8b340767481c2b10815f032745193d00d33c2d39d35a588953d6a8ed1e6296d4ce6934c503b534f9ac9cce578b621db871c5c91e64ae59bc56f505ec279b3c5e02ffdb1e33696c58cea974c3fcfe8a4e28e4e674afb22d8ad6fd027e3ee956c9fe0b022e3df4cb539d4946b33ed4104c590aa2b787a7e090261fca36c08f6d71af1047Line truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["app.js"] = bs
@@ -63,7 +63,7 @@ func init() {
bs, _ = ioutil.ReadAll(gr)
Assets["favicon.png"] = bs
bs, _ = hex.DecodeString("1f8b080000096e8800ffec5d7973dbb892ff3f9f02e19bcd516b4ace31d9b78eacaa8c9dbc71cde4a838d9d9d9a9d92d8884448c498201403b7a8edf67df6e80f721d1b2ec788e3f129304d06874371abfc6a5c9ddc3b7071f7e7ef792043a0aa77726f88784345eec3b2c7648bc706992ec3b6a197b3ae0f1c27cf244aca5084326f79de33ce540cbd0215e4895da77305328e889832419f5a7770899444c53e205542aa6f79d54cfddbf3b6542a075e2b24f293fdd77fedbfdf8c23d105142359f850cc8428d2c8652472ff799bf609572318dd8be73cad95922a4ae643de3be0ef67d76ca3de69a971dc263ae390d5de5d190ed3f1aedb608f94c7992279a8bb842ab958da63a10b29523e4f109912c048941b2f6524db8879402c9e6fbce9c9ee2eb2801414eef6001cd75c8a68510c917727e0e4fea8df0d91ba8e9c1c38b8bc9d8e62a2ab0c4664268a5254dc69e52e3e26d14f178045f9c8c0fbd0c990a18d39643f34ef432814668f65963619342c84cf84b726e1e0949a8ef0343ee4c682da23df21fbbc9e7e759da1c1aedce69c4c3e51e71be67e129d3dca3e40d4b99b3438a0f3be4850469ef104563e52a26f9dc92b8b863fea4e1bf07df163546542e78ec6a91ec9147a36f5954cb3b4266dd48c44225d46345a91a2faf591c8a1df25ac4d483bf072256020c7287380722959c4960f10c382cc834aaa0606c68dd3e8b15f3a7da98ae9653349d762acaab3f750e0ae94f2d28fb2b2977a61694fd420a33217d26adec621137da158a856888798fec3eaf6bbaf2c59071bf2d159e08c5b147eca14d419f3c6d56c0957663e1ce52700abaa8ca7c3606e7a2c159d61a05a161611ac545199fab24a4a04b1e83ad3377160aef24e7034cdbf664b0c7dc3e0ac3917c1168309d326146bd93851469ec632d4202fb8bd983c74f9eed90c74f77f1bf470f9fd72528a9cf53b5479e541a9fcbe751f2993c2dbfe7827c0c9f1fe79f2f9aed02338b473e05c7d1b0f390cd81dbddd2d06bcd7bb45b7e36964f43be40f963239faf97552ee0dc11b7e58bba207779845e93c6baa327101d14c5ce02ae996bfacc5e2ccec0cfd49cc119b3c27fbabbdb49c86ff915dbfcc7e0553a98003f35367603c3c7d88e1f7726a65318a779d775c90791807e25715dfb2da6a7c5e0434f31c5fec13e913ffa6c4ed310c60818bc98c9c717d4787aeb00273e2f88a063a7205499a5a1eb0455d6eb706792c6be339df06891a760677388921efa5e17dfdc478fff6e5c3eb14392f3e4310c084662f6793c25c5083051110dc39c58c07de8f5ee6770d1f5faad374c3583dabf80b02069da39741872d32c47de9234acb423974ee5d15859d17033ece4057c29125f9cc5955448a7d998f437a7990fe4bf58e0108e7d207ba95279e9737d2f9ea9e4f96456c89e4a1cae26e319fca3b58a4ace8b0a2216a7356e0cbfd382270b5942ee9dc0b0edfbef59221e3c04ea55712ec26512e0d04c8a2737f051b35670f758041cbef07d82c5c1190ab944d62663a86970d5a899415543f3cf981541a37a24d15b71211a7eca7db4dc4bb0c7400fc74c6b30413588474f2c1afce5c52f29183e5c2e9fa407599bd506e28c1c1d5e8b5454906a34b241dc89f9bcc59a2d7e498948a634957aa0a9cc217bd0a8f8bda5d055ef649c86959e5d492d5326631096818b63f008d6c1f6f8469b1f3df22b2e9506d77ab643441c2e0920e0b398f0398999c794a272f99c647c91332a6384bb99f7cec883043888e22ed09ff3c5518c4eb1702840b874c535664237f2c1c756fd55251d84c24262fe77b36aebbeab99d7c501c7e49a044fea2906873bd3bc156f18f3990f23d4936921b17eb2387e35fd5432fd103062db9b4a331691802a32630ca0033d653e99410c110b4da807b88b82c31f95830589521479c68e16452618ba19c8fdac4e7a341927755358cb3462cdca189865039e34706aa308fb52e869a66302ff5c15993fd9984b128086d9b8723d966ed968305ab593905139e79f9d0e5dd53fd45e2b2fd963cbe2d9220d016f808136ecb966b9393d2c580e2206239307085210113d2c29745af9b35546ee22d64d1cc27d146c5603676ab5b9675de3fc1c8b1c60c2037c1a1d1d027e30ba825746b5a5095093e0df1f816dd45aafb81b5da9960f72f6f4ac4636832c6ac001e410d244e5782201a480d1f7df6aedcdc1087ecc1a06cd81d81a6d208656b5eb69c0bb75788064540fb9649ed1e3176222fe7754071717ebc8979d8154109ea579aca94eab3aa863b7aad5d29658d115d555d2b4f54c4bb98d748aa7ae9a5ce4a4907dabda21beae99d186b5d0a31388d221a2ec568a8d1faa4548231ecede95963c4134dc4105e9d8e8a12b0d53655f122606eb7d93a64d3054e9e2884d80c88a1afc1aaccfd077a1193303e4f7323feee7feea0d9b8b10c36291b0b8d1c05726e52a2d2b3acf951a98a386089061f84b26b25f473c3e8590b9cf1e06b73f430cae82e8bb218097528a4ddbdfcdecd754b4272208a49a2107228d408a98ffd300882b68bbc3ad7dada62e42316b0611ff806f34ac4577db50ecc2907dc543a6c0bfd2f08c2ed59b349a31797141e6f87987f414fa6ea94da1198f297691efbe9ec0021135e5f5a3f0ae415c2152bda4b44c995b242c2f14a9ef62d4170ada9c41780b605ecc0d80df8ec46208412e29302c728be48573960d29bda60a828eab5a576ffe1c8c65038711cc7b00aa6f216a75a63f33d587b87a08dc6d507823d611f87ad24ec19f33ef84350df368110bc9c83b2623ae14b87a75fd32b77562956a73b1d788dc66c9ab0062159786ad2116bffbe427ae830d5d82a1acccbc268a64e3b11552fa50322421caee0a425af185f9dc1ded3838dfd53d4f90481e812b727aa626cbd60d982900b0eaf1b009d7808a9d0febb290ae38698369826a908fb39a95f0de08606bf17d0cc48705f6c5a2472592c7d207f30506f3bfe44b060f1efe7a7bc279dbbc3c8ec737085433ae47c86d3d9cbf1c822196945923c9689a3e73c5707a1d976ba26a50c65f81753bb06ecdf7bd784d3e6a1e5e2d22514b4018d108fedc0e10a4a93a518d961ebcfbb8bd967a490a63a407bdab0114e13586c84cd270efd1c5c5bfdd52dc7c987d26efa9661b4a022a899987a254bfdcd742d3f03e46deb3046d206260e6dec505be3de8c97b141bd8fc015fab66f3f06b0b2d4d3a44f631b9168189540f9718843bdb17598eff32cb06965fc4b10060cbdefe40eeee9314fcd79cc7bd2e6bb07071374b206473de27af8d1c3379bae10cd85a8c9baf59e2c6115350a51eaea239ab5aef4cdf9a8d20438174ab129fc60b268b3aeef654329f0fa9e56b7ad3e66cec7f31a936f7a1a7b6f41f11571be49783a0af0ead07ad53196ecd3a5509defad0add00193d846759b16ab06a0db4d17a99a3b473a6874a2df4d57ac904236b55b85d2d7b462d527aabf16acLine truncated
bs, _ = hex.DecodeString("1f8b080000096e8800ffec5d7973dbb892ff3f9f02e19bcd516b4ace31d9b78eacaa8c9dbc71cde4a838d9d9d9a9d92d8884448c498201403b7a8edf67df6e80f721d1b2ec788e3f129304d06874371abfc6a5c9ddc3b7071f7e7ef792043a0aa77726f88784345eec3b2c7648bc706992ec3b6a197b3ae0f1c27cf244aca5084326f79de33ce540cbd0215e4895da77305328e889832419f5a7770899444c53e205542aa6f79d54cfddbf3b6542a075e2b24f293fdd77fedbfdf8c23d105142359f850cc8428d2c8652472ff799bf609572318dd8be73cad95922a4ae643de3be0ef67d76ca3de69a971dc263ae390d5de5d190ed3f1aedb608f94c7992279a8bb842ab958da63a10b29523e4f109912c048941b2f6524db8879402c9e6fbce9c9ee2eb2801414eef6001cd75c8a68510c917727e0e4fea8df0d91ba8e9c1c38b8bc9d8e62a2ab0c4664268a5254dc69e52e3e26d14f178045f9c8c0fbd0c990a18d39643f34ef432814668f65963619342c84cf84b726e1e0949a8ef0343ee4c682da23df21fbbc9e7e759da1c1aedce69c4c3e51e71be67e129d3dca3e40d4b99b3438a0f3be4850469ef104563e52a26f9dc92b8b863fea4e1bf07df163546542e78ec6a91ec9147a36f5954cb3b4266dd48c44225d46345a91a2faf591c8a1df25ac4d483bf072256020c7287380722959c4960f10c382cc834aaa0606c68dd3e8b15f3a7da98ae9653349d762acaab3f750e0ae94f2d28fb2b2977a61694fd420a33217d26adec621137da158a856888798fec3eaf6bbaf2c59071bf2d159e08c5b147eca14d419f3c6d56c0957663e1ce52700abaa8ca7c3606e7a2c159d61a05a161611ac545199fab24a4a04b1e83ad3377160aef24e7034cdbf664b0c7dc3e0ac3917c1168309d326146bd93851469ec632d4202fb8bd983c74f9eed90c74f77f1bf470f9fd72528a9cf53b5479e541a9fcbe751f2993c2dbfe7827c0c9f1fe79f2f9aed02338b473e05c7d1b0f390cd81dbddd2d06bcd7bb45b7e36964f43be40f963239faf97552ee0dc11b7e58bba207779845e93c6baa327101d14c5ce02ae996bfacc5e2ccec0cfd49cc119b3c27fbabbdb49c86ff915dbfcc7e0553a98003f35367603c3c7d88e1f7726a65318a779d775c90791807e25715dfb2da6a7c5e0434f31c5fec13e913ffa6c4ed310c60818bc98c9c717d4787aeb00273e2f88a063a7205499a5a1eb0455d6eb706792c6be339df06891a760677388921efa5e17dfdc478fff6e5c3eb14392f3e4310c084662f6793c25c5083051110dc39c58c07de8f5ee6770d1f5faad374c3583dabf80b02069da39741872d32c47de9234acb423974ee5d15859d17033ece4057c29125f9cc5955448a7d998f437a7990fe4bf58e0108e7d207ba95279e9737d2f9ea9e4f96456c89e4a1cae26e319fca3b58a4ace8b0a2216a7356e0cbfd382270b5942ee9dc0b0edfbef59221e3c04ea55712ec26512e0d04c8a2737f051b35670f758041cbef07d82c5c1190ab944d62663a86970d5a899415543f3cf981541a37a24d15b71211a7eca7db4dc4bb0c7400fc74c6b30413588474f2c1afce5c52f29183e5c2e9fa407599bd506e28c1c1d5e8b5454906a34b241dc89f9bcc59a2d7e498948a634957aa0a9cc217bd0a8f8bda5d055ef649c86959e5d492d5326631096818b63f008d6c1f6f8469b1f3df22b2e9506d77ab643441c2e0920e0b398f0398999c794a272f99c647c91332a6384bb99f7cec883043888e22ed09ff3c5518c4eb1702840b874c535664237f2c1c756fd55251d84c24262fe77b36aebbeab99d7c501c7e49a044fea2906873bd3bc156f18f3990f23d4936921b17eb2387e35fd5432fd103062db9b4a331691802a32630ca0033d653e99410c110b4da807b88b82c31f95830589521479c68e16452618ba19c8fdac4e7a341927755358cb3462cdca189865039e34706aa308fb52e869a66302ff5c15993fd9984b128086d9b8723d966ed968305ab593905139e79f9d0e5dd53fd45e2b2fd963cbe2d9220d016f808136ecb966b9393d2c580e2206239307085210113d2c29745af9b35546ee22d64d1cc27d146c5603676ab5b9675de3fc1c8b1c60c2037c1a1d1d027e30ba825746b5a5095093e0df1f816dd45aafb81b5da9960f72f6f4ac4636832c6ac001e410d244e5782201a480d1f7df6aedcdc1087ecc1a06cd81d81a6d208656b5eb69c0bb75788064540fb9649ed1e3176222fe7754071717ebc8979d8154109ea579aca94eab3aa863b7aad5d29658d115d555d2b4f54c4bb98d748aa7ae9a5ce4a4907dabda21beae99d186b5d0a31388d221a2ec568a8d1faa4548231ecede95963c4134dc4105e9d8e8a12b0d53655f122606eb7d93a64d3054e9e2884d80c88a1afc1aaccfd077a1193303e4f7323feee7feea0d9b8b10c36291b0b8d1c05726e52a2d2b3acf951a98a386089061f84b26b25f473c3e8590b9cf1e06b73f430cae82e8bb218097528a4ddbdfcdecd754b4272208a49a2107228d408a98ffd300882b68bbc3ad7dada62e42316b0611ff806f34ac4577db50ecc2907dc543a6c0bfd2f08c2ed59b349a31797141e6f87987f414fa6ea94da1198f297691efbe9ec0021135e5f5a3f0ae415c2152bda4b44c995b242c2f14a9ef62d4170ada9c41780b605ecc0d80df8ec46208412e29302c728be48573960d29bda60a828eab5a576ffe1c8c65038711cc7b00aa6f216a75a63f33d587b87a08dc6d507823d611f87ad24ec19f33ef84350df368110bc9c83b2623ae14b87a75fd32b77562956a73b1d788dc66c9ab0062159786ad2116bffbe427ae830d5d82a1acccbc268a64e3b11552fa50322421caee0a425af185f9dc1ded3838dfd53d4f90481e812b727aa626cbd60d982900b0eaf1b009d7808a9d0febb290ae38698369826a908fb39a95f0de08606bf17d0cc48705f6c5a2472592c7d207f30506f3bfe44b060f1efe7a7bc279dbbc3c8ec737085433ae47c86d3d9cbf1c822196945923c9689a3e73c5707a1d976ba26a50c65f81753bb06ecdf7bd784d3e6a1e5e2d22514b4018d108fedc0e10a4a93a518d961ebcfbb8bd967a490a63a407bdab0114e13586c84cd270efd1c5c5bfdd52dc7c987d26efa9661b4a022a899987a254bfdcd742d3f03e46deb3046d206260e6dec505be3de8c97b141bd8fc015fab66f3f06b0b2d4d3a44f631b9168189540f9718843bdb17598eff32cb06965fc4b10060cbdefe40eeee9314fcd79cc7bd2e6bb07071374b206473de27af8d1c3379bae10cd85a8c9baf59e2c6115350a51eaea239ab5aef4cdf9a8d20438174ab129fc60b268b3aeef654329f0fa9e56b7ad3e66cec7f31a936f7a1a7b6f41f11571be49783a0af0ead07ad53196ecd3a5509defad0add00193d846759b16ab06a0db4d17a99a3b473a6874a2df4d57ac904236b55b85d2d7b462d527aabf16acLine truncated
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
bs, _ = ioutil.ReadAll(gr)
Assets["index.html"] = bs
+29 -9
View File
@@ -1,7 +1,7 @@
/*jslint browser: true, continue: true, plusplus: true */
/*global $: false, angular: false */
'use strict';
'use-strict';
var syncthing = angular.module('syncthing', []);
var urlbase = 'rest';
@@ -16,6 +16,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
$scope.myID = '';
$scope.nodes = [];
$scope.configInSync = true;
$scope.protocolChanged = false;
$scope.errors = [];
$scope.seenError = '';
$scope.model = {};
@@ -122,7 +123,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
}
return state;
}
};
$scope.repoClass = function (repo) {
if (typeof $scope.model[repo] === 'undefined') {
@@ -141,7 +142,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
return 'primary';
}
return 'info';
}
};
$scope.syncPercentage = function (repo) {
if (typeof $scope.model[repo] === 'undefined') {
@@ -255,13 +256,19 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
$scope.config.workingOptions = angular.copy($scope.config.Options);
$scope.config.workingGUI = angular.copy($scope.config.GUI);
$('#settings').modal({backdrop: 'static', keyboard: true});
}
};
$scope.saveSettings = function () {
// Make sure something changed
var changed = ! angular.equals($scope.config.Options, $scope.config.workingOptions) ||
! angular.equals($scope.config.GUI, $scope.config.workingGUI);
if(changed){
// see if protocol will need to be changed on restart
if($scope.config.GUI.UseTLS !== $scope.config.workingGUI.UseTLS){
$scope.protocolChanged = true;
}
// Apply new settings locally
$scope.config.Options = angular.copy($scope.config.workingOptions);
$scope.config.GUI = angular.copy($scope.config.workingGUI);
@@ -278,6 +285,19 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
$('#restarting').modal({backdrop: 'static', keyboard: false});
$http.post(urlbase + '/restart');
$scope.configInSync = true;
// Switch webpage protocol if needed
if($scope.protocolChanged){
var protocol = 'http';
if($scope.config.GUI.UseTLS){
protocol = 'https';
}
setTimeout(function(){
window.location.protocol = protocol;
}, 1000);
}
};
$scope.shutdown = function () {
@@ -402,7 +422,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) {
$scope.repoList = function () {
return repoList($scope.repos);
}
};
$scope.editRepo = function (nodeCfg) {
$scope.currentRepo = angular.copy(nodeCfg);
@@ -544,7 +564,7 @@ function repoMap(l) {
function repoList(m) {
var l = [];
for (var id in m) {
l.push(m[id])
l.push(m[id]);
}
l.sort(repoCompare);
return l;
@@ -633,7 +653,7 @@ syncthing.filter('chunkID', function () {
if (!parts)
return "";
return parts.join('-');
}
};
});
syncthing.filter('shortPath', function () {
@@ -645,13 +665,13 @@ syncthing.filter('shortPath', function () {
return input;
}
return ".../" + parts.slice(parts.length-2).join("/");
}
};
});
syncthing.filter('clean', function () {
return function (input) {
return encodeURIComponent(input).replace(/%/g, '');
}
};
});
syncthing.directive('optionEditor', function () {