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);