fix(api): прекращать диагностику при отмене HTTP

This commit is contained in:
Denozordec committed 2026-10-01 09:00:19 +07:00
1 parent 9d2101d700
commit 440e10c646
6 files changed
+89 -11

No files matched your search

+9 -1
View File
@@ -26,7 +26,7 @@
| 7 | Серверы и мониторинг: детали, формы, URL-контекст, права | Завершён в границах локальной приёмки 2026-09-23; внешние ограничения ниже |
| 8 | Трафик и статистика | Завершён 2026-09-28 в границах локальной приёмки; ограничения в блоке 8.13 |
| 9 | VPN, Firewall и Filters | Завершён в границах локальной приёмки 2026-09-30; блоки 9.1–9.64, ограничения в 9.64 |
| 10 | Маршрутизация, диагностика, карта и терминал | В работе: 10.1–10.67; оптимизатор, карта и терминал приняты локально; диагностика /probes в работе |
| 10 | Маршрутизация, диагностика, карта и терминал | В работе: 10.1–10.68; оптимизатор, карта и терминал приняты локально; диагностика /probes в работе |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Не начат |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Не начат |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,14 @@
## Блок 10.68 — отмена backend диагностики (2026-10-01)
- Abort привязан к aborted HTTP запросу/незавершённому response close; нормальное завершение чтения тела не считается отменой. Listeners снимаются в finally. Перед/после зависимых await проверяется сигнал; отмена не начинает новые MTU пробы.
- Ping/traceroute/MTU получают AbortSignal в post; bandwidthTest принимает необязательный сигнал и передаёт его в существующий post. Старые вызовы совместимы, таймауты/allowlist/параметры сохранены. DNS и route GET не обещают физическую отмену текущего upstream запроса, после закрытия ответа результат не подтверждается.
- Локальные TCP HTTP тесты доказали: обычный trace body не отменяет запрос; закрытие browser fetch доходит до mock RouterOS клиента для ping/trace/MTU/BW; MTU выполняет только одну пробу. Настоящий MikrotikClient BW POST закрывается при abort на локальном fake HTTP RouterOS. Это не подтверждение остановки реального RouterOS процесса.
- Полный backend npm test завершился exit 0; DB-зависимые тесты явно skipped из-за ECONNREFUSED PostgreSQL 127.0.0.1:5432, не приняты по этому прогону. test:probes/build/profile lint повторены после транспортного теста. Mikrotik service сохраняет две исходные prefer-const ошибки 117/874; ESLint HEAD/current совпал, suppressions не добавлены.
- Далее 10.69: доступность и адаптивность диагностики, семантические токены, подписи/вывод/clipboard и снимки; затем профильная регрессия и локальная приёмка /probes. Расписание в 11Б, реальные RouterOS/БД/портал остаются внешними ограничениями.
## Блок 10.67 — неизвестные измерения и маршрутный срез (2026-10-01)
- Ping сохраняет seq=0/TTL=0/sent=0/received=0, отсутствующие/невалидные счётчики помечает ?, пустой ответ подписан без измерений. Нет ложного avg-rtt из поля time суммарной строки. BW/trace пустые показатели показывают —, известный ноль сохранён.