• v2.0.1 df01aa9f3e

    Release v2.0.1 — Platform messenger contracts
    Deploy Telegram Bot / build-and-push (push) Successful in 6m52s
    Deploy Telegram Bot / scan-images (push) Successful in 3m37s
    Deploy Telegram Bot / deploy (push) Successful in 19s
    Stable

    Toutsu 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.md2.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.

    📦 Версия и деплой

    • версия обновлена до 2.0.1
    • Docker-образы используют тег 2.0.1
    • Gitea Actions run #186 (PR #80 checks) — success
    • Gitea Actions run #187 (deploy main) — success
    • Merge commit: df01aa9f3e5f6dd17a5232e78d1d74183e53e10e
    Downloads