fix(ui): не подменять неполные сетевые счётчики нулями
This commit is contained in:
1 parent
587dd94f82
commit
1deccf862c
13 files changed
+84
-99
No files matched your search
@@ -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.4.3.7; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.4.3.8; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
|
||||
|
||||
|
||||
@@ -36,6 +36,14 @@
|
||||
|
||||
|
||||
|
||||
## Блок 11Б.4.4.3.8 — честные backend счётчики каталогов (2026-10-03)
|
||||
|
||||
- WireGuard/IPsec/VXLAN/BGP/certificates count берётся только из полного результата с явным failures:[]; containers — из нового typed state с available containers на всех устройствах. Legacy BGP/container list с swallowed errors не используется для count. Known empty даёт 0; timeout/throw/partial/malformed count даёт undefined, который HTTP не выдаёт как числовое значение.
|
||||
- Общий bounded helper очищает timer и не публикует поздний результат после deadline. WireGuard больше не await-ит list до старта timeout. Core DB count не подменяет отсутствующий aggregate row нулём; HTTP строго проверяет core и monitoring sum, ошибки core дают 500; optional failures не уничтожают другие числа. No-store response, no payload/secret echo. Правила сетевого применения не менялись.
|
||||
- 2 count helper DI + HTTP unknown/zero/core-malformed проверки, backend build, containers/live-maps профиль и lint прошли; browser sidebar/dashboard limited rights 7/7 прошли. Count functions имеют единственного consumer — sidebar-counts; callers проверены сборкой.
|
||||
- Реальный RouterOS/PG не проверен. Deadline ограничивает ожидание результата; не отменяет уже начатый RouterOS polling внутри legacy reader. Counts разных каталогов не являются общей атомарной сетевой transaction. При partial refresh sidebar сохраняет ранее подтверждённый optional badge; первоначальное missing значение скрыто.
|
||||
- Следующий точный шаг 11Б.4.4.3.9: исправить семантику выбора объектов/условий и один scroll owner в Alerts Sheet; затем обозначить неподдерживаемое BGP-prefix событие, Releases/probe scheduling и приёмка 11Б/12. Processing recovery требует сценария остановки отправителя.
|
||||
|
||||
## Блок 11Б.4.4.3.7 — права каждого источника дашборда (2026-10-03)
|
||||
|
||||
- Все запросы useDashboardLive проходят ensureAuthConfig и per-path/method gate до запроса и публикации, включая standalone WireGuard/events. Dashboard:read не выдаёт servers/uptime/filters/BGP/network/traffic rights; fallback diagnostic POST требует servers:write как на backend. Unknown route не получает разрешение по умолчанию. Отозванные источники очищаются перед обновлением.
|
||||
|
||||
Reference in new issue
Block a user