fix(api): прекращать диагностику при отмене HTTP
This commit is contained in:
1 parent
9d2101d700
commit
440e10c646
6 files changed
+89
-11
No files matched your search
@@ -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 пустые показатели показывают —, известный ноль сохранён.
|
||||
|
||||
@@ -424,3 +424,12 @@ Shared контракт и backend observed исходные значения/д
|
||||
- Backend test:probes/build/lint прошли; DI HTTP проверяет нули/unknown ping/BW, плохой target/CIDR, mixed known/unknown маршруты и приоритеты. Моки не проверяют реальную FIB/RouterOS/IP.
|
||||
- Далее 10.68: корректная привязка отмены к жизненному циклу HTTP ответа и прекращение последующих MTU проб; затем клавиатура/адаптивность и локальная приёмка /probes. Этап 10 ещё в работе.
|
||||
|
||||
|
||||
## Блок 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/БД/портал остаются внешними ограничениями.
|
||||
|
||||
Reference in new issue
Block a user