fix(netflow): запускать TypeScript worker с собственным загрузчиком

This commit is contained in:
Denozordec committed 2026-10-14 02:57:24 +07:00
1 parent 7a38bb36aa
commit 19ad294ded
20 files changed
+472 -13

No files matched your search

+13 -1
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
Актуальное продолжение 2026-10-14: блок222 завершён. Общая backend регрессия25 после worker fix и GRE/Filters E2E52 прошли. Отдельно SQL disabled33/months5; source+compiled IPv6 UDP worker6rows/aggregates/shutdown passed. Dev worker получил собственный tsx bootstrap; production worker path сохранён. Own DB/roles удалены. Backend ux-regression222/compiled1056/source492 matched, frontend ux-routing218. Live API6/UI4 passed. Следующий223 — согласование текущего плана, статусов и укрупнённой матрицы остатка. Этап12.5 открыт.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -38,6 +38,18 @@
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–196 и ограничения ниже. Runtime backend/frontend ux-peak196. |
## 12.5.222 — общая регрессия и исправление dev NetFlow worker (2026-10-14)
После общих GRE catalog/config/alert readers выполнены25 backend profiles в собственной PostgreSQL с NOSUPERUSER/NOCREATEDB/NOCREATEROLE/NOBYPASSRLS. Test image не содержал /app/.env или /app/backend/.env; main DSN не копировался. По специальным namespace guards дополнительно выполнены33 disabled API/SQL checks (Home/Jump/Exit, bigint positive control, native contacts0) в mm_accept_152 и5 календарных SQL checks в mm_accept_149. Контроль skip/release/recovery concurrency — успешный contention test, не пропущенная SQL ветка.
GRE/Filters20specs:52 unique E2E passed, skipped0/flaky0, пользовательские screenshots не перезаписывались. Дополнительная IPv6 UDP/source-worker SQL в mm_accept_144 первоначально упала ERR_MODULE_NOT_FOUND на src/db/index.js. Source worker не получал достаточный TS resolver из parent. Добавлен traffic-flow-worker-bootstrap.mjs, регистрирующий tsx внутри worker; dev factory использует его, production .js entry сохранён. Вариант source/compiled выбирается явно в отдельной приёмке. Backend build и4 shutdown checks прошли.
Повтор source-bootstrap и compiled: по2 реальным UDP datagrams,6 SQL flow rows,25200bytes/42packets minute и7200bytes/12packets Internet hour/day, shutdown acknowledgement. Это synthetic IPv6 payload по local IPv4 UDP, публичный IPv6 WAN не проверялся. Первая повторная all-profile attempt не стартовала из-за неправильного mount gre222-checks в runner: namespace cleanup сработал; исправлено на regression222-checks, свежая БД и25 профилей после worker fix passed. Все собственные DB/roles удалены.
Backend ux-regression222 compiled1056/source492 matched, healthy; frontend ux-routing218 сохранён. Real Portal JWT:6 API (servers/GRE/BGP/OSPF/flow settings/scheduler)200, network failures0; Traffic/Data collection UI1440/320 —4 smoke cases без page errors/mutations. Изменения не применяли native network configuration и не меняли пароли. Последняя полная UI-regression192 не объявляется повторённой: текущая UI52 профильная. Этап12.5 открыт в пределах матрицы.
Протоколы: [backend25](ux-ui/acceptance/regression222-backend-2026-10-14.json), [UI52](ux-ui/acceptance/regression222-ui-2026-10-14.json), [disabled33](ux-ui/acceptance/optional222-152-result.json), [months5](ux-ui/acceptance/optional222-149-result.json), [initial worker failure](ux-ui/acceptance/optional222-144-initial-failure.json), [source](ux-ui/acceptance/optional222-144-source-bootstrap-result.json), [compiled](ux-ui/acceptance/optional222-144-compiled-result.json), [build](ux-ui/acceptance/regression222-build-proof-2026-10-14.json), [deployment](ux-ui/acceptance/regression222-deployment-2026-10-14.json), [live](ux-ui/acceptance/regression222-live-2026-10-14.json). Следующий223 — устранить устаревшие краткие статусы в документах и дать компактный актуальный остаток по группам, сохранив историю.
## 12.5.221 — native identity GRE без выдуманных fallback (2026-10-14)
Общий readGreNativeRows валидирует коллекцию, строковые поля, native .id/name, blank/whitespace IDs, duplicate ID и duplicate normalized names. API/config mapper и alert source используют один boundary. mapGreLive больше не создаёт gre-index IDs/names для повреждённых rows. Корректные .id и имена со спецсимволами сохранены. Неполный API catalog передаёт per-device failure, snapshot source сообщает GRE error, BGP observations сохраняются.