• v3.9.7 2241568bac

    Release v3.9.7 — Игра не создавалась после «♾ Без лимита»
    Deploy Telegram Bot / build-and-push (push) Successful in 8m41s
    Deploy Telegram Bot / scan-images (push) Successful in 3m0s
    Deploy Telegram Bot / deploy (push) Successful in 1m10s
    Stable

    Toutsu released this 2026-06-09 14:03:57 +03:00 | 7 commits to main since this release

    🔧 Patch 3.9.7 — Игра не создавалась после «♾ Без лимита»

    После восстановления long-polling в 3.9.6 выяснилось, что путь ♾ Без лимита (который устанавливает MaxPlayers = null в GameCreationWizard.ApplyCapacityChoice("no_limit")) блокировался валидацией в CreateSessionHandler.IsComplete с сообщением ❌ Не заполнены поля: лимит мест. Игра не создавалась.

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

    • src/GmRelay.Bot/Features/Sessions/CreateSession/CreateSessionHandler.cs — убран блокирующий null-check для Single.MaxPlayers в IsComplete. null означает "без лимита" и теперь корректно проходит валидацию в BuildCommands и попадает в CreateSessionCommand.MaxPlayers = null (который shared handler уже умеет обрабатывать).
    • tests/GmRelay.Bot.Tests/Features/Sessions/CreateSession/Wizard/CreateSessionHandlerSubmitValidationTests.cs — добавлен regression-тест SubmitDraftAsync_SingleWithNoLimit_DoesNotReportMaxPlayersAsMissing, который проверяет, что путь no_limit НЕ редактирует wizard message с missing-fields.
    • Синхронизированы версии: Directory.Build.props, NavMenu.razor, compose.yaml (bot/discord/web), deploy.yml → 3.9.7.

    🗡 Что это даёт

    • Игры с ♾ Без лимита теперь корректно создаются после ✅ Создать.
    • Тот же путь с явным числом (например, 4) тоже работает — он никогда не ломался.
    • Другие missing-fields проверки (Title, System, Duration, Visibility, ScheduledAt, Slots) сохранены.

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

    • версия обновлена до 3.9.7
    • Docker-образы используют тег 3.9.7
    • Gitea Actions run #310 (PR checks) — success
    • Gitea Actions run #312 (deploy) — success

    🔍 Почему заметили только сейчас

    Баг существовал с 3.9.3 (когда добавили кнопку ♾ Без лимита), но 3.9.4 и 3.9.5 не доходили до SubmitDraftAsync из-за libgssapi-krb5.so.2. Только после 3.9.6 бот стал доходить до IsComplete — и баг проявился.

    Downloads