Repository navigation
Releases
Blockerino 2.0.8 — Android + Windows
Blockerino 2.0.8
Вход через Discord в приложении, честные рейтинги и ставки, приглашения, которые ждут ответа, и обновления по воздуху, которые теперь доходят до телефона.
📥 Скачать
Артефакты (версия 2.0.8, сборка 21), выкладываются в GitHub Releases как v2.0.8:
- Скачать Blockerino 2.0.8 для Android (APK) · APK · 52,8 МиБ · сборка 21
- Скачать Blockerino 2.0.8 Android App Bundle (AAB) · AAB · 70,4 МиБ · сборка 21 (для Google Play Console)
- Скачать Blockerino 2.0.8 для Windows (установщик) · EXE · 122,0 МиБ
- Скачать Blockerino 2.0.8 для Windows (без установки) · EXE · 111,4 МиБ
🎮 Что нового
Вход и аккаунт
- Вход через Discord в Android-приложении. Открывается тот же аккаунт, что в Discord Activity, со всеми рекордами и монетами.
- Плашка «Вы не вошли в аккаунт» в рейтинге: гость сразу видит, что его рекорды остаются только на устройстве, и может войти одной кнопкой.
- После первого входа рекорды гостя за текущий сезон попадают в сезонный рейтинг.
Приглашения
- Дуэль с другом начинается, только когда он принял приглашение. До этого — окно «Ждём ответа…» с отменой. Если друг отказался или не ответил за минуту, вы сразу это увидите.
- Того, кто уже играет партию, пригласить нельзя: игра скажет, что друг сейчас в игре, и не будет его отвлекать.
Честная игра
- Рейтинги мини-игр (шашки, морской бой, дурак, крестики-нолики) меняются по отчёту проигравшего, ничья — по отчётам обоих. Больше нельзя «выиграть» у человека, с которым не играл.
- Шахматы: результат без ответа соперника засчитывается только для партии, в которой сервер видел обоих игроков.
- Дурак на монеты: банк забирает победитель, только когда все остальные подтвердили проигрыш; иначе ставки возвращаются.
- Заявку в друзья может принять только тот, кому её отправили. Приглашения приходят по закрытому каналу, только от друзей.
Мини-игры
- Судоку на компьютере больше не уезжает за верх экрана.
- Морской бой: крупнее поле врага в бою, кнопки не вылезают за край на компьютере, а в конце игры показываются корабли противника.
- Шахматы против бота: отмена хода стоит 200 монет, подсказка — 50.
Windows
- Игра для Windows: установщик и версия без установки.
Под капотом
- Обновления по воздуху снова работают: в прошлых сборках Android-приложение не скачивало их. С 2.0.8 исправления доходят до телефона без новой версии в Google Play.
🧪 Проверки
npx tsc --noEmitбез ошибок, Jest: все наборы тестов, плюс новые тесты входа через Discord, переноса гостевых рекордов и настройки обновлений.- Проверки базы (
npm run db:check, Docker): все миграции встают на чистую базу, 24 проверки, в том числе новые на исправления безопасности и админ-панель. - На телефоне (dev-сборка): вход через Discord в существующий аккаунт, плашка гостя.
🚀 Развёртывание
Миграции 20261110134159_security_audit_fixes, 20261111090000_coin_gain_limit и 20261111100000_admin_panel уже применены к базе. Функции discord-token-exchange и discord-app-return выложены.
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → в Google Play новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.8.aab).
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.8.apk | 55385985 | 02bfe6aa8ff2a9184849d8640e1ca362f11c31f0291e28602b4cfad07b12c7cc |
| blockerino-2.0.8.aab | 73781560 | d83abb773b4dda0c6fde5aa32b0638883d9fadd5505d002575cf0bfb4b239858 |
| blockerino-2.0.8-windows-setup.exe | 127975400 | 623b6cc8ef1b4c18fc17e3eea181d8be2da7856d3d108d78b0e58af67c8196ed |
| blockerino-2.0.8-windows-portable.exe | 116824848 | e341b5933a2aa6404037e34912d3990ca18f3087226e1ff92b121281d0306b75 |
AAB подписан ключом загрузки, APK подписан отладочным ключом (как прошлые APK, чтобы обновляться поверх). Windows-версии не подписаны: при первом запуске Windows покажет предупреждение («Подробнее» → «Выполнить в любом случае»).
Blockerino 2.0.7 — Android
Blockerino 2.0.7
Испытания со звёздами и таблицей дня, честные режимы Дурака с ботами, крупные доски, 12 новых достижений и анимация нового ранга.
📥 Скачать
Артефакты (версия 2.0.7, сборка 19), выкладываются в GitHub Releases как v2.0.7:
- Скачать Blockerino 2.0.7 для Android (APK) · APK · 52,8 МиБ · сборка 19
- Скачать Blockerino 2.0.7 Android App Bundle (AAB) · AAB · 70,3 МиБ · сборка 19 (для Google Play Console)
🎮 Что нового
Испытания
- Три звезды в каждом испытании за очки и общий счёт «Звёзды N/15». Под звёздами видно, сколько нужно до следующей.
- Головоломка дня: своя таблица на каждый день (раньше там был рекорд за всё время), серия дней подряд и таймер до новой головоломки.
- 100 монет за три звезды в головоломке дня, раз в день. Монеты выдаёт сервер.
- Названия и описания испытаний на русском.
- Рейтинг испытаний в общем стиле: подиум, ваша карточка, строки с 4-го места.
Дурак с ботами
- Режимы «Все» и «Соседи» теперь различаются: кто может подкидывать, решают правила стола.
- В «Переводном» боты переводят атаку.
- «С шулерами» с ботами больше не превращается тайком в честную игру: боты иногда жульничают и ловят вас.
- «Классика» и «Ничья» различаются, когда все вышли одновременно: в «Классике» дурак — последний отбивавшийся.
Мини-игры
- Морской бой: в бою доска «Цель» почти во всю ширину экрана, ваш флот — мини-карта под ней. Доска расстановки тоже крупнее.
- Крестики-нолики: поле и знаки подстраиваются под экран.
- Рейтинг судоку и маджонга считает решённые доски, а не «победы».
Дуэли и друзья
- Анимация нового ранга: когда рейтинг поднялся до следующего ранга, на весь экран вылетает медаль.
- Длинный список друзей больше не растягивает экран: видны первые 4–5, остальные под «Все друзья (N)» с поиском (дуэль, приглашения в мини-игры, шахматы).
Достижения
- 12 новых: шашки (1, 10, 50 побед), серия в головоломке дня (3, 7, 30 дней), звёзды испытаний (5, 10, 15), ранги в дуэлях (Золото, Алмаз, Легенда). Все они есть и в Google Play Играх.
Прошлый сезон
- В стиле рекордов: подиум, ваше место, аватарки игроков. Окно больше не просвечивает.
🧪 Проверки
npx tsc --noEmitбез ошибок, Jest: 403 теста при полном прогоне, плюс новые тесты звёзд, серии дней, награды дня и нового ранга.- На телефоне (dev-сборка): испытания и их рейтинг, Дурак с ботом в «Переводном» и «С шулерами» (бот сжульничал, был пойман и перевёл атаку), Морской бой, крестики-нолики, рейтинги судоку и маджонга, прошлый сезон, анимация ранга.
🚀 Развёртывание
Миграция 20261105201459_achievements_and_daily_board уже применена к базе (2026-11-06): награды за новые достижения, таблица головоломки дня и монеты за три звезды. Старые версии игры её не используют. Новых функций Supabase нет.
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main (сайт обновится сам) → в Google Play новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.7.aab).
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.7.apk | 55343337 | 3add8bb9e798364756fabb971f9538e38a15299f33d623c624f5d9d8c593ecfb |
| blockerino-2.0.7.aab | 73759523 | a1d596d73262f135c158b398d7d4ae721ff8b930db09259f76142cec361b6d47 |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
Blockerino 2.0.6 — Android
Blockerino 2.0.6
Звуки, вибрация и анимации в мини-играх, игры на весь экран, новые таблицы лидеров и исправленный звук.
📥 Скачать
Артефакты (версия 2.0.6, сборка 18), выкладываются в GitHub Releases как v2.0.6:
- Скачать Blockerino 2.0.6 для Android (APK) · APK · 52,7 МиБ · сборка 18
- Скачать Blockerino 2.0.6 Android App Bundle (AAB) · AAB · 70,3 МиБ · сборка 18 (для Google Play Console)
🎮 Что нового
Звук
- Музыка больше не подлагивает и не пропадает. Каждый звук создавал новый плеер, который не освобождался, и со временем звук в игре начинал сбоить. Теперь плееры переиспользуются.
- Музыка возвращается, когда вы снова открываете игру после сворачивания.
- Уведомления и другие приложения больше не останавливают звук игры.
Мини-игры
- На телефоне игры открываются на весь экран, а не в окошке. Стол в Дураке и доска в шашках стали крупнее. Длинные правила свёрнуты в две строки и раскрываются по нажатию.
- Морской бой: выстрел, всплеск, взрыв и тонущий корабль. Телефон вибрирует при попадании, сильнее всего, когда попадают по вашему флоту.
- Шашки: шашка скользит по доске, сбитые шашки исчезают. Свои звуки хода, взятия и превращения в дамку.
- Дурак: карты летят из колоды в руку, и счётчик карт у игроков растёт по одной. Звуки раздачи, хода, «Бито» и «Беру». Исправлено: карта, которую нельзя было сыграть, иногда зависала над рукой.
- Крестики-нолики: звук и анимация хода, выигравшая линия пульсирует.
- Мелодия победы или поражения в конце каждой партии.
Таблицы лидеров
- Дуэль 1на1: подиум для тройки лучших, ваша карточка с рангом и сколько осталось до следующего, отсчёт до конца сезона. Ранги по-русски: Бронза, Серебро, Золото, Алмаз, Мастер, Легенда.
- Рекорды Классики и Хаоса в том же стиле: подиум, ваша карточка с местом, аккуратные строки.
Профиль
- Титулы прошлых сезонов показаны медалями с местом, режимом и месяцем (до 6 титулов).
🧪 Проверки
npx tsc --noEmitбез ошибок. Тесты Jest, в том числе новые: пул звуковых плееров, план раздачи в Дураке, выстрелы в Морском бое, дата сезона.- На телефоне (dev-сборка): шашки (ход, взятие, полный экран), Дурак против бота (раздача, отклонённая карта возвращается в руку), крестики-нолики, Морской бой против бота, таблица ELO, рекорды.
- По системному журналу за сессию было 50 звуков и всего 16 плееров.
🚀 Развёртывание
Без миграций и без новых функций Supabase. Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main (сайт обновится сам) → в Google Play новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.6.aab). app_config.android_version не трогаем, пока тестировщики Alpha не обновятся.
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.6.apk | 55305293 | f2296944bca3e0f6b6d1bcd212d422114935753c312ebbfe7970ea7285a22ed0 |
| blockerino-2.0.6.aab | 73746736 | 55397cbcce3f3d73c3ca49da6dce4d71bfc38e34dfb2faf0ded03e8e725e5ba9 |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
Blockerino 2.0.5 — Android
Blockerino 2.0.5
Шашки, новая таблица лидеров «Ещё игр», Google Play Игры, перенос рейтинга с chess.com и исправленная веб-версия.
📥 Скачать
Артефакты (версия 2.0.5, сборка 17), выкладываются в GitHub Releases как v2.0.5:
- Скачать Blockerino 2.0.5 для Android (APK) · APK · 52,7 МиБ · сборка 17
- Скачать Blockerino 2.0.5 Android App Bundle (AAB) · AAB · 70,3 МиБ · сборка 17 (для Google Play Console)
🎮 Что нового
Шашки
- Русские шашки в «Ещё играх»: бить обязательно, простые шашки бьют и назад, дамка ходит на любое расстояние.
- Бот трёх уровней с подсказкой, игра с другом по коду комнаты, приглашение друга, свой рейтинг.
Ещё игры
- Новая таблица лидеров: плитки игр с иконками, ваше место и счёт побед и поражений, подиум для тройки лучших. В конце списка видно, где вы, и есть кнопка «Играть».
- Морской бой: в бою оба поля одного размера, выбранный корабль больше не подсвечивается.
- Маджонг стоит вертикально, плитки на телефоне крупнее. Судоку шире.
Шахматы
- Рейтинг теперь начинается с 400 (уровень самого слабого бота), а не с 1000.
- Перенос рейтинга с chess.com: один раз на аккаунт, после проверки, что аккаунт ваш. Нужно вписать код из игры в поле «Местоположение» профиля chess.com.
- «Новая партия» в меню доступна только после окончания партии. Раньше она молча сдавала онлайн-партию или бросала партию с ботом.
Рекорды
- Вкладка «Друзья» показывает рекорды за всё время. Раньше в начале каждого сезона она была пустой.
Google Play
- Google Play Игры: 20 достижений и таблицы рекордов Классики и Хаоса. Нужна версия из Google Play.
- Окно «Доступно обновление» со ссылкой на GitHub видят только те, кто ставил APK с GitHub. Версия из Google Play обновляется через магазин.
Веб-версия
- Блоки снова ставятся. В 2.0.4 поле в браузере перестало обновляться.
- С мышью фигура идёт прямо под курсором, а не висит над полем.
🧪 Проверки
npx tsc --noEmitбез ошибок; тесты Jest, в том числе новые на правила шашек, бота и перенос рейтинга.- В браузере: блоки ставятся мышью, таблица лидеров, шашки против бота с обязательным взятием, маджонг.
- На телефоне (dev-сборка): шашки, меню достижений, окно входа Google Play Игр. Сам вход в Play Игры работает только у версии из Google Play.
- На боевой базе в транзакциях с откатом: рекорды друзей за всё время, шашки в рейтингах, старт шахмат с 400, перенос рейтинга с chess.com (код, повторный перенос, чужой ник).
- Не проверено вживую: шашки онлайн на двух аккаунтах, перенос рейтинга через сервер, достижения в Google Play на версии из магазина.
🚀 Развёртывание
Миграции (применяются при пуше в main):
20261101100000_friends_alltime_leaderboard.sql20261101110000_checkers_game.sql20261101120000_chess_start_rating_400.sql20261101130000_chess_com_import.sql
Edge function: supabase/functions/chess-com-import (verify_jwt включён).
runtimeVersion = 2.0.5. Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → миграции и функция → app_config.android_version. С 2.0.5 окно обновления видят только установки не из Google Play. Но версии из Play 2.0.4 и старше этого не умеют, поэтому app_config поднимать до 2.0.5, когда тестировщики Alpha обновятся на 2.0.5. В Google Play: новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.5.aab), потом публикация проекта Google Play Игр.
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.5.apk | 55219905 | 5a58a7bf4484747598f6f0c2a8424cd879bd811763900deb65f554b24f60daae |
| blockerino-2.0.5.aab | 73678608 | c50f1bb389193c64e5c1fb297ee9536ba885bf134b981a58781657832602233c |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
Blockerino 2.0.4 — Android
Blockerino 2.0.4
Партия без фризов, тень фигуры при перетаскивании, обучение для новичков, Stockfish в шахматах, задачи и разбор партий.
📥 Скачать
Артефакты (версия 2.0.4, сборка 16), выкладываются в GitHub Releases как v2.0.4:
- Скачать Blockerino 2.0.4 для Android (APK) · APK · 52,5 МиБ · сборка 16
- Скачать Blockerino 2.0.4 Android App Bundle (AAB) · AAB · 70,1 МиБ · сборка 16 (для Google Play Console)
🎮 Что нового
Блоки
- Без фризов. Открытие партии больше не замораживает игру на несколько секунд, ходы не подтормаживают: поле читалось из анимационного потока по разу на каждую клетку, теперь один раз.
- Тень фигуры. Пока тянешь фигуру, на поле видно, куда она встанет; строка или столбец, которые сгорят, подсвечиваются целиком.
- Обучение. В первой игре мини-поле само показывает, как перетаскивать фигуры и сжигать линии.
- Скины. Блоки почти чёрных цветов больше не теряются на тёмном поле; 20 вариантов скинов (Обсидиановая кузня, Розовый кварц и др.) получили свои цвета вместо цветов базового скина; превью в магазине показывает настоящие блоки.
- Окно «Незаконченная игра» не срабатывает от случайного касания, а «Начать заново» просит подтверждение.
Шахматы
- Stockfish 10 работает внутри игры отдельной программой, ничего докачивать не нужно.
- Шесть ботов-мастеров от 1600 до 2800 Elo на Stockfish.
- Разбор партии: точность, зевки, ошибки и неточности, лучший ход для каждой ошибки.
- Задачи: 600 задач из базы Lichess со своим рейтингом задач.
- chess.com: привязка аккаунта по нику и его рейтинги для сравнения.
- «Ваши рейтинги» крупнее и не похожи на кнопки.
Профиль и интерфейс
- Вошедшие игроки могут сменить имя в профиле (раз в 30 дней, рейтинги «Ещё игр» переходят на новое имя). Имя меняется только в профиле, карандашом.
- Игра больше не зависит от системного размера шрифта Android.
- Новая иконка и заставка без обрезанного блока.
- Первый запуск на языке телефона; смена языка в партии её не сбрасывает.
- Одна кнопка «Назад» на экран: внутри шахмат она ведёт на шаг назад. В настройках во время игры — «Продолжить».
- Магазин, режимы, «Бот» и сообщения Дурака переведены; кнопка «Бито» в Дураке.
- Дурак, крестики-нолики, судоку и морской бой помещаются на экран телефона.
🧪 Проверки
npx tsc --noEmitбез ошибок,npx jest65 наборов / 371 тест, SQL-тестrename_playerна локальной базе.- Вживую на телефоне: открытие партии (замирания JS 0,6 с вместо 6,6 с), ходы без замираний, тень и подсветка линии, вспышка при очистке, бот Omega 2800 на Stockfish, разбор партии, решение задачи, «Назад» по шагам, магазин на русском, окно «Незаконченная игра».
- В браузере: обучение первой игры, «Бито» в Дураке против бота.
- Не проверено вживую: онлайн-Дурак на двух аккаунтах, смена имени на боевой базе (миграция применяется при пуше в
main).
🚀 Развёртывание
Миграция 20261031100000_rename_player.sql применяется пушем в main.
runtimeVersion = 2.0.4. В сборках 2.0.0–2.0.3 в android/.../strings.xml оставалась runtime-версия 1.0.6, поэтому OTA-пакеты для 2.0.2 до установленных приложений не доходили. В 2.0.4 она исправлена: OTA-обновления для 2.0.4 будут доходить.
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → app_config.android_version. В Google Play: новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.4.aab).
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.4.apk | 55085878 | b8aa3a3ed1393d90e04ec329941ca0fc7e51c2f4055e70ef8c7728dc6bafee43 |
| blockerino-2.0.4.aab | 73553903 | 36a81627e8092fb50e2ce6d82258e64a9cc0b3899924b81365caee68a64e5fa8 |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
Blockerino 2.0.3 — Android
Blockerino 2.0.3
Анимации карт в Дураке, переделанный Маджонг, звуки шахмат громче, рекорды в челленджах.
📥 Скачать
Артефакты (версия 2.0.3, сборка 15), выкладываются в GitHub Releases как v2.0.3:
- Скачать Blockerino 2.0.3 для Android (APK) · APK · 51,5 МиБ · сборка 15
- Скачать Blockerino 2.0.3 Android App Bundle (AAB) · AAB · 69,9 МиБ · сборка 15 (для Google Play Console)
🎮 Что нового
Дурак
- Карты летают по столу. Раздача из колоды в начале партии, добор после раунда, уход карт в «бито» за край стола и подбор карт тем, кто взял. Работает одинаково против бота и онлайн.
- Летящие карты лёгкие (без значков мастей), а слой анимации обновляется сам, не перерисовывая весь стол: раздача на 12 карт не тормозит.
Маджонг
- Поле на 62 плитки в три слоя вместо 36, плитки крупнее и объёмные.
- Заблокированные плитки затемнены, а не полупрозрачные: нижние плитки больше не просвечивают.
- Кнопка «Подсказка» подсвечивает пару на 2,5 секунды (раньше одна пара была подсвечена всегда).
- Знаки 一, 二, 三 заменены на 四, 五, 六, чтобы плитки не путались. Поле по-прежнему всегда решаемо.
Шахматы
- Звуки ходов, взятий, шаха и результата стали громче (средняя громкость до +8 дБ), чтобы их было слышно поверх музыки.
Челленджи
- В списке челленджей «Best» теперь показывает лучшее из локального и серверного рекорда (раньше читался только локальный и мог быть нулём).
🧪 Проверки
npx tsc --noEmitбез ошибок,npx jest60 наборов / 351 тест (в том числе новая проверка решаемости Маджонга).- Дурак вживую: против бота на телефоне (раздача, «бито», добор), онлайн на двух клиентах с локальной базой (раздача 12 карт, «взять», добор, счётчики сходятся, зависших карт нет).
- Маджонг вживую на телефоне: подсказка, ход, открытие нижних плиток.
- Не проверено вживую: «бито» онлайн (тот же код, что против бота), звуки шахмат на устройстве, «Best» на аккаунте с серверными очками.
🚀 Развёртывание
Миграций нет. runtimeVersion остаётся 2.0.2: нативных модулей не добавлено, поэтому установленные 2.0.2 могут получить эти правки и «по воздуху» (GitHub → Actions → EAS Update), без установки APK.
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → app_config.android_version. В Google Play: новый выпуск в «Закрытое тестирование – Alpha» (blockerino-2.0.3.aab).
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.3.apk | 53985758 | 2e1e37b6ee777c6f2191301f0af6c462dc680cc92aab9dff40e22491761bc420 |
| blockerino-2.0.3.aab | 73279512 | 76e19ecf0b1b2817b68c9130d977f42c815af56ab9f805fc39a35f1b7e246e26 |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
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 подписан отладочным ключом.
Blockerino 2.0.1 — Android
Blockerino 2.0.1
Шахматы как на chess.com: контроль времени с часами, рейтинг Elo, боты с характером, вызовы друзей и поиск соперника. Новые ежедневные задания.
Это обновление внутри линейки 2.0. Нативных изменений нет, runtimeVersion остаётся 2.0.0, поэтому установленные 2.0.0 могут получить JS-часть и по воздуху.
📥 Скачать
- APK:
blockerino-2.0.1.apk· сборка 13 - AAB:
blockerino-2.0.1.aab· сборка 13 (для Google Play Console)
Размеры и SHA-256: см. раздел «Артефакты» ниже.
🎮 Что нового
Шахматы
- Контроль времени: пуля, блиц, рапид, выбор «Время» с раскрывающейся панелью и своим временем (ползунки минут и добавки).
- Часы, сдача, ничья, отмена партии, выбор фигуры при превращении, PGN.
- Рейтинг Elo по классам (пуля / блиц / рапид), старт 1000, хранится на сервере.
- Боты с фиксированным Elo и адаптивный Echo, пиксельные лица, новые боты открываются победами.
- Вызов друга и поиск случайного соперника по рейтингу; Quick Match также в Versus 1v1.
- Меню в стиле chess.com, пиксельные иконки, плавное движение фигур с подсветкой шаха, синтезированные звуки (ходы, взятия, шах, рокировка, превращение, результат, тик при малом времени).
Остальное
- Ежедневные задания: пул из 28 видов, меняются каждый день.
- «Другие игры»: первыми идут шахматы и Дурак.
- Ссылка на GitHub в «О игре».
- Название в магазине: Blockerino: Pixel Duels.
🧪 Проверки
npx tsc --noEmitбез ошибок,npx jest58 наборов / 345 тестов.npm run db:check: все SQL-тесты PASS (включая chess_ratings, chess_matchmaking, chess_friend_ratings, daily_quests).npm run e2e:chess-rpc: серверные проверки пройдены.- Не проверено вживую: игра двух устройств через поиск/вызов, звуки на телефоне, миграции на боевой базе.
🚀 Развёртывание
Миграции (применятся пушем в main):
20261028100000_daily_quest_pool.sql20261029100000_chess_ratings.sql20261029110000_chess_matchmaking.sql20261029120000_chess_friend_ratings.sql
Порядок по docs/release-process.md: релиз на GitHub → «релиз сделал» → пуш в main → app_config.android_version.
📦 Артефакты
| Файл | Размер, байт | SHA-256 |
|---|---|---|
| blockerino-2.0.1.apk | 53549031 | 16a2b7afcf43c7c31363cf52e4e0c3c2674ed4b359646e3d6cd5a58f18792acc |
| blockerino-2.0.1.aab | 72867895 | bd104b06b609e122ea6282b92ebb2994d216f0396b726e8ab354adb4d2bfc6be |
AAB подписан ключом загрузки, APK подписан отладочным ключом.
Blockerino 2.0.0 — Android
Blockerino 2.0.0
Профили игроков, приглашения в 1v1 по пушу, новые челленджи Rescue и Combo Trial, переработанное лобби Versus, карточка результата, удаление аккаунта, обновления «по воздуху» и сборка для Google Play.
📥 Скачать
Артефакты собраны (версия 2.0.0, сборка 12) и должны быть выложены в GitHub Releases как v2.0.0:
- Скачать Blockerino 2.0.0 для Android (APK) · APK · 50,9 МиБ · сборка 12
- Скачать Blockerino 2.0.0 Android App Bundle (AAB) · AAB · 69,4 МиБ · сборка 12 (для Google Play Console)
🎮 Что нового
Игра
- Rescue: старт с забитого поля (28–34 блока), без готовых линий. Полная очистка поля даёт +300.
- Combo Trial: очки за линии ×2, но цепочка рвётся уже после двух ходов без очистки.
- У обоих режимов есть общий рейтинг во вкладке «Рейтинг» челленджей. Заглушек «Скоро» больше нет.
- Уведомление о достижении больше не перекрывает окно ежедневной награды: тосты ждут, пока оно закроется.
Versus 1v1
- Новое лобби: карточка игрока (аватар, лига, Elo, кнопка «ТОП»), ввод кода комнаты в одну строку, полоса «Друзья» с зелёной точкой онлайн и кнопкой «Позвать». Тап по карточке открывает «Мой рейтинг».
- Приглашения: выбор Classic или Chaos перед отправкой; друг получает пуш, даже если приложение закрыто (приглашение живёт 3 минуты) или всплывающее окно, если оно открыто.
- Друзья онлайн отмечены зелёной точкой и в списке друзей.
Профили и друзья
- Профиль игрока: рекорды по режимам, записи против людей и ботов по всем играм, три самых редких достижения, награды за топ.
- Приватность: кто видит ваш профиль: все, друзья или никто.
- Рекорды по играм синхронизируются между устройствами.
- Карточка результата: кнопка «Поделиться» после игры.
Аккаунт и «Другие игры»
- Экран «Другие игры»: блок аккаунта свёрнут в одну строку (ник, «Войти»), игры стали выше.
- Удаление аккаунта в профиле и на странице
/delete-account(требование Google Play). - Политика конфиденциальности и условия обновлены; переключатель аналитики называется «Помогать улучшать игру».
Платформа
- Discord Activity: Rich Presence с режимом и экраном игры.
- Обновления по воздуху (OTA): приложение спрашивает у Expo новый JS-пакет для своей
runtimeVersion(2.0.0). Публикация только вручную, см.docs/release-process.md. - Сайт: заголовки и описание страниц, превью для соцсетей,
sitemap.xml,robots.txt. Шаблоны Issues и Discussions. - Скрыта навигационная панель Android в игре; ники на кириллице отображаются шрифтом PixelifySans.
🛠 Развёртывание (после публикации APK)
Порядок из docs/release-process.md: релиз на GitHub, затем слова «релиз сделал», затем всё ниже.
- Миграции: 17 штук, в боевой базе их ещё нет (последняя применённая:
20261020100056_season_rewards_and_grace). Пуш вmainприменяет их сам по порядку через интеграцию Supabase ↔ GitHub:20261020120024_profile_integrity.sql20261020122158_versus_elo.sql20261020140000_shop_catalog.sql20261020150000_durak_escrow.sql20261020160000_analytics_events.sql20261020170000_season_rewards_server_grant.sql20261020171000_daily_streak.sql20261020180000_notifications.sql20261020190000_realtime_publication.sql20261021100000_crash_reports.sql20261021110000_achievement_rewards.sql20261021120000_daily_quests.sql20261021130000_crash_digest.sql20261022100000_player_profiles.sql20261022110000_invites_presence.sql20261022120000_delete_account.sql20261026100000_challenge_highscores.sql
Все 17 проверены на чистой локальной базе (npm run db:check), на боевой применяются впервые. Без них клиент 2.0.0 не отправляет рекорды (функцииsubmit_high_scoreна боевой базе пока нет): рекорды ждут в офлайн-очереди и уйдут после миграций.
- Функция пушей:
supabase functions deploy send-push --project-ref ptcglecvavdvpxadqfqd(добавлен типinvite). - Cron и секрет для пушей: шаги 4–6 из
docs/push-notifications.md. - Обновить
android_versionвapp_config(только после проверки, что APK скачивается):
UPDATE public.app_config
SET value = jsonb_build_object(
'latestVersion', '2.0.0',
'latestBuildNumber', 12,
'downloadUrl', 'https://github.com/Nerdlin/blockerino/releases/download/v2.0.0/blockerino-2.0.0.apk',
'releaseNotes', 'Rescue and Combo Trial challenges, a new Versus lobby with online friends and push invites, player profiles, share cards, account deletion.',
'isMandatory', false
)
WHERE key = 'android_version';⚠️ Известные ограничения
- Пока миграции не применены, рекорды всех режимов остаются в офлайн-очереди приложения и уходят на сервер после применения (на боевой базе нет
submit_high_score). - Профили, приглашения по пушу и удаление аккаунта работают только у клиентов 2.0.0 и новее и только после миграций 14–16.
- Google Play: личный аккаунт, нужен закрытый тест (12 тестировщиков, 14 дней); публикация в магазине не входит в этот релиз.
- APK подписан отладочным ключом (как 1.0.6–1.0.10), поэтому ставится поверх 1.0.10. AAB подписан отдельным ключом загрузки (
blockerino-upload.jks, хранится вне репозитория, нужна резервная копия). - Уведомления Firebase для
com.nerdlin.blockerinoнастроены; реальная доставка пуша проверена на тестовом устройстве.
✅ Проверки
- TypeScript:
npx tsc --noEmit— 0 ошибок. - Тесты:
npx jest— 48 наборов, 272 теста успешно. - SQL:
npm run db:check— все 40 миграций применяются на чистой базе, 14 проверочных файлов проходят (в том числеchallenge_highscores.sql). - E2E (два игрока, локальная база): 12 из 12 сценариев (крестики-нолики, шахматы, морской бой, дурак, боты, квесты, профили, приглашения, удаление аккаунта).
- В APK встроен боевой адрес Supabase и нет локального.
Технические сведения
-
Версия: 2.0.0 · Номер сборки: 12 (
versionCode 12). -
runtimeVersion: 2.0.0.
-
Архитектуры: universal (arm64-v8a, armeabi-v7a, x86, x86_64).
-
Размер APK: 53 365 447 байт.
-
Размер AAB: 72 742 265 байт.
SHA-256 контрольные суммы:
APK: 1C7DD17874656F7B6D3DC931651AA8861294364CA30D97CCC0F6F6BA2BE21A0F
AAB: 420674E59AA183690DAFACEF18BD6BA56C1E159500C226D98F7A3DA694B11F79
Отпечаток ключа загрузки (AAB): DA:E7:84:66:E1:00:BC:DD:E6:40:F8:4E:39:8A:BD:CD:18:47:C3:73:18:1C:99:EC:D3:6D:60:66:D4:73:7B:BC.
Blockerino 1.0.10 — Android
Blockerino 1.0.10
Награды и итоги сезонов, титулы в профиле, уведомление о сбросе рейтинга Versus, исправление стола в Durak на телефонах.
📥 Скачать
Артефакты собраны (версия 1.0.10, сборка 11) и должны быть выложены в GitHub Releases как v1.0.10:
- Скачать Blockerino 1.0.10 для Android (APK) · APK · 50,0 МиБ · сборка 11
- Скачать Blockerino 1.0.10 Android App Bundle (AAB) · AAB · 68,7 МиБ · сборка 11 (для Google Play Console)
🎮 Что нового и исправлено
Сезоны
- Итоги сезона: в рекордах появилась кнопка «Итоги прошлого сезона» с финальным топ-10 по Classic, Chaos и Versus.
- Награды за топ-10: монеты за место (1-е: 1000, 2-е: 700, 3-е: 500, 4–5-е: 300, 6–10-е: 150, за каждый рейтинг отдельно). Призёры (1–3 места) получают эксклюзивный фон: золотой, серебряный или бронзовый. В магазине эти фоны не продаются.
- Окно наград: после закрытия сезона в главном меню один раз показывается, что получено. Награда не теряется, даже если приложение закрыли до зачисления.
- Титулы: прошлые места в топ-10 остаются в профиле навсегда («Чемпион · Classic · 2026-09»).
- Сброс рейтинга Versus больше не молчит: окно показывает «Рейтинг Versus: 1200 → 600». В конце каждого сезона рейтинг делится пополам.
- Последний вечер месяца не теряется: результат, отправленный после полуночи 1-го числа (например, из офлайн-очереди), засчитывается в старый сезон. Закрытие сезона перенесено на 2-е число в 00:05 UTC.
Durak
- Стол помещается на экране телефона, карты перетаскиваются на iOS (сборка веба, вошла в этот релиз).
✅ Проверки
- TypeScript:
npx tsc --noEmit— 0 ошибок. - Тесты:
npx jest— 26 наборов, 145 тестов успешно. - SQL:
close_season(),submit_season_score()(окно ожидания) иclaim_season_rewards()проверены на тестовых данных внутри откаченной транзакции.
Технические сведения
-
Версия: 1.0.10 · Номер сборки: 11 (
versionCode 11). -
runtimeVersion: 1.0.10.
-
Архитектуры: universal (arm64-v8a, armeabi-v7a, x86, x86_64).
-
Размер APK: 52 478 508 байт.
-
Размер AAB: 72 014 302 байт.
SHA-256 контрольные суммы:
APK: 9EB0176F372278F717431393EAC7646CA657576892967205AEFFC6F74B362FF4
AAB: E629DED90B55FC239D0CD07D75B26E4CF9A6BA090E1C54D1344DA445F54F110E