-
released this
2026-05-15 19:00:03 +03:00 | 245 commits to main since this release🔧 Patch 2.0.1 — Platform messenger contracts
Релиз закрывает issue #24: в shared-слое появились платформенно-нейтральные контракты для пользователей, групп и отправки сообщений, а Telegram-поток переведён на adapter без изменения поведения.
✅ Решённые issues
- #24 — refactor: ввести
PlatformKind,PlatformUser,PlatformGroupиIPlatformMessenger
🧩 Что вошло в релиз
src/GmRelay.Shared/Platform— добавленыPlatformKind,PlatformUser,PlatformGroup,PlatformMessageRef,PlatformScheduleMessage,PlatformPrivateMessage,PlatformInteractionReply,PlatformCalendarFileиIPlatformMessenger.src/GmRelay.Bot/Infrastructure/Telegram/TelegramPlatformMessenger.cs— Telegram adapter для schedule create/update, group/private messages, callback answers и calendar files.src/GmRelay.Bot/Infrastructure/Telegram/TelegramPlatformIds.cs— конвертация Telegram chat/user/message identifiers в neutral platform records.- Session flows Join/Leave/Cancel/Promote/Reschedule/Calendar — outbound Telegram work переведён на
IPlatformMessengerтам, где это покрывает новый контракт. TelegramPlatformMessenger.UpdateScheduleAsync— добавлена валидация platform и group/thread identity для existing message reference перед редактированием.tests/GmRelay.Bot.Tests/Platform/PlatformContractsTests.cs,TelegramPlatformMessengerSourceTests.cs,TelegramPlatformMessengerTests.cs— TDD coverage для neutral contracts, adapter wiring и schedule-update target validation.- Синхронизированы версии:
Directory.Build.props,NavMenu.razor,compose.yaml,.gitea/workflows/deploy.yml,README.md→2.0.1.
🗡 Что это даёт
- DiscordBot и будущие adapters могут ссылаться на shared messaging contract без зависимости от Telegram assemblies.
- Telegram-specific отправка и редактирование расписаний сконцентрированы в одном adapter-е.
- Существующее Telegram-поведение сохранено: HTML parse mode, callback answers, forum topic/thread routing, batch schedule edits, private notifications и calendar export.
- Контракт обновления расписания защищён от случайного редактирования не того chat/thread/message.
📦 Версия и деплой
Downloads
- #24 — refactor: ввести