Repository navigation
Beta v2.0.4 Release
Новое
- Полная локализация интерфейса — русский и английский языки.
- Автоопределение системного языка при первом запуске (Windows, macOS, Linux, Android, iOS).
- Переключатель языка в настройках — выпадающий список с пунктом «Системный».
- Выбор языка сохраняется в SharedPreferences и применяется мгновенно без перезапуска.
- Персистентный кеш данных пользователя — профиль, метаданные подписки, устройства, тариф, лимиты трафика теперь сохраняются на диск и доступны после перезапуска или временной потери связи с сервером.
- Плашка «Приложение успешно обновлено до версии X» — показывается один раз при первом запуске после апдейта, длится 5 секунд.
- Скрипт сборки scripts/build_all.bat — собирает Windows-installer и Android-APK одной командой, автоматически переименовывает артефакты в MinionGuard_<версия>-Windows.exe и MinionGuard_<версия>-Android.apk, версия подтягивается из pubspec.yaml.
Исправления
- Красный экран No MaterialLocalizations found при запуске — добавлены flutter_localizations и делегаты GlobalMaterialLocalizations / GlobalWidgetsLocalizations / GlobalCupertinoLocalizations.
- Drawer не находил MaterialLocalizations для русской локали — та же причина, что выше.
- Ошибка константного конструктора в AppStringsRu / AppStringsEn — добавлен явный const AppStrings() в базовый класс.
- Кеш данных терялся при деавторизации — теперь logoutAll() очищает всё, а DataCache переживает рестарт.
- Устройства не кешировались — теперь сохраняются и восстанавливаются после перезапуска.
- Inno Setup показывал диалог «Установить для меня / для всех» — убран, установка всегда идёт в %LOCALAPPDATA%\Programs\MinionGuard без UAC.
- Апдейт стирал пользовательские файлы в папке установки — удалён блок [InstallDelete] и вызов старого деинсталлятора.
- Сборка ломалась на копировании артефактов — папка build\dist теперь создаётся после flutter clean, а не до.
- Плашка обновления не появлялась — исправлено ожидание ScaffoldMessenger через retry-цикл.