Commit e4682fff authored by Franco Fichtner's avatar Franco Fichtner

firmware: poll for GUI to come back up; fixes #250

parent ac790ce8
...@@ -97,7 +97,7 @@ POSSIBILITY OF SUCH DAMAGE. ...@@ -97,7 +97,7 @@ POSSIBILITY OF SUCH DAMAGE.
ajaxCall('/api/core/firmware/upgrade',{upgrade:$.upgrade_action},function() { ajaxCall('/api/core/firmware/upgrade',{upgrade:$.upgrade_action},function() {
$("#upgrade_progress").removeClass("fa fa-spinner fa-pulse"); $("#upgrade_progress").removeClass("fa fa-spinner fa-pulse");
$('#updatelist').empty(); $('#updatelist').empty();
setTimeout(trackStatus, 1000) ; setTimeout(trackStatus, 500);
}); });
} }
...@@ -131,6 +131,17 @@ POSSIBILITY OF SUCH DAMAGE. ...@@ -131,6 +131,17 @@ POSSIBILITY OF SUCH DAMAGE.
} }
} }
function rebootWait() {
$.ajax({
url: document.url,
timeout: 2500
}).fail(function () {
setTimeout(rebootWait, 2500);
}).done(function () {
$(location).attr('href',"/");
});
}
/** /**
* handle update status * handle update status
*/ */
...@@ -147,25 +158,17 @@ POSSIBILITY OF SUCH DAMAGE. ...@@ -147,25 +158,17 @@ POSSIBILITY OF SUCH DAMAGE.
// reboot required, tell the user to wait until this is finished and redirect after 5 minutes // reboot required, tell the user to wait until this is finished and redirect after 5 minutes
BootstrapDialog.show({ BootstrapDialog.show({
type:BootstrapDialog.TYPE_INFO, type:BootstrapDialog.TYPE_INFO,
title: "{{ lang._('Upgrade') }}", title: "{{ lang._('Your device is rebooting') }}",
message: "{{ lang._('The upgrade is finished and your device is being rebooted at the moment, please wait.') }}", message: "{{ lang._('The upgrade is finished and your device is being rebooted at the moment, please wait.') }}",
closable: false, closable: false,
onshow:function(dialogRef){ onshow:function(dialogRef){
dialogRef.setClosable(false); dialogRef.setClosable(false);
dialogRef.getModalBody().html("{{ lang._('You will be redirected to the login page in 5 minutes.') }}"); dialogRef.getModalBody().html(
setTimeout(function(){ "{{ lang._('The upgrade is finished and your device is being rebooted at the moment, please wait...') }}" +
dialogRef.close(); ' <i class="fa fa-cog fa-spin"></i>'
$(location).attr('href',"/"); );
}, 60000 * 5); setTimeout(rebootWait, 30000);
}, },
buttons: [{
label: "{{ lang._('Close') }}",
cssClass: 'btn-success',
autospin: true,
action: function(dialogRef){
dialogRef.enableButtons(false);
}
}]
}); });
} else { } else {
// schedule next poll // schedule next poll
......
...@@ -62,8 +62,8 @@ fi ...@@ -62,8 +62,8 @@ fi
if [ -n "${REBOOT}" ]; then if [ -n "${REBOOT}" ]; then
echo '***REBOOT***' >> ${PKG_PROGRESS_FILE} echo '***REBOOT***' >> ${PKG_PROGRESS_FILE}
# give the frontend some time to figure out that a reboot is coming # give the frontend some time to figure out that a reboot is coming
sleep 10 sleep 5
/usr/local/etc/rc.reboot /usr/local/etc/rc.reboot
else
echo '***DONE***' >> ${PKG_PROGRESS_FILE}
fi fi
echo '***DONE***' >> ${PKG_PROGRESS_FILE}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment