feat: добавить Telegram Mini App dashboard как мобильную копию Web Dashboard #17

Closed
opened 2026-04-28 09:34:17 +03:00 by Toutsu · 1 comment
Owner

Контекст

Лендинг обещает Web Dashboard, а в roadmap для v1 Mini App нужен как мобильный dashboard внутри Telegram.

Scope

  • Открытие Mini App из Telegram-бота через menu button/deep link.
  • Проверка Telegram WebApp initData на сервере и привязка к текущим правам owner/co-GM.
  • Мобильные экраны для списка batch-сессий, карточки сессии, редактирования, очереди/waitlist и доступных bulk-операций.
  • Все изменения идут через существующие application/domain сервисы и синхронизируют сообщения расписания в Telegram.

Acceptance criteria

  • Owner/co-GM может открыть Mini App из Telegram и управлять своими группами.
  • Неавторизованный пользователь не видит чужие группы/сессии.
  • Изменения из Mini App отражаются в Web Dashboard и Telegram-сообщениях.
  • Обычный Web Dashboard продолжает работать без регрессий.
## Контекст Лендинг обещает Web Dashboard, а в roadmap для v1 Mini App нужен как мобильный dashboard внутри Telegram. ## Scope - Открытие Mini App из Telegram-бота через menu button/deep link. - Проверка Telegram WebApp `initData` на сервере и привязка к текущим правам owner/co-GM. - Мобильные экраны для списка batch-сессий, карточки сессии, редактирования, очереди/waitlist и доступных bulk-операций. - Все изменения идут через существующие application/domain сервисы и синхронизируют сообщения расписания в Telegram. ## Acceptance criteria - Owner/co-GM может открыть Mini App из Telegram и управлять своими группами. - Неавторизованный пользователь не видит чужие группы/сессии. - Изменения из Mini App отражаются в Web Dashboard и Telegram-сообщениях. - Обычный Web Dashboard продолжает работать без регрессий.
Toutsu added this to the Версия 1.0 — Telegram Bot + Mini App Dashboard milestone 2026-04-28 09:34:17 +03:00
Author
Owner

Выполнено в 41f2ea6.

Что вошло:

  • добавлен Telegram Mini App вход /miniapp с серверной проверкой WebApp initData через /auth/telegram-webapp;
  • Mini App переиспользует существующий Web Dashboard и AuthorizedSessionService, поэтому owner/co-GM видят только свои группы;
  • /start получил кнопку Открыть dashboard, а бот на старте настраивает Telegram menu button при наличии Telegram:MiniAppUrl;
  • обновлены версии до 1.9.0, README, .env.example, compose/deploy config и wiki;
  • добавлены regression-тесты для WebApp auth, Mini App route, JS bridge и bot entry points.

Проверки:

  • dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --collect:"XPlat Code Coverage" — passed, 77 tests;
  • dotnet build GM-Relay.slnx -c Release — passed, 0 warnings;
  • browser smoke /miniapp на локальном Web — fallback рендерится без console errors;
  • Gitea Actions run #48 — success.
Выполнено в `41f2ea6`. Что вошло: - добавлен Telegram Mini App вход `/miniapp` с серверной проверкой WebApp `initData` через `/auth/telegram-webapp`; - Mini App переиспользует существующий Web Dashboard и `AuthorizedSessionService`, поэтому owner/co-GM видят только свои группы; - `/start` получил кнопку `Открыть dashboard`, а бот на старте настраивает Telegram menu button при наличии `Telegram:MiniAppUrl`; - обновлены версии до `1.9.0`, README, `.env.example`, compose/deploy config и wiki; - добавлены regression-тесты для WebApp auth, Mini App route, JS bridge и bot entry points. Проверки: - `dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj --collect:"XPlat Code Coverage"` — passed, 77 tests; - `dotnet build GM-Relay.slnx -c Release` — passed, 0 warnings; - browser smoke `/miniapp` на локальном Web — fallback рендерится без console errors; - Gitea Actions run #48 — success.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Toutsu/GmRelayBot#17