diff --git a/admin.html b/admin.html index 07e0588..54f151e 100644 --- a/admin.html +++ b/admin.html @@ -1802,12 +1802,28 @@ async function generateGuide() {
Ожидаю установки…
`; if (pollTimer) clearInterval(pollTimer); + let pollAttempts = 0, pollErrors = 0; pollTimer = setInterval(async () => { - const st = await api(`/admin/api/nodes/${res.code}/status`); + pollAttempts++; + let st; + try { + st = await api(`/admin/api/nodes/${res.code}/status`); + pollErrors = 0; + } catch (e) { + pollErrors++; + if (pollErrors >= 5) { + clearInterval(pollTimer); + document.getElementById("guide-status").innerHTML = 'Не получилось проверить статус (' + esc(e.message) + ') — проверь вручную кнопкой «Проверить» у ноды'; + } + return; + } if (st.status === "active") { clearInterval(pollTimer); document.getElementById("guide-status").innerHTML = 'Установлено и подключено'; loadNodes(); + } else if (pollAttempts >= 150) { + clearInterval(pollTimer); + document.getElementById("guide-status").innerHTML = 'Не дождались за 10 минут — нода появится в списке сама, когда установка на сервере закончится'; } }, 4000); }