Fix: WebUI port switch reconnect

The WebUI will get now the new port for next reconnect
It was necessary to add the Access-Control-Allow-Origin header with a wildcard for file serving
This commit is contained in:
brindosch
2019-07-18 22:32:06 +02:00
parent fcd11176f8
commit 7e324bb1d3
6 changed files with 26 additions and 15 deletions

View File

@@ -26,6 +26,8 @@ performTranslation();
var connectionLost = false;
var connectionTimer;
var count = 1;
var reconnectInterval = 4000;
var connURL = location.protocol+"//"+location.hostname+":"+window.jsonPort+location.pathname+location.hash;
function tryReconnect()
{
@@ -34,12 +36,12 @@ function tryReconnect()
window.clearInterval(connectionTimer);
$('.reconstop').toggle();
}
$('#counter').html(count+'/100');
$.ajax({ url: "/" }).done(function(data) {
$.ajax({ url: connURL }).done(function(data) {
window.clearInterval(connectionTimer);
window.location.href ="/";
window.location.href = connURL;
})
.fail( function( jqXHR, textStatus ) {
count++;
@@ -52,10 +54,13 @@ function connectionLostAction()
if(!connectionLost)
{
connectionLost = true;
connectionTimer = window.setInterval(tryReconnect, 4000);
// if we changed the webui port we connect faster
if(window.fastReconnect){
window.fastReconnect = false;
reconnectInterval = 2000;
}
connectionTimer = window.setInterval(tryReconnect, reconnectInterval);
}
}
</script>

View File

@@ -1,29 +1,32 @@
$(document).ready( function() {
performTranslation();
var conf_editor = null;
$('#conf_cont').append(createOptPanel('fa-wrench', $.i18n("edt_conf_webc_heading_title"), 'editor_container', 'btn_submit'));
if(window.showOptHelp)
{
$('#conf_cont').append(createHelpTable(window.schema.webConfig.properties, $.i18n("edt_conf_webc_heading_title")));
}
conf_editor = createJsonEditor('editor_container', {
webConfig : window.schema.webConfig
}, true, true);
conf_editor.on('change',function() {
conf_editor.validate().length ? $('#btn_submit').attr('disabled', true) : $('#btn_submit').attr('disabled', false);
});
});
$('#btn_submit').off().on('click',function() {
requestWriteConfig(conf_editor.getValue());
// store the last webui port for correct reconnect url (connection_lost.html)
var val = conf_editor.getValue();
window.fastReconnect = true;
window.jsonPort = val.webConfig.port;
requestWriteConfig(val);
});
if(window.showOptHelp)
createHint("intro", $.i18n('conf_webconfig_label_intro'), "editor_container");
removeOverlay();
});

View File

@@ -14,7 +14,7 @@ window.serverSchema = {};
window.serverConfig = {};
window.schema = {};
window.sysInfo = {};
window.jsonPort = 19444;
window.jsonPort = 8090;
window.websocket = null;
window.hyperion = {};
window.wsTan = 1;