fix(settings): проверять доступность текущего источника без гонок

This commit is contained in:
Denozordec committed 2026-10-03 14:30:41 +07:00
1 parent b6f1b72500
commit e5842b415b
8 files changed
+72 -17

No files matched your search

+2
View File
@@ -286,3 +286,5 @@ REST запрос → ожидание → подтверждённый output /
Завершён 11Б.3.5.5: Evolution catalog DI HTTP/JWT, один settings snapshot, backend test/build/lint прошли. Evolution принят локально в границах предыдущих form/provider/source/consumer/adaptive проверок; реальный upstream/PG/Portal/RouterOS не принят. Далее 11Б.3.6.1 — достоверные общие Settings без фиктивных сохранений/API keys/MFA; затем system DB, Alerts/Releases/probes.
Завершён 11Б.3.6.1: общие Settings без фиктивных сохранений/demo keys/MFA, реальная тема/source URL, переходы к инструментам; 32 E2E с одним исправленным locator, 3 source с исправленным alert locator, 8 Evolution source, typecheck/lint/build прошли. 6 screenshots, 320 просмотрены. System DB ещё не принят. Далее 11Б.3.6.1.2 health/source guards; затем 11Б.3.6.2 DB operations.
Завершён 11Б.3.6.1.2: DataSource health token/revision/abort/ABA, explicit checking и validated health body. 2 unit, 10 source/health, 16 Settings/Evo provider и 8 Evo source E2E, typecheck/lint/build прошли; два test setup уточнены. System monitor остаётся отдельным reader. Далее 11Б.3.6.2.1 — system DB API/credentials in events; затем backend outcomes и UI.
+9 -1
View File
@@ -28,7 +28,7 @@
| 9 | VPN, Firewall и Filters | Завершён в границах локальной приёмки 2026-09-30; блоки 9.1–9.64, ограничения в 9.64 |
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.6.1; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.6.1.2; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,14 @@
## Блок 11Б.3.6.1.2 — достоверный health источника (2026-10-03)
- DataSource health привязан к immutable token каждой смены backend URL, revision/AbortController и active lifetime; старый success/error и ABA не меняют новый статус. Новый источник не наследует прежний available status. Checking отличается от not checked; повторная проверка отменяет прежний reader.
- Health reader использует no-store/3s/caller abort, проверяет actual backend status:ok или legacy literal ok:true (совместимость фикстур/старого ответа). HTTP 200 HTML/{}/false не подтверждает доступность. Это доступность health endpoint, не проверка PG/RouterOS/всех интеграций.
- Hydration local preferences отложена с active guard; устранена исходная DataSource sync-effect lint ошибка. 2 unit, итоговые 10 Settings source/health E2E, 16 соседних Settings/Evolution provider и 8 Evolution source E2E, typecheck/lint/production build прошли.
- Первоначально два новых E2E уточнены: добавлен явный Checking label и исправлен счётчик ABA (health запрашивает ещё System monitor; удерживаются все старые A запросы, сравнивается новый прирост). Worker timeout и backend abort не доказывают остановку операции. System monitor имеет собственный reader и пока не мигрирован на этот helper.
- Следующий блок 11Б.3.6.2.1 — строгие system database export/restore readers/receipts и удаление credentials из event payload; затем backend partial outcomes/restore transaction и форма/приёмка.
## Блок 11Б.3.6.1 — достоверные общие Settings (2026-10-03)
- Удалены фиктивный общий Save/toast, demo API keys, неработающие MFA/IP/audit/reset, язык English/timezone/polling/probe timeout без реализации, default-only Route AI KPI. Вместо них — явные unavailable состояния и переходы к существующим Alerts/Users/Data collection/Probes/Route optimizer. Это исправление ложных операций, не реализация нового API keys/MFA сервиса.
+2
View File
@@ -218,3 +218,5 @@ ReUI PRO/base-nova; существующие Frame, Data Grid v9, KpiStatGrid, S
Завершён 11Б.3.5.5: Evolution catalog DI HTTP/JWT, один settings snapshot, backend test/build/lint прошли. Evolution принят локально в границах предыдущих form/provider/source/consumer/adaptive проверок; реальный upstream/PG/Portal/RouterOS не принят. Далее 11Б.3.6.1 — достоверные общие Settings без фиктивных сохранений/API keys/MFA; затем system DB, Alerts/Releases/probes.
Завершён 11Б.3.6.1: общие Settings без фиктивных сохранений/demo keys/MFA, реальная тема/source URL, переходы к инструментам; 32 E2E с одним исправленным locator, 3 source с исправленным alert locator, 8 Evolution source, typecheck/lint/build прошли. 6 screenshots, 320 просмотрены. System DB ещё не принят. Далее 11Б.3.6.1.2 health/source guards; затем 11Б.3.6.2 DB operations.
Завершён 11Б.3.6.1.2: DataSource health token/revision/abort/ABA, explicit checking и validated health body. 2 unit, 10 source/health, 16 Settings/Evo provider и 8 Evo source E2E, typecheck/lint/build прошли; два test setup уточнены. System monitor остаётся отдельным reader. Далее 11Б.3.6.2.1 — system DB API/credentials in events; затем backend outcomes и UI.