• Release v3.10.0 — Online/offline wizard locations
    Deploy Telegram Bot / build-and-push (push) Successful in 31m4s
    Deploy Telegram Bot / scan-images (push) Successful in 5m39s
    Deploy Telegram Bot / deploy (push) Successful in 1m18s
    Stable

    Toutsu released this 2026-06-10 14:51:09 +03:00 | 0 commits to main since this release

    🎯 Minor 3.10.0 — Online/offline format in /newsession wizard (issue #136)

    Telegram-мастер теперь явно выбирает формат проведения игры (Online/Offline) и указывает либо ссылку для подключения, либо адрес места проведения. Offline-адреса сохраняются в новой колонке sessions.location_address, а расписание в Telegram сразу показывает 🔗 Ссылка на игру или 📍 Адрес:. Бонус-фикс: оффлайн-сессии больше не попадают в 5-минутный join-link поток и не светят пустую строку ссылки в личке.

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

    • src/GmRelay.Shared/Features/Sessions/CreateSession/Wizard/GameCreationWizard.cs — новые шаги Format (Online/Offline) и Location (URL-валидация для онлайна, текст для оффлайна) + навигация Back для single/pool-флоу.
    • src/GmRelay.Shared/Features/Sessions/CreateSession/Wizard/WizardStepNames.cs, WizardStepLimits.cs, WizardPayload.cs, WizardStepViewBuilder.cs — новые step-константы, лимит длины адреса, payload-поля Format/JoinLink/LocationAddress, рендер превью и summary.
    • src/GmRelay.Shared/Features/Sessions/CreateSession/CreateSessionCommand.cs — поле LocationAddress (default null, не ломает существующих вызовов).
    • src/GmRelay.Shared/Features/Sessions/CreateSession/CreateSessionHandler.cs — INSERT sessions теперь сохраняет location_address и format/join_link в одной транзакции.
    • src/GmRelay.Bot/Migrations/V033__add_session_location_address.sqlALTER TABLE sessions ADD COLUMN location_address TEXT.
    • src/GmRelay.Shared/Rendering/SessionBatchDto.cs, SessionBatchViewBuilder.cs, SessionBatchViewModel.csFormat и LocationAddress протянуты в view-model.
    • src/GmRelay.Bot/Infrastructure/Telegram/TelegramSessionBatchRenderer.cs и src/GmRelay.Web/Services/TelegramSessionBatchRenderer.cs — оффлайн-адреса показываются 📍 Адрес: …, онлайн-ссылка теперь 🔗 Ссылка на игру: <url>.
    • src/GmRelay.Bot/Features/Sessions/CreateSession/CancelSessionHandler.cs, PromoteWaitlistedPlayerHandler.cs, src/GmRelay.Bot/Features/Sessions/RescheduleSession/RescheduleVotingDeadlineService.cs, src/GmRelay.DiscordBot/Features/Sessions/DiscordRescheduleVotingDeadlineService.cs, src/GmRelay.Shared/Features/Sessions/CreateSession/JoinSessionHandler.cs, LeaveSessionHandler.cs, RescheduleSession/HandleRescheduleTimeInputHandler.cs, src/GmRelay.Web/Services/SessionService.cs — все re-render-выборки теперь возвращают format AS Format, location_address AS LocationAddress, чтобы перерисованные сообщения не теряли адрес.
    • src/GmRelay.Shared/Infrastructure/Scheduling/ISessionTriggerStore.cs + src/GmRelay.Shared/Features/Reminders/SendJoinLink/SendJoinLinkHandler.cs — guard btrim(s.join_link) <> '' в триггере и хендлере, оффлайн-сессии не уходят в 5-минутный join-link поток.
    • src/GmRelay.Bot/Infrastructure/Telegram/TelegramPlatformMessenger.csBuildOneHourReminderDirectText/BuildJoinLinkDirectText используют AppendJoinLinkLine и не печатают пустую 🔗 строку без ссылки.
    • Синхронизированы версии: Directory.Build.props, NavMenu.razor, compose.yaml, .gitea/workflows/deploy.yml → 3.10.0.
    • README.md, RELEASE_NOTES.md — обновлены под новый UX.

    🗡 Что это даёт

    • Мастер прямо в /newsession указывает ссылку или адрес — игроки сразу видят, куда подключаться, без уточнений в чате.
    • Поле join_link для оффлайна остаётся пустым, поэтому напоминания и сигнал «через 5 минут» не уходят оффлайн-сессиям.

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

    • версия обновлена до 3.10.0
    • Docker-образы используют тег 3.10.0
    • Gitea Actions run #318 (PR checks) — flake на testcontainers teardown (временный сбой инфраструктуры CI, не наш код), merge выполнен по ветке через local fallback.
    • Gitea Actions run #319 (deploy) — success
    • prod: gmrelaybot-bot-1, gmrelaybot-discord-1, gmrelaybot-web-1 подняты на 3.10.0 (Up 20 minutes (healthy)).
    • Закрывает issue #136.
    • PR: #138
    Downloads