Skip to content

Blockerino 2.0.2 — Android

Choose a tag to compare

@Nerdlin Nerdlin released this 28 Oct 20:08
· 73 commits to main since this release

Blockerino 2.0.2

Фото в аватарке, жалобы на фото, исправления входа и удаления аккаунта, задания дня без путаницы после обновления.

📥 Скачать

Артефакты (версия 2.0.2, сборка 14), выкладываются в GitHub Releases как v2.0.2:

🎮 Что нового

Профиль

  • Фото вместо смайла. В окне аватара теперь одна кнопка «Загрузить фото»: выбираете картинку, она обрезается до квадрата и сжимается до 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, runtimeVersion 2.0.2: в сборку добавлены нативные модули expo-image-picker и expo-image-manipulator, поэтому установленные 2.0.0 и 2.0.1 получают эту версию только обычным обновлением (не «по воздуху»).
  • Разрешение камеры из expo-image-picker заблокировано: игра её не использует.
  • Политика конфиденциальности дополнена пунктом о фото профиля.

🧪 Проверки

  • npx tsc --noEmit без ошибок, npx jest 59 наборов / 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 подписан отладочным ключом.