L×Box v2.5.1
Хотфикс к v2.5.0. Чинит регрессию lifecycle: после «смахивания» приложения из недавних и повторного открытия туннель оставался жив (правильно), но UI показывал Connected с пустыми данными — Channel/Nodes/Stats не подгружались, таймер соединения сбрасывался. Теперь cold-start корректно пере-синхронизирует все каналы данных с ядром.
Quick links:
🐛 Исправлено ·
📲 Install
🐛 Исправлено
| # | Было | Стало |
|---|---|---|
| §185 | После swipe-from-recents + повторного открытия: Connected, но Channel/Nodes пусты, Stats — спиннер, скорость ↑↓ висит. Лечилось только перезапуском VPN
| Cold-start пере-поднимает все каналы ядра (статус, группы, соединения) на свежий движок → данные сразу на месте |
| §187 | Таймер соединения сбрасывался на 0 при каждом swipe-reopen | Время старта берётся из native (переживает swipe) → таймер показывает реальную длительность сессии |
🔧 Под капотом
| # | Что |
|---|---|
| §185 | resyncForReopen на cold-start: сброс протухшего refcount экрана + пере-подъём status/screen-клиентов + чистая остановка осиротевших profiler/ping-клиентов
|
| §187 | Native хранит время старта туннеля (elapsedRealtime, монотонные часы) → Dart вычисляет честный connectedSince
|
| §186 | Локальная сборка пинит versionCode к релизному тегу (не к HEAD-count) → релизы снова ставятся поверх локальных сборок без downgrade-блока |
🔬 Verified
flutter analyze— No issues found.- Ядро —
v1.14.0-lx.1-rc.10(без изменений с v2.5.0). - Device CPH2411 / Android 15: swipe-reopen больше не воспроизводит пустой UI / спиннер Stats / сброс таймера.
📲 Install
adb install -r LxBox-v2.5.1-arm64-v8a.apkБез uninstall! Поверх существующей установки. Настройки и подписки сохранятся.
Предыдущий релиз: v2.5.0.