Repository navigation
Blockerino 2.0.2 — Android
Blockerino 2.0.2
Фото в аватарке, жалобы на фото, исправления входа и удаления аккаунта, задания дня без путаницы после обновления.
📥 Скачать
Артефакты (версия 2.0.2, сборка 14), выкладываются в GitHub Releases как v2.0.2:
- Скачать Blockerino 2.0.2 для Android (APK) · APK · 51,5 МиБ · сборка 14
- Скачать Blockerino 2.0.2 Android App Bundle (AAB) · AAB · 69,9 МиБ · сборка 14 (для Google Play Console)
🎮 Что нового
Профиль
- Фото вместо смайла. В окне аватара теперь одна кнопка «Загрузить фото»: выбираете картинку, она обрезается до квадрата и сжимается до 256×256. Системный выбор фото, лишних разрешений не требуется.
- «Удалить фото» убирает картинку; при замене и при удалении аккаунта старые файлы стираются из хранилища.
- Жалобы: в профиле другого игрока появилась ссылка «Пожаловаться на фото» (причины: неприемлемое, личная информация, другое). Жалобы рассматриваются вручную, см. docs/moderation.md.
- Загруженное фото больше не заменяется картинкой из Google или Discord при входе.
- Имя игрока в профиле не затирается именем из Google при повторном входе.
Игры
- Приглашение друга в Durak, Sea Battle и Tic-Tac-Toe. Хост создаёт комнату, под кодом появляется список друзей (онлайн первыми) с кнопкой «Позвать». Друг видит окно приглашения, нажимает «Принять», игра открывается и сама заходит в комнату. Работает, пока у друга открыто приложение (как вызов в шахматы).
- Шахматы: вызов друга и игра по коду. Исправлена ошибка, из-за которой у второго игрока партия не выходила с экрана «Подключаемся» (у хоста доска была, у гостя бесконечная загрузка). Вызывающий теперь видит «Ждём {имя}», а не «Соперник найден». Это исправление уже вышло по воздуху для 2.0.0 и 2.0.1.
Исправления
- Удаление аккаунта у гостя (без входа) больше не показывает ошибку связи.
- Бонус заданий дня не показывается собранным, если не все задания выполнены (после обновления посреди дня набор заданий менялся).
- Кнопка «Отмена» в окне аватара больше не показывается как
COMMON.CANCEL.
Внутри
- Версия
2.0.2,runtimeVersion2.0.2: в сборку добавлены нативные модулиexpo-image-pickerиexpo-image-manipulator, поэтому установленные 2.0.0 и 2.0.1 получают эту версию только обычным обновлением (не «по воздуху»). - Разрешение камеры из
expo-image-pickerзаблокировано: игра её не использует. - Политика конфиденциальности дополнена пунктом о фото профиля.
🧪 Проверки
npx tsc --noEmitбез ошибок,npx jest59 наборов / 348 тестов.npm run db:check: все SQL-тесты PASS, включаяavatar_uploads.sql.npm run e2e:avatar-storage: 15 проверок хранилища и жалоб на локальной базе (запись только в свою папку, лимит 300 КБ, только картинки, чтение по ссылке, замена и удаление чистят папку, жалобы).- Проверено вживую на двух клиентах (браузер, локальная база): вызов друга и партия в шахматах (ход доходит до соперника), приглашение в Tic-Tac-Toe, приглашение в Versus 1v1. Загрузка фото с телефона и приглашения в Durak и Sea Battle вживую не проверялись.
🚀 Развёртывание
Миграция (применится пушем в main, только новые объекты):
20261030100000_avatar_uploads.sql: бакетavatars(публичное чтение, 300 КБ, jpeg/png/webp, запись только в свою папку), таблицаavatar_reports, функцияreport_avatar.
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → app_config.android_version. В Google Play: новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.2.aab) и в «Безопасности данных» добавить тип «Фотографии».
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.2.apk | 53980238 | 04e3d40764a550edf909d11ec8a4a45f4cc4a5bdaf27c2223c9b71683275b071 |
| blockerino-2.0.2.aab | 73273564 | 8e08496d5e4db7db24ae618ff39ee8f2f54b7d15c97cb8614b9c92138bd4656c |
AAB подписан ключом загрузки, APK подписан отладочным ключом.