• v1.5.0 a8f2b10956

    Release 1.5.0: персональные уведомления игрокам
    Deploy Telegram Bot / build-and-push (push) Successful in 3m36s
    Deploy Telegram Bot / deploy (push) Successful in 11s
    Stable

    Toutsu released this 2026-04-27 10:12:17 +03:00 | 2 commits to main since this release

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

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

    Закрытые issues

    • #12 — feat: отправлять персональные уведомления игрокам в личные сообщения: добавлены DM-уведомления для RSVP за 24 часа, напоминания примерно за 1 час, ссылки перед стартом, отмены и переноса сессии; для batch доступен выбор режима В группе и в личку или Только в группе.

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

    • добавлена доменная модель SessionNotificationMode с режимами GroupAndDirect и GroupOnly;
    • база данных расширена миграцией V007__add_session_notification_mode.sql: у сессий появился notification_mode, а T-1h reminder получил защиту от повторной обработки через one_hour_reminder_processed_at;
    • SessionSchedulerService теперь обрабатывает отдельный T-1h trigger для персональных напоминаний;
    • RSVP за 24 часа по-прежнему публикуется в группе, но при GroupAndDirect игроки получают личный DM с напоминанием подтвердиться в групповом сообщении;
    • ссылка перед игрой остаётся в группе и дополнительно отправляется подтверждённым игрокам в ЛС;
    • отмена и перенос сессии отправляют персональные уведомления активным игрокам, не ломая групповые сообщения и перерисовку batch;
    • добавлен graceful fallback: если Telegram не позволяет написать конкретному игроку в ЛС, ошибка логируется, а отправка остальным участникам продолжается;
    • Web Dashboard получил dropdown режима уведомлений в batch bulk-блоке;
    • clone batch наследует режим уведомлений исходной пачки;
    • README и wiki обновлены под 1.5.0 и новый сценарий личных уведомлений.

    🛡 Что это даёт

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

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

    • версия проекта обновлена до 1.5.0 в Directory.Build.props, compose.yaml, README, Web design system, wiki и Gitea Actions workflow;
    • Docker-образы и deploy-конфигурация используют тег 1.5.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 #42 успешно собрал, опубликовал и задеплоил bot/web образы.
    Downloads