• v3.4.0 d81564c308

    Release v3.4.0 — Каталог игр и витрина ваншотов
    Deploy Telegram Bot / build-and-push (push) Successful in 6m52s
    Deploy Telegram Bot / scan-images (push) Successful in 3m21s
    Deploy Telegram Bot / deploy (push) Successful in 33s
    Stable

    Toutsu released this 2026-05-28 18:13:55 +03:00 | 98 commits to main since this release

    🛠 Feature 3.4.0 — Каталог игр и витрина ваншотов

    Реализован публичный каталог опубликованных игр /showcase и обновлённая карточка сессии /s/{id} с поддержкой прямой записи.

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

    • src/GmRelay.Bot/Migrations/V027__add_showcase_fields.sql — добавлены поля is_one_shot, system, description, cover_image_url, duration_minutes, format, allow_direct_registration в таблицу sessions + partial index для каталога
    • src/GmRelay.Shared/Domain/GameSystem.cs — enum с 21 TTRPG-системой + Other, методы ToDisplayName() и TryParseFuzzy()
    • src/GmRelay.Shared/Features/Showcase/ShowcaseSessionDto.cs, ShowcaseFilter.cs — DTO для каталога и фильтров
    • src/GmRelay.Web/Components/Pages/Showcase.razor — страница /showcase с фильтрами по дате, системе, наличию мест и формату, пагинацией и карточками
    • src/GmRelay.Web/Components/Pages/PublicSession.razor — обновлённая публичная карточка с обложкой, бейджами, описанием, длительностью и поддержкой ?register=1 для прямой записи
    • src/GmRelay.Web/Services/SessionService.csGetShowcaseSessionsAsync с динамическим SQL и LATERAL join; RegisterFromShowcaseAsync с FOR UPDATE и ON CONFLICT
    • src/GmRelay.Shared/Features/Sessions/CreateSession/CreateSessionCommand.cs — новые поля при создании сессии
    • src/GmRelay.Shared/Features/Sessions/CreateSession/CreateSessionHandler.cs — сохранение новых полей + cover_image_url
    • tests/GmRelay.Bot.Tests/Domain/GameSystemTests.cs — тесты для fuzzy matching
    • tests/GmRelay.Bot.Tests/Features/Sessions/CreateSession/SessionCapacityRulesTests.cs — boundary тесты для waitlist
    • Синхронизированы версии: Directory.Build.props, NavMenu.razor, compose.yaml, deploy.yml, README.md → 3.4.0

    🗡 Что это даёт

    • Пользователи могут находить опубликованные игры через /showcase без доступа к приватному dashboard
    • ГМы могут публиковать игры с детальным описанием, системой, форматом и обложкой
    • Включена прямая запись на игры (allow_direct_registration) с соблюдением лимитов мест и waitlist
    • Owner/co-GM контролируют, что попадает в витрину через флаги публикации

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

    • версия обновлена до 3.4.0
    • Docker-образы используют тег 3.4.0
    • Gitea Actions run #275 (PR checks) — success
    • Gitea Actions run #276 (PR checks after fix) — success
    • Gitea Actions run #277 (deploy) — success
    Downloads