-
released this
2026-05-06 12:32:47 +03:00 | 332 commits to main since this release🏗 1.10.0 — Platform-neutral рендеринг расписаний
Этот minor-релиз — архитектурный рефакторинг: рендеринг расписаний из Shared вынесен в platform-specific adapters, готовя кодовую базу к Discord MVP.
✅ Решённые issues
- #22 — вынести platform-agnostic рендеринг из SessionBatchRenderer
🧩 Что вошло в релиз
SessionBatchViewModel+SessionBatchViewBuilderвGmRelay.Shared.Rendering— platform-neutral view model без зависимости от Telegram.BotTelegramSessionBatchRendererвGmRelay.BotиGmRelay.Web— рендерит HTML + InlineKeyboardMarkup из view modelDiscordSessionBatchRenderer— заглушка в Shared для будущего Discord MVP (#26)Telegram.Botпакет полностью убран изGmRelay.Shared.csprojBatchMessageEditorперенесён из Shared в Bot и Web (с комментарием// NOTE: duplicatedдля последующего refactoring)- Все вызовы обновлены: 7 handler-ов в Bot + 3 места в Web
SessionService - Старый
SessionBatchRendererи его тесты удалены - Новые тесты:
SessionBatchViewBuilderTestsиTelegramSessionBatchRendererTestsс parity-проверкой - ADR-002 добавлен: Platform-neutral batch rendering decision record
- Wiki обновлена: раздел «Архитектура» отражает новый rendering pipeline
🛡 Что это даёт
- Shared-слой больше не зависит от Telegram-типов — шаг к мультиплатформенности
- Чистая архитектура: сборка данных (view model) отделена от их отрисовки (renderer)
- Легче добавить Discord-рендерер: достаточно реализовать интерфейс renderer'а
- Нет breaking changes для API Telegram-бота и Web Dashboard
📦 Версия и деплой
- версия проекта обновлена до 1.10.0 в
Directory.Build.props,compose.yaml, README, Web UI badge и Gitea Actions workflow - Docker-образы и deploy-конфигурация используют тег 1.10.0
- локально пройдены
dotnet test tests/GmRelay.Bot.Tests/GmRelay.Bot.Tests.csproj— 95 passed, 0 failed - локально пройден
dotnet build GM-Relay.slnx -c Release— 0 warnings, 0 errors - Gitea Actions run #123 успешно собрал, опубликовал и задеплоил bot/web образы
Downloads