• v2.8.0 eb9a159dbb

    Release v2.8.0 — Discord OAuth и платформонезависимый Web Dashboard
    Deploy Telegram Bot / build-and-push (push) Successful in 4m36s
    Deploy Telegram Bot / scan-images (push) Successful in 1m22s
    Deploy Telegram Bot / deploy (push) Successful in 26s
    Stable

    Toutsu released this 2026-05-25 12:22:17 +03:00 | 169 commits to main since this release

    🛠 Patch 2.8.0 — Discord OAuth и платформонезависимый Web Dashboard

    Реализован Discord OAuth 2.0 login flow для Web Dashboard (issue #34) и рефакторен слой авторизации на платформонезависимую модель. Discord- и Telegram-аккаунты полностью разделены — никакой связи между ними.

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

    • src/GmRelay.Web/Services/DiscordAuthService.cs — Discord OAuth Authorization Code Flow с identify + guilds scopes
    • src/GmRelay.Web/Program.cs — endpoints /auth/discord и /auth/discord/callback с CSRF-защитой через state-cookie
    • src/GmRelay.Web/Services/ClaimsPrincipalExtensions.cs — платформонезависимая идентификация (platform, external_user_id)
    • src/GmRelay.Web/Services/AuthorizedSessionService.cs — все методы переведены на *ForCurrentUserAsync
    • src/GmRelay.Web/Components/Pages/*.razor — Razor Pages обновлены для поддержки Discord и Telegram пользователей
    • src/GmRelay.Bot/Migrations/V019__audit_log_platform_identity.sql — миграция audit log на platform-agnostic identity
    • Синхронизированы версии: Directory.Build.props, NavMenu.razor, compose.yaml, deploy.yml → 2.8.0

    🗡 Что это даёт

    • Владельцы Discord-серверов и co-GM могут авторизоваться в Web Dashboard через Discord OAuth
    • Dashboard показывает только группы и сессии, доступные текущему пользователю, независимо от платформы
    • Telegram Login Widget продолжает работать как раньше

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

    • версия обновлена до 2.8.0
    • Docker-образы используют тег 2.8.0
    • Gitea Actions run #220 (PR checks) — success
    • Gitea Actions run #221 (PR checks after review fixes) — success
    • Gitea Actions run #222 (deploy) — success
    Downloads