diff --git a/web/templates/update.html b/web/templates/update.html index 4850c20..eb20088 100644 --- a/web/templates/update.html +++ b/web/templates/update.html @@ -11,7 +11,7 @@ Обновления - GitHub update center: проверка, changelog и установка + GitHub update center: автоматический мониторинг, changelog и установка user: {{ user }} @@ -40,7 +40,7 @@ Последняя проверка - {{ info.checked_at }} + {{ info.checked_at }} @@ -58,8 +58,10 @@ {% if not info.fetch_ok %} GitHub fetch вернул ошибку: {{ info.fetch_error }} {% endif %} + + Проверка обновлений выполняется автоматически при открытии страницы и дальше каждые 5 минут. Ручная кнопка убрана — меньше лишних действий, больше порядка. + - Проверить сейчас {% if info.has_update %} Установить обновление @@ -142,6 +144,8 @@ const finishedBox = document.getElementById('update-finished'); const logBox = document.getElementById('update-log'); const logState = document.getElementById('update-log-state'); + const lastCheckBox = document.getElementById('last-check-value'); + let autoCheckRunning = false; function statusClass(status) { if (status === 'success') return 'status ok'; @@ -168,8 +172,24 @@ } } + async function autoCheckUpdates() { + if (autoCheckRunning) return; + autoCheckRunning = true; + try { + await fetch('/update/check', {method: 'POST', cache: 'no-store', redirect: 'follow'}); + const now = new Date().toLocaleString(); + if (lastCheckBox) lastCheckBox.textContent = now; + } catch (error) { + if (logState) logState.textContent = 'check error'; + } finally { + autoCheckRunning = false; + } + } + refreshUpdateStatus(); + autoCheckUpdates(); setInterval(refreshUpdateStatus, 2000); + setInterval(autoCheckUpdates, 300000);