luci-app-attendedsysupgrade: add timeout and catch
If the upgrade server API does not respond, show an error message. Fix #5222 While at it, minimal code linting Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
parent
96ef7beb66
commit
ff24b78c80
1 changed files with 24 additions and 8 deletions
|
@ -66,13 +66,13 @@ function install_sysupgrade(url, keep, sha256) {
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
displayStatus('warning spinning', E('p', _('Installing the sysupgrade. Do not unpower device!')));
|
displayStatus('warning spinning', E('p', _('Installing the sysupgrade. Do not unpower device!')));
|
||||||
L.resolveDefault(callUpgradeStart(keep), {}).then(response => {
|
L.resolveDefault(callUpgradeStart(keep), {}).then(response => {
|
||||||
if (keep) {
|
if (keep) {
|
||||||
ui.awaitReconnect(window.location.host);
|
ui.awaitReconnect(window.location.host);
|
||||||
} else {
|
} else {
|
||||||
ui.awaitReconnect('192.168.1.1', 'openwrt.lan');
|
ui.awaitReconnect('192.168.1.1', 'openwrt.lan');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -228,7 +228,9 @@ function check_sysupgrade(server_url, current_version, target, board_name, packa
|
||||||
var advanced_mode = uci.get_first('attendedsysupgrade', 'client', 'advanced_mode') || 0;
|
var advanced_mode = uci.get_first('attendedsysupgrade', 'client', 'advanced_mode') || 0;
|
||||||
var candidates = [];
|
var candidates = [];
|
||||||
|
|
||||||
fetch(server_url + "/api/latest")
|
request.get(server_url + "/api/latest", {
|
||||||
|
timeout: 8000
|
||||||
|
})
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (current_version == "SNAPSHOT") {
|
if (current_version == "SNAPSHOT") {
|
||||||
|
@ -320,6 +322,20 @@ function check_sysupgrade(server_url, current_version, target, board_name, packa
|
||||||
])
|
])
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
ui.showModal(_('Error connecting to upgrade server'), [
|
||||||
|
E('p', {}, _('Could not reach API at "%s". Please try again later.'.format(server_url))),
|
||||||
|
E('pre', {}, error),
|
||||||
|
E('div', {
|
||||||
|
'class': 'right'
|
||||||
|
}, [
|
||||||
|
E('div', {
|
||||||
|
'class': 'btn',
|
||||||
|
'click': ui.hideModal
|
||||||
|
}, _('Close'))
|
||||||
|
])
|
||||||
|
]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue