fix(evolution): проверять каталог и сохранять неизвестные счётчики

This commit is contained in:
Denozordec committed 2026-10-03 13:51:07 +07:00
1 parent 9db1471b2c
commit 7e3cb754b0
16 files changed
+140 -82

No files matched your search

+8 -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.5.3.1; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.5.3.2; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,13 @@
## Блок 11Б.3.5.3.2 — достоверность каталога Evolution (2026-10-03)
- Backend проверяет все пять upstream collections/items, обязательные поля, уникальность идентификаторов, диапазон ASN и целые безопасные counts до mapping. Malformed больше не превращается в подтверждённый пустой каталог; корректные пустые массивы допустимы. Неизвестный prefix_count (нет поля/null) сохраняется как null; итог community с таким ASN тоже unknown, известный ноль остаётся 0. Переполнение суммы отклоняется.
- Nullable counts проведены через frontend parser/types, ReUI ASN/communities grids, поиск и детали; unknown выводится «—», локальный подтверждённый serverCount остаётся числом.
- 4 backend parser/aggregation tests, существующие Evolution HTTP/JWT, 4 frontend parser tests, backend build, общий typecheck и профильный lint прошли. 8 provider E2E прошли; новый counts E2E проверил ASN/community zero/unknown и детали после уточнения locator (детали — inline panel, не dialog).
- Реальный Evolution/PG не проверен; соответствие optional upstream полей требует внешней приёмки. Форма и live mock fallback ещё не приняты. Следующий блок 11Б.3.5.4.1 — отдельная форма с dirty-only сохранением, правами, lock, подтверждением удаления ключа и source guards.
## Блок 11Б.3.5.3.1 — Evolution provider и свежесть (2026-10-03)
- Provider подключил strict settings/save/test helpers. GET error/malformed не становится settingsLoaded; settings и catalog имеют независимые loading/error/browser receivedAt. Catalog failure сохраняет последнее snapshot/time; отключение/смена сохранённого URL/secret flag и запись ключа инвалидируют прежний каталог. Save заканчивается по receipt до независимого запроса каталога.