-
released this
2026-04-28 15:02:39 +03:00 | 355 commits to main since this release🚀 Версия 1.0 — Telegram Bot + Mini App Dashboard
Этот релиз закрывает следующую задачу этапа «Версия 1.0 — Telegram Bot + Mini App Dashboard»: dashboard теперь открывается прямо внутри Telegram как Mini App. GM получает мобильный вход из бота без отдельной копии бизнес-логики: Mini App использует те же Web Dashboard страницы, application-сервисы и модель доступа owner/co-GM.
✅ Закрытые issues
- #17 — feat: добавить Telegram Mini App dashboard как мобильную копию Web Dashboard: добавлен вход
/miniapp, серверная проверка Telegram WebAppinitData, кнопка открытия dashboard из/start, default menu button приTelegram:MiniAppUrlи мобильная раскладка существующего Web Dashboard.
🧩 Что вошло в релиз
TelegramAuthServiceтеперь проверяет WebAppinitDataпо алгоритму Telegram Mini Apps: HMAC через ключWebAppData, проверкаauth_dateи чтение Telegram user из payload;- добавлен endpoint
/auth/telegram-webapp, который выдаёт ту же cookie-сессию, что и Telegram Login Widget, поэтому Web Dashboard и Mini App используют одну auth-модель; - добавлена страница
/miniapp: внутри Telegram она вызываетTelegram.WebApp.initData, отправляет его на сервер и открывает dashboard, а в обычном браузере показывает fallback на стандартный login; - подключён
telegram-web-app.jsи компактный Mini App CSS-режим для мобильного dashboard; - мобильная навигация Web Dashboard исправлена так, чтобы header и кнопка меню были доступны на узком viewport;
/startпоказывает inline WebApp-кнопку «Открыть dashboard», если настроенTelegram:MiniAppUrl;- добавлен
TelegramMiniAppMenuButtonService, который при старте бота настраивает default Telegram menu button на Mini App URL; - Docker Compose,
.env.exampleи deploy workflow получилиTELEGRAM_MINI_APP_URL/Telegram__MiniAppUrl; - README и wiki обновлены под 1.9.0: описаны Mini App вход, BotFather menu button, deployment checklist, отсутствие новой миграции и общий auth flow;
- добавлены regression-тесты для WebApp
initData,/miniapp, JS bridge, bot/startentry point и menu button сервиса.
🛡 Что это даёт
- owner/co-GM может открыть dashboard прямо из Telegram и управлять своими группами с телефона;
- неавторизованный пользователь не получает доступ к чужим группам: после Mini App auth все операции всё равно проходят через
AuthorizedSessionService; - Mini App не расходится с Web Dashboard: редактирование сессий, waitlist, шаблоны и batch bulk-операции идут через существующие сервисы;
- изменения из Mini App сохраняют текущую синхронизацию Telegram-сообщений расписания;
- обычный Web Dashboard продолжает работать через Telegram Login Widget.
📦 Версия и деплой
- версия проекта обновлена до 1.9.0 в
Directory.Build.props,compose.yaml, README, Web design system, wiki и Gitea Actions workflow; - Docker-образы и deploy-конфигурация используют тег 1.9.0;
- локально пройдены
dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --collect:"XPlat Code Coverage"иdotnet build GM-Relay.slnx -c Release; - локально проверен
/miniappв браузере: fallback-страница рендерится без console errors; - Gitea Actions run #48 успешно собрал, опубликовал и задеплоил bot/web образы.
Downloads
- #17 — feat: добавить Telegram Mini App dashboard как мобильную копию Web Dashboard: добавлен вход