По диагностике 0.5.8 («связь пропала» на сервере tinl): статус оставался
«Подключено», а свидетельства сбоя стирало переподключение.
- StallDetector: uplink растёт, а downlink нет при открытых соединениях ≥15 с
(3 окна по 5 с) или серия DNS-таймаутов (≥3 имён за 20 с) → одна проверка
через текущий сервер (VpnLivenessProbe) → существующий failover; без замены —
«Нет связи с сервером» на Главной («Перезапустить», «Сменить сервер») и в
уведомлении. Тишина — не тревога; не чаще раза в 5 мин; только при горящем
экране; без периодических запросов.
- Единый поток TrafficSample из CommandStatus (5 с при горящем экране).
- SessionHistory: последние 5 сессий в памяти — сервер, трафик, последний
рост downlink, причина конца, до 24 ключевых событий; важные строки ядра
собираются при любом экране; отчёт v9 (session_history, session_traffic),
попыток 6; квоты лога вытесняют DEBUG раньше обрывов.
- Каждая причина перезапуска — свой триггер и запись в журнал.
- Ручной выбор сервера проверяет связь и откатывается на прежний при провале;
ManualSelection*InstrumentedTest: выбор не перезапускает VPN.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>