fix(ui): показывать подтверждённые метрики участков пути

This commit is contained in:
Denozordec committed 2026-10-04 00:18:21 +07:00
1 parent d4ae1c3127
commit c3a9c00aed
9 files changed
+78 -117

No files matched your search

+8
View File
@@ -36,6 +36,14 @@
## 12.2.9 — метрики отдельных участков Internet path (2026-10-04)
Configured WAN maxDl/maxUl, общий RTT сервера и GRE эвристики больше не выдаются за наблюдения Home→JH/JH→Exit. Метрики берутся из профильных проб: ping требует дату и отсутствие ошибки, speed — дату/lastStatus:done/отсутствие ошибки. Legacy без metadata и неудачная проба дают неизвестное; ноль остаётся нулём; RX/TX не подменяют друг друга, при обратной пробе направления меняются. Primary и Current используют одинаковую границу подтверждения.
Active WAN выбирается только по наблюдаемому default interface/route; первый configured uplink и просто bound DHCP не доказывают выбор. Summary unknown больше не маркирует Оффлайн. Подпись поясняет, что JH/Exit — кандидаты, а default route подтверждает WAN; карта различает рекомендацию оптимизатора и наблюдаемый default route. Алгоритм сетевых операций/оптимизатора не изменён.
Проверки:61 dashboard/permissions browser, включая4 новых hop-состояния и320px,6 path unit (success/error/undated/zero/directions/unmatched WAN), typecheck и ESLint без ошибок/предупреждений в изменённых frontend файлах. Удалены прежние unused helpers/imports; ReUI Frame/Badge/StatusBadge сохранены. Далее12.3: фиксированные большие fixtures, измерения и ограничения; сводная регрессия12.4 должна включить12.2 и production build. Реальный traffic path/PG/RouterOS не проверен.
## 12.2.8 — подтверждение полного сбора Internet path (2026-10-04)
Backend больше не скрывает ошибки обязательных GRE/routes/DHCP/address чтений пустыми массивами или null. Pure/DI граница собирает enabled homes и возвращает collectionComplete только после всех обязательных ответов. Неудачный сбор завершается до insert, существующий снимок остаётся; ошибки settings тоже освобождают collecting в finally. Malformed RouterOS rows отклоняются. Повреждённый сохранённый JSON/object даёт HTTP502 вместо успешного null.