Message ID | 20241103152312.1181339-1-radian.dc@gmail.com |
---|---|
State | New |
Headers | show |
Series | web-app: add 120s timeout fallback for restart modal | expand |
Hi Adrian, On 11/3/24 16:23, Adrian DC wrote: > If SWUpdate is provided only per-request from a secondary system > (such as a rescue minimal Linux running of an EEPROM), > and if the update leads to a primary system without SWUpdate services, > after updating the SWUpdate page will never respond after rebooting. > > Add a 120s timeout upon SWUpdate restart modal access, > normal usage remains applicable, and 2 minutes timeout clears dialog. It is unclear to me what you want to achieve. Yes, if you update via a rescue, and production software has no SWUpdate, there is no connection at all. The same happens for a lot of different reasons, for example rescue and production have different IPs. By setting the timeout, it looks like that connection is established, but it is not and it is faking. A reload from the browser will just report 404. So which is the intention ? Best regards, Stefano Babic > --- > > Signed-off-by: Adrian DC <radian.dc@gmail.com> > --- > web-app/js/swupdate.js | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/web-app/js/swupdate.js b/web-app/js/swupdate.js > index faeca3d2..d2afd700 100755 > --- a/web-app/js/swupdate.js > +++ b/web-app/js/swupdate.js > @@ -30,6 +30,13 @@ function showRestart () { > const restartModal = new bootstrap.Modal('#swu-restart-modal', { backdrop: 'static', keyboard: false }) > restartModal.show() > window.setTimeout(tryReload, 3000) > + window.setTimeout(fallbackRestart, 120000) > +} > + > +function fallbackRestart () { > + if ($('#swu-restart-modal').is(':visible')) { > + $('#swu-restart-modal').modal('hide') > + } > } > > function tryReload () {
diff --git a/web-app/js/swupdate.js b/web-app/js/swupdate.js index faeca3d2..d2afd700 100755 --- a/web-app/js/swupdate.js +++ b/web-app/js/swupdate.js @@ -30,6 +30,13 @@ function showRestart () { const restartModal = new bootstrap.Modal('#swu-restart-modal', { backdrop: 'static', keyboard: false }) restartModal.show() window.setTimeout(tryReload, 3000) + window.setTimeout(fallbackRestart, 120000) +} + +function fallbackRestart () { + if ($('#swu-restart-modal').is(':visible')) { + $('#swu-restart-modal').modal('hide') + } } function tryReload () {
If SWUpdate is provided only per-request from a secondary system (such as a rescue minimal Linux running of an EEPROM), and if the update leads to a primary system without SWUpdate services, after updating the SWUpdate page will never respond after rebooting. Add a 120s timeout upon SWUpdate restart modal access, normal usage remains applicable, and 2 minutes timeout clears dialog. --- Signed-off-by: Adrian DC <radian.dc@gmail.com> --- web-app/js/swupdate.js | 7 +++++++ 1 file changed, 7 insertions(+)