fix(netflow): проверять ответы аналитики и выбранный месяц

This commit is contained in:
Denozordec committed 2026-10-11 17:58:18 +07:00
1 parent 979dc3cfb0
commit 64df472202
10 files changed
+271 -16

No files matched your search

+14 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-11: завершён12.5.146 — ICMPv6 вместо58, IPv6 endpoint [IP]:port с сохранением IPv4/portless формата.3 backend profiles/source+candidate,30 E2E across attempts,984 outputs/types/ESLint и обе production builds passed; live PC/mobile loading passed. Runtime backend/frontend ux-labels146. Далее147 — schema validation HTTP analytics/monthly DTO, понятная ошибка вместо page crash.12.5 открыт.
Актуальное продолжение 2026-10-11: завершён12.5.147 — HTTP analytics/monthly проверяются existing contract schemas; malformed required DTO/negative series/wrong month дают error+retry, optional unknown metrics не прячут core и не становятся0.34 E2E across attempts/types/ESLint/build/live contracts+PC/mobile passed. Backend ux-labels146/frontend ux-http147. Далее148 — gate flow entity requests/SSE до confirmed catalog и reject invalid serverId без aggregate fallback.12.5 открыт.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -36,7 +36,19 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–146 и ограничения ниже. Runtime backend/frontend ux-labels146. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–147 и ограничения ниже. Runtime backend ux-labels146/frontend ux-http147. |
## 12.5.147 — подтверждённые HTTP данные аналитики и месяца (2026-10-11)
HTTP analytics/monthly раньше принимались как typed JSON без runtime schema check: malformed200 с отсутствующей conversationsList мог упасть при render. Теперь reused existing contract schemas и flowConfirmed error state, как в SSE/settings. Неверные required fields и negative RX/TX series отклоняются; monthly.month обязан совпадать с requested month. Existing Alert/Повторить аналитику показывает понятную ошибку, retry сохраняет server/range/month. Никаких false zero defaults для отсутствующих обязательных данных.
Необязательные overlay/wire measurements могут быть неизвестны отдельно от основных счётчиков. Invalid optional numbers (missing/null/string/negative/nonfinite) нормализуются в undefined, UI сохраняет Нет данных; legitimate numeric0 и valid core остаются. Это сохраняет partial-data UX и прежнюю проверку, вместо объявления всего DTO недоступным. Contract schemas/backend response shapes не менялись.
34 профильных E2E приняты across attempts:31 passed в первом запуске; strict optional metric rejection и два monthly fixtures без server catalog дали3 failures. Исправлены partial metric handling и fixtures, повторены только эти3, все passed. Covered incomplete analytics/monthly, negative series, different month, no pageerror/no false speed, retry with identical scope, existing flow races/SSE/metrics/month/table and IPv6 labels. ESLint/source-only TypeScript/frontend Docker build passed. [Receipt](ux-ui/acceptance/traffic-http-contracts-2026-10-11.json).
Frontend ux-http147 развёрнут, backend ux-labels146 сохранён. Настоящие analytics/monthly HTTP200 текущего backend прошли схемы; month2026-10 совпал с запросом. [Live PC/mobile smoke](ux-ui/acceptance/traffic-http-validation-smoke-2026-10-11.json). Это contract compatibility/read-only smoke с текущими lab data, не новый populated WAN test. Rollback image/env сохранены, device/password changes нет.
Следующий148 — не запускать scoped flow HTTP/SSE до подтверждённого выбранного элемента каталога и не превращать malformed serverId в aggregate request.12.5 открыт.
## 12.5.146 — понятные подписи ICMPv6 и адресов IPv6 с портами (2026-10-11)