fix(alerts): сохранить черновик Telegram и подтвердить операции

This commit is contained in:
Denozordec committed 2026-10-03 18:00:01 +07:00
1 parent a5c8e614bd
commit 875819c577
7 files changed
+170 -216

No files matched your search

+10 -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Б.4.3.1.2.2; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.3.2; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,15 @@
## Блок 11Б.4.3.2 — подтверждённые параметры и тест Telegram (2026-10-03)
- Новая форма на установленном OpsPanel/Frame хранит dirty поля отдельно от полученного snapshot. Refresh сохраняет черновик, untouched поля получают новые данные; PUT передаёт только изменённые поля. Токен не сохраняется в browser storage. Пустой thread отправляется явно null; некорректное число остаётся в форме и не отправляет API.
- Строгие save/test helpers подключены к UI; общий synchronous lock и source AbortController защищают от повторного save/test. Начало записи отменяет pending primary GET и его revision: поздний overview не заменяет подтверждённый save. Controls требуют alerts:write, live и подтверждённую доступность; demo ничего не отправляет.
- Неизвестный результат сохраняет checkpoint без секретов на источник в памяти/sessionStorage, переживает refresh/reload/ABA, требует явной проверки перед повтором. Подтверждённый 400/401/403/409/422 снимает checkpoint, сохраняет draft; network/5xx/malformed остаются unknown. Поздний receipt старого lifetime не снимает новый guard. При недоступности sessionStorage остаётся только memory guard до reload.
- «Подключён» заменён на «Параметры заполнены»; test success обозначает приём Telegram API и просит проверить чат, не доказывает доставку. Очистка draft thread перед тестом требует сначала save: legacy test API при omitted thread использует сохранённое значение.
- 10 Telegram browser сценариев, 4 Telegram source ABA, 7 primary/catalog regression и 2 reader ABA пройдены; typecheck без incremental/lint/ReUI audit. Форма проверена и просмотрена на 320px. Реальные Telegram/PG не вызывались. Rule preview test пока старый и не принят; правила и GET/outbox consistency впереди.
- Следующий точный шаг 11Б.4.3.3: правила и группы — strict receipt, права, общий замок, сохранение формы при ошибках и unknown review; затем GET/revision/outbox audit, общий dashboard permission reader, Releases/probe scheduling и приёмка 11Б/12.
## Блок 11Б.4.3.1.2.2 — независимые каталоги Alerts (2026-10-03)
- Primary strict reader больше не ждёт BGP/server labels/GRE. Каждый каталог имеет собственные abort/revision/lifetime, loading/error/known/time, retry и последний успешный snapshot; header refresh запускает их независимо. Unknown не отображается как пустой каталог.