• v1.9.0 41f2ea6e90

    Release 1.9.0: Telegram Mini App dashboard
    Deploy Telegram Bot / build-and-push (push) Successful in 23s
    Deploy Telegram Bot / deploy (push) Successful in 10s
    Stable

    Toutsu 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 WebApp initData, кнопка открытия dashboard из /start, default menu button при Telegram:MiniAppUrl и мобильная раскладка существующего Web Dashboard.

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

    • TelegramAuthService теперь проверяет WebApp initData по алгоритму 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 /start entry 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