• v1.3.0 5f3516e703

    Release 1.3.0: самостоятельная отмена записи игроком
    Deploy Telegram Bot / build-and-push (push) Successful in 1m7s
    Deploy Telegram Bot / deploy (push) Successful in 13s
    Stable

    Toutsu released this 2026-04-27 09:03:35 +03:00 | 5 commits to main since this release

    🚀 Этап 3 — Базовый продуктовый рост

    Этот релиз продолжает этап «Этап 3 — Базовый продуктовый рост»: игроки теперь могут самостоятельно снять запись с сессии прямо из Telegram-сообщения расписания. Бот корректно убирает игрока из основного состава или листа ожидания, обновляет batch-сообщение и автоматически отдаёт освободившееся место первому ожидающему.

    Закрытые issues

    • #8 — feat: позволить игроку самостоятельно отменять запись на сессию: добавлена кнопка выхода из сессии, удаление записи игрока, обновление состава/очереди и автоматическое повышение из waitlist при освобождении места.

    🧩 Что вошло в релиз

    • у каждой активной сессии появилась кнопка 🚪 Выйти, доступная игрокам в исходном сообщении расписания;
    • добавлен LeaveSessionHandler, который проверяет запись игрока по Telegram ID и удаляет его из session_participants;
    • если активный игрок освобождает место и в листе ожидания есть участники, бот автоматически переводит первого ожидающего в основной состав;
    • batch-сообщение перерисовывается после выхода, чтобы основной состав, занятые места и очередь оставались актуальными;
    • callback-routing получил leave_session:<sessionId>, а DI-регистрация обновлена для Native AOT-friendly маршрутизации;
    • добавлены тесты для кнопки выхода в SessionBatchRenderer и правила автоповышения после выхода участника;
    • README, Web-версия, Docker Compose, deploy workflow и wiki обновлены под 1.3.0;
    • Gitea Actions workflow адаптирован под registry после обновления Gitea 1.26: публикация образов выполняется через обычные docker build / docker push шаги.

    🛡 Что это даёт

    • игрок может освободить место без участия GM;
    • GM больше не нужно вручную чистить основной состав или очередь при отказах до игры;
    • waitlist становится живой очередью: освободившееся место сразу получает первый ожидающий;
    • Telegram-сообщение расписания остаётся единым источником актуального состава.

    📦 Версия и деплой

    • версия проекта обновлена до 1.3.0 в Directory.Build.props, compose.yaml, README, Web UI, wiki и Gitea Actions workflow;
    • Docker-образы и deploy-конфигурация используют тег 1.3.0;
    • локально пройдены dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --collect:"XPlat Code Coverage" и dotnet build GM-Relay.slnx -c Release;
    • Gitea Actions run #39 успешно собрал, опубликовал и задеплоил bot/web образы.
    Downloads