Исправлена система автообновлений
Система обновлений работала, но держалась на честном слове. Провели аудит и добрались до слабых мест где что-то могло пойти не так или вовсе не работало.
Основные проблемы которые были:
Если обновление скачалось но приложение не перезапустили — при следующем запуске статус не восстанавливался и кнопка "Установить" не появлялась снова.
Тип releaseNotes от E-updater — это string | ReleaseNoteInfo[] | null.
Вызов .toString() на массиве давал [object Object] вместо текста. Добавили
правильный хелпер с обработкой всех трёх случаев.
Тост "доступно обновление" мог появляться каждые 30 минут при каждой фоновой проверке, даже если ты его уже видел и закрыл. Добавили cooldown 4 часа — повторное уведомление только если прошло время или версия поменялась.
Если скачивание падало с ошибкой — кнопка "Повторить" не появлялась, просто ничего. Теперь показывается ошибка с возможностью попробовать снова.
Стало немного больше шансов, что вы сможете воспользоваться актуальной версией приложения.