-
released this
2026-05-25 14:16:08 +03:00 | 161 commits to main since this release🚀 Major 3.0.0 — Связка Telegram и Discord identity
Реализована единая мультиплатформенная модель аккаунта: один пользователь может связать Telegram и Discord identity без дублирования игрока/мастера.
🧩 Что вошло в релиз
src/GmRelay.Bot/Migrations/V020__player_identity_links.sql— таблицыplayer_links(secondary → primary) иidentity_audit_logsrc/GmRelay.Web/Services/SessionService.cs— резолв effective player id для всех permission-методов, методыLinkIdentity/UnlinkIdentity/GetLinkedIdentitiessrc/GmRelay.Web/Program.cs— Discord callback автоматически делает linking при уже аутентифицированном пользователе, endpoints/api/me/identitiessrc/GmRelay.Web/Components/Pages/Profile.razor— страница управления связанными аккаунтамиsrc/GmRelay.Web/Components/Layout/NavMenu.razor— ссылка на профиль, версия v3.0.0- Синхронизированы версии:
Directory.Build.props,NavMenu.razor,compose.yaml,deploy.yml→ 3.0.0
🔧 Hotfix
- Исправлена загрузка профиля:
Profile.razorтеперь используетISessionStoreнапрямую вместоHttpClient(избегает 302 redirect от отсутствия cookie в Blazor Server interactive mode) - Привязка Discord через
forceLoad: trueдля обхода Blazor circuit navigation
🗡 Что это даёт
- Пользователь может управлять группами и сессиями из любой связанной платформы
- Нельзя незаметно захватить чужую identity (conflict detection + audit trail)
- Единый dashboard для всех platform identities
📦 Версия и деплой
Downloads