Archived
Merge pull request #307 from KayoticSully/master
GUI will switch between http and https protocols on restart (fixes #252)
This commit is contained in:
commit
2e8b639a34
3 files changed
+32
-9
No files matched your search
@@ -8,3 +8,4 @@ stcli.exe
|
||||
*.sublime*
|
||||
discosrv
|
||||
stpidx
|
||||
.jshintrc
|
||||
+1
-1
@@ -18,7 +18,7 @@ func init() {
|
||||
bs, _ = ioutil.ReadAll(gr)
|
||||
Assets["angular.min.js"] = bs
|
||||
|
||||
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3c7f73dbb692ffe75320bab4a412997272d7de4d14a7933a69cf2fbf3c71923f9eeb37438990c598221512b4ad71f4dddf2e0092000150b49db4e9ccd34c621b58ec2f2c16bb0b40e3fb9f8a244e1999e6d94541f3c784e5251d915996b2382d69f5f72a290bfc27fe26f7c777c6f74f936c1a26e4de63320f930280c2f4b44cc25cfe8d4077bc127e29581ecf9837b973e73ccc49b14e676c11a7a764af1a112cb3a84ca8efd57dde881c9f0c277c409927d310d0ec112fa705c753c305c8689e2509cd7defa86add67790218e625fc1d6729f1ef15b36c051cde5b30b61a92ab3b043e887b95d3f3e72143e4bb93baf594b2b72fa109656d5a91789833c139171138c14e811d594929275800c0d566d2ea9cc7a766fb727df01c25f3b4d6348b2822393eb120394851508d3dd94ff33ccb2de30a4ad317d8675202cdd3c4642ba7abac9282b78fc7e408a6313d2dc894ceb39c926996250549b2ec0c5a18a3b94e91310e0cbcf0f6ab387a4cbc5771c1680a88607640c219d80a9f357298672c9b65091110e4591481ba0b5a00205bafc00e3d462f19fc25674118e266a4207f1d5e1ed1347a395d150afab7253bcd70cedee134bf8a973123fecbf8d771316c70a7e5724af34eecef005f981ea420e879981c2914440fa9ba887f6dccd272ecc865e7cdf11f8679080b2479473f9700a42a075446404130328db88e1a90fef801c9fe0256326d691e91ff162794885e3101fd55af50f89d7b9a6769fa220da7098d1422a28b3c8fc1eece69be6e10a37d76f2fd2a9b3990f29e5be13ccc72e6464864777f1d1f61fbafc247ab6b079b49d3aeb2a98dff70981e9a728a16829df6c127ba873b2de323fbc296eb559d980f07b759cc1f744111dbb3922d286c4bb3903bf50f9ac85b111e86457191e5513752054a225e352d9ddcbe7fa52e5b6820fffffefde111015f4980502f1baad45d6f5cb0111d95b319a5118dfc6adfc24f3c27fe5dbe4da9adca54c569ccfce144eff2bdff4a290369cef86ee00dd1fd8789ef2de2887a2d687313c4cf4663a1d912afc94633b09b09842d16258bb28bb41bd2b63beb4c6f4ce5fe16827f3235eb162ba7accc53973aec13e2d2fad5349c9d4579b602a3007a6083601667743dcdc23c9241d4c631295d02d65bf81ce45820701d07a9bcf1582800847e15603d20deb858c3925d028f05da5d51f8cde02864615b38dd402736131018810d1cafb03c14e18a6fe74e22af26481dd7fcfe76fa0976c6007456f86ae0320c60d5bd08670b05791c19136355000f887e41347b1e34d074060d1fde1dec67cb559682ab404c7dd5a3a881e33d8ea31343136da9d4dfed3c2a9166ef99c20836cd2e803ac6bb10615ef8c39106c122e8f41166a78e8b87644c1eeeeeeeea9071241d55f551c26818af8b860e107446e294b854c4bd1976068bb0787b914234b8a2395b73555be0f153652813a37763b430d872ed5890284e0a382a085e80fdd7215b04cbf0d2df1d91ff23f7852e39c441faeb9ad1e27dc6602bdfb104fd06142a8f454393438d7256b26da42144eb435b037312df10d8eb660be253976a0da5ecf615c102a8cfc6c6e621f4c4a9ed26b62d0691f4f45e07ed54c94e6e33b9d34e8720d66265a1b9536c6eef1db8cb67737dd5231cacfb3dc8beca34a2f3388530ccbeb540e8909ea5b8dba9de5da360a2868982c400d6d85d24e1c47cc4b2d50a285b31f3d49c8935eca1e7b390e1fdcde80a9cff3cde3d0958f60108e4fb3035e0cc1f880e989769c172ffe170a2cb2187ef9101a680b0d90ec8972fa4693d88123a68cb22ba1f4037f1070d97581038a4f90cfc73784ae5c43c20831f8603abb452258a40edcd7395ed2710fa7dfbf98ed379f60d263bc29c2bff6a73ad4d9817c3d43829cb75e8b9a2a4064d21e6dd896995c7cb10f22f1b268bfaf429d44de29bcf23ec922e812dda15b533eead39fedd7e58b5195ccd18480510b05758cd0497952031b601283c4cda6ae57bd13cc9203e033276a788452a8b53c4e6fdb9163923b7e8e401ceb275c901c11bf879f0fc44b739046ceba66a0f30264b28278b4a0455d8b6b4dab1ae08cb78f4e3b5822f42b15ee91e29fd13f171adb429c31ef4c3b08db1c3e778bc0cc0c5af7db145b3073394eaefa0d7ececbafa94a9c97594b68458af706bcbf4d5dfadba4cf7d84b67a62fdcaa33d5359a2ac3aacc9fac31c918579a2c0a75b9f65f3ae65b51f95f2642cb09746e536e513ed2add380cce89c7243538e101c6c4a88739a1780dbc6dfb7544f12c3defbd14d7bcb3cc3761b2161433bbab828c112331a7e62a21ea000868451b5c280fc5664d3469544609d68d9068a28f106094d4fd902222ef2d021711d1f74082ab141a4ec348637e1d294d7620d325a91bd3d4394c1c015a1d4f30ce41d8355900e19758ba9627fc8687fb607116c11176f6c82b7a7381596d01ae6b7264cd14b5fa5f8a548b8f8a061a78ab6e9a78f727a6b86463153aaed76cd8cc710aa9d511212ac2f628c0263d775b7766e184890b7ab2ad5ae8e5f718cafc34a2035fbb6e1c2127a271e005071603957cad4b70ecaebe3436b841f9ed3de1a2aca1cfecb96549c3dcff89954a4fb41d106a8eed622d1cf65981476e58c3af53b846cd6d8cdc5670b7ad09903b5aecd78ee4b9687d61a87ce6df73cb578b756721bf67ae112ccba11d5e7d8ad62b65382409c27c9c841dbb14ca8239607c52a8999ef8dd0d4c295b20f5c2afbc065c020b4024742dac576516f5a6585517d057260a3ff387afb2628f8a9783c6f29613822570b1a46b0fb3d2657de7e96024f6ce73df8270fec3c5c016be2cc69fca9c8526fa35580ef74af98011e800c5ca52a7e76e15c0fda39897eb6e33898b9ee3985436d12b3e77229966b0d2dd1aa83a01bc966674a395b32cb87b6931ce330eabadad9dc5c7edc11ac01512b40a8d096790e362747dc0be8259860e45f6d46d52e6db28224407d2f2e610d59d5a8811dd1642ece0c5ab1a9169a9af2368c05f5d930ac57b257870f7573f0298b5358c2c4623708fc0238c9f2e01eac91c39c33adc504386595da6eb4e1e833109b01a9a678a016479f9583d562915d78765c61b405996d16af547d01fbd13a0d97c0ffa6c74cb6dcac752aed307fbea2230a8915ddaa6c83a27134cc8f96ec2ad97eb66bd343bf24c31a2156ebe36eb340d4a5207a7b780a0ed9e643d969f9891b0634e2d44d3b19b59f86f03e7e94d342ddeae821ec2d046e0b6d4e4077e0f097ecd7ed3d0a62d24eb3ad7219f072231265291d9178725d417b997e9d1c5a746f40d5bebb9dc1810524e18cfa633206863d2057b7ec542ddab94f154e19146ad765f3f3370cd76a22a8495351e2ec991f4c92983cd117ae48eaa1e3c1035b694f853d8e4fd4c28baea28e43ff6a7023f1c400959cebfb6cf599e6343ceb51f21327e880c9b1c085c4abLine truncated
|
||||
bs, _ = hex.DecodeString("1f8b080000096e8800ffec3c6b73db3892dffd2b30bacc924a64cac9ddee5d4571b6324966cf9749e28a93f9701e5f15254216c714a99060149547fffdba0190c293a21f9999ad5a5525b68146bfd0687437008d1ffe5a6569cec8b42cd6152d9f1256d674446645ced2bca6cddfabacaef09ff89b3c1c1f8c1f5e66c534cec883a7641e671500c5f9659dc5a5fc1b810e82baa287152bd3190b2607075fe292549b7cc616697e498e9b11d1b248ea8c8641db178cc8f9c570c207d465368d01df31094a5a713c2d5c848c964596d1320cce9ad697accc00c3bc86bfd32227e1836a56ac80c3070bc65643727d40e083b85725fdf22a6688fc68d2b65e52f6fe0d34a1acbb56241e974c70ce45044eb05360475672ca09560070bd9d189df3f4d26e5f6e4e5ea16481d69a17094524e7170e2427390aaab127fb5765c18a5991bd5c806269b2635381a16559940edc15a5f96becb3b981d9a199cd7a49574523296f1f8fc9194c757e5991299d172525d3a2c82a9215c515b430464b9d22631c1878e1edd769f294043fa515a339208219042dccc09ef8cc9253291d1110e44592c09454b40240b65981ad068c7e65f0979c2961acdb9182fc6dfcf58ce6c99be9aa52d0bfafd96581f3fa014de1a774993212be497f1857c31deebc5e4e69d989fd03e08bf3931c04fd1267670a05d1439a2e12de18b3b42e3772d9797bfca77119c322ca3ed0cf3500a9ca01951150108ccc13aea31d487ffc804418a5a17944fe639a51227ac504f457bd42e11fdc1bbdc8f3d7793ccd68a210115de4550a76f785969b1d62b4cf4ebe7f2a661ea4bce74e384f8b92f91112d9dd5fc767d8fe83f0e3eadac166b26b57d9d4c67f3acd4f6d39450bc14ef7e00bdd0b5ed6e9997b61cbf5aa4ecca793bb2ce64fbaa088ed45cd1614b6ae59cc1dff274de4bd084fe3aa5a1765d28d5481928857bb964e6e3ffea42e5b6820fffdf1e3e919015f4980502f1b6ad4dd6e6eb0599dd5b319a5094dc2666fc34f3a27e1777c2b535b95a94af39485c389de1506ff965306d25cf1dd2018a2fb8fb33058a4090d0c687ba3c4cf566361b76dde908dddc06e2610b65ad42c29d67937a46b07d799dedacafd3106ff646bd62f5649595de63e75b827c4a7f5eb693cbb4aca62054601f4c006c12caee8665ac4652203adad6752ba046cb7f039c8b140e036565279e3f1520408c326087b448271b58125bb041e2bb4bbaa0a77839398c5a670ba814e5c262030021b385e617928c295d0cd9d44de4c903a6ef7fbfbe9afb03346a0b32a5403976104abee753c5b28c8d3c49a18a7027840f47744731c4003cd67d0f0e9c3c9cb62b92a72701588a9af7a143570bce769726169c2944afdddcda3128df69e298c72f3620dd431268628741d0e471a04c3a0324498c336761e9231797c7474a443a6897454cd4709b561bc2e1a3a40d0194973e25311f766d8192de2eafd3a876870454bb6e1aa76c0e3a7c9622656efd66a61b0e5bab120519c14705410bc00fb6f63b68896f1d7f06844fe8b3c14bae41027f90f1b46ab8f0583adfcd091185850a83c960c6d0e35ca45cdf6918610ad0f6d0dcc4b7c4b60af9b2d48487daab59472d4570407a03e1b5b9787d0932bd34dec5b0c22e9e9bd0ecc54c94d6e3b3930d32188b5585d69ee149bcdbd0377f962aeaf7a8483757f0cd9579d27749ee61086b9b716081df2ab1c773bd5bb6b146cd430519018c01afb0e4978319fb162b502ca4ecc3c7d67620d07e8f91c6478ff6e7403ce7f9e1f5d44acf80404ca973035e0cc1f890e989769c5caf0f170a2cb21871f9301a680b0d90ec86fbf915deb4992d181298be87e04dd241cecb8c4a2c1292d67e09fe34b2a27e611197c3f1c38a5952a510472ccf8cb0c62bf6f3fe1693e2fbec16c27987495f736d9da8c0529cc8d97b25c88812f4cdaa1a9c4c47b31adca74194302e6c2e4509f3187ba517cf389847dd227b143bda2c2c6fd35c77fd40fab3685ab1903a90002760ba79de0c21224c62e00858789a957be1bcdb302223420e3768b58ca72b8456c7e39d76267e416dd3cc039362f39207a073f4f5e5de8468780a66e9af608a3b28c72b2a84450856b536b5deb8ab082c73f81117e118a554dff48e9a148888bc5a40cbbd0f743136387d7097821808bdf7a6387664f6628d53f835e8bab9bea5326273751da12a2bdcaaf2ddb59ff69d565fbc75e3ab39de15e9df97d23ca8a7599df59639231ae345916eaf2ed7fef986f45e57f98088613e8dca7fca2fc4cf74e0332a373ca0d4d3968f0b02921bed0b202dc2efebea57ab214f6de9ffdb4f7cc336cb70912b6b4a38b8b122c31a7e1e72aea310b60c818556b0cc86f4336dfa99208ac132ddf401125de28a3f9255b40c8451e7b246ee3830e4125368895bdc6f02e5edaf23aac41462bb2b767883218f82294769e81bc67b00ad221a36e314df40f39eddfdc41045ba4d53b97e0e614e7c2128c61a131618a5efa2a25ac45cac5070d3b55b44f3f7d94d35b33344999526f776b663c8650ed8a9298608511631418bb69bbb5d3c54882bc5f35c97673488b63421d5602a9f9b70b1716d13bf100808a030bba52a6be95505e2177aba88abfd0de2aaaea12fe2b96541c51cfc449aaee08dbd3d5ef5a99e8e73ace2ab776469d0a1e42426b6de7e2b3073d28cd835a57673a0f25cb43dd2641e68a52b4dbe6e098acd32c233905e920089ed2565650972c781bc18dcd53240e3a78e6e9e34ec20cbd9550fb245b3f62100bc794e6c56a956d80fd3569cf96333c55cb36070e1afa2c751ba83167ce22f64e05bd708949f2236a8ff98d3abe5782481ca5c9908998dad7a1ce581955ab2c656130c23516af940df0abb2017e8d18c494e0418979ce204a6daba2b20acf400e16e7ff9cbd7f1755fc42403a3794301c91eb058d13d8f69f92ebe06591034fecf02338e60016780c13298fdbc6bf56451e6cb5e2f741b7ab18e0d9cfc057a5e356ecf503da11916e739e33a99b1ed178d42631073e5f6adcfa501dd7d93ac562ed9a4e5758c36817332cec9c9fbaa8aec0bdc086f641408b06f6476439308cb563eddbebda446625363a6e98d28fe99216356bad3274388b35c47ec53ac2358e209142a5f9d52033e227159e75d7797d4670c9ff37b61779f4782b9372db82729a6917ac5d6787d6f1e74d8d72dbd3ec1cf26304e20cc08d80b4415b97252c7539e24144bfc2ca4fc26b989a6690c50a9200f5bdfe0aaecba9460dec8c6673714a65e4425a2a64cbbb632c6a6f23809b24c76db8da3647bf16690e9e9338962b02bf064e8a327a00767c5a72a6b51814a7ac51db3d0438a99d00698a076a69f25939caaf16c53a70e38a933dc85cb378adea0bd84f3679bc04feb73d66d25862cea974c3fcfe8a4e2824f274afb22d8ad665047e98e956c9fedb042e3df44b6a9d1949b33ed4784d590aa2b787a7e090261f8aa3e5Line truncated
|
||||
gr, _ = gzip.NewReader(bytes.NewBuffer(bs))
|
||||
bs, _ = ioutil.ReadAll(gr)
|
||||
Assets["app.js"] = bs
|
||||
|
||||
+30
-8
@@ -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,21 @@ 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.protocolChanged = false;
|
||||
}
|
||||
};
|
||||
|
||||
$scope.shutdown = function () {
|
||||
@@ -402,7 +424,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 +566,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 +655,7 @@ syncthing.filter('chunkID', function () {
|
||||
if (!parts)
|
||||
return "";
|
||||
return parts.join('-');
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
syncthing.filter('shortPath', function () {
|
||||
@@ -645,13 +667,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 () {
|
||||
|
||||
Reference in new issue
Block a user