-
released this
2026-04-23 20:49:49 +03:00 | 14 commits to main since this release🛡 Стабилизация платформы
Этот релиз завершает первую тройку критических багфиксов из этапа «Стабилизация платформы». Исправлены проблемы безопасности доступа в Web, утечки секретов в логах и повторной обработки устаревших Telegram-апдейтов после рестарта бота.
✅ Закрытые issues
- #1 — Web Authorization: закрыта возможность читать или изменять чужие группы и сессии по прямому GUID. Доступ к данным теперь проверяется относительно текущего авторизованного GM.
- #2 — Secret Redaction: убран вывод
connection string, токена бота и других чувствительных значений из стартовых логовGmRelay.Bot. - #3 — Pending Updates / Long Polling: бот теперь корректно вычисляет стартовый
offsetпо последнему pending update и не переигрывает старые команды и callback-апдейты после перезапуска.
🧪 Что это даёт
- авторизованный пользователь больше не может открыть или изменить чужие данные в Web даже при знании идентификатора;
- секреты не утекают в консоль и агрегаторы логов;
- рестарт бота не приводит к повторной обработке старых Telegram-событий.
📦 Версия и деплой
- версия проекта обновлена до 1.1.2 в
Directory.Build.props,compose.yamlи Gitea Actions workflow; - Docker-образы и deploy-конфигурация теперь используют тег 1.1.2.
Downloads
-
released this
2026-04-21 15:49:24 +03:00 | 18 commits to main since this release🛠 Исправления (Bug Fixes)
- Telegram Login Widget: Исправлена проблема, из-за которой кнопка входа через Telegram не загружалась при навигации внутри приложения (Blazor SPA). Теперь виджет инициализируется через JS Interop, что гарантирует его появление на странице входа в любой ситуации.
Downloads
-
released this
2026-04-21 15:21:18 +03:00 | 20 commits to main since this release🎨 Новый интерфейс (Frontend Redesign)
Полностью обновлен внешний вид приложения в современном стиле Dark Mode с использованием элементов Glassmorphism:
- Дизайн-система: Внедрена гибкая система CSS-переменных, обновлена типографика (шрифт Inter) и цветовая палитра.
- Главная страница: Добавлены анимированные карточки групп, скелетная загрузка (skeleton loading) и улучшенная навигация.
- Адаптивность: Полная поддержка мобильных устройств. На узких экранах таблицы автоматически заменяются на удобные карточки.
- Эффекты: Добавлены плавные анимации появления элементов (fadeIn, slideUp) и эффекты размытия фона.
- Страницы ошибок: Стилизованы страницы 404 и 500 под общий дизайн.
🔒 Безопасность (Security Hardening)
Проведен аудит и усиление защиты приложения:
- Telegram Auth: Исправлена уязвимость к timing-атакам при проверке HMAC. Теперь используется
CryptographicOperations.FixedTimeEquals. - Cookie Security: Куки авторизации теперь используют флаги
HttpOnly,SecureиSameSite=Strict. - Security Headers: Добавлены заголовки
X-Frame-Options: DENY,X-Content-Type-Options: nosniffи политикаReferrer-Policy. - Логирование: Улучшена обработка исключений при рассылке уведомлений в Telegram.
📦 Инфраструктура
- Версия приложения обновлена до 1.1.0 во всех конфигурациях (
Directory.Build.props,compose.yaml, CI/CD пайплайн). - Оптимизирована сборка Docker-образов.
Downloads
-
released this
2026-04-20 17:02:05 +03:00 | 21 commits to main since this releaseИсправлена критическая ошибка в веб-интерфейсе при редактировании сессии.
Список изменений:
- Web Module: Исправлен баг в логике работы с часовыми поясами. Метод
MoscowTime.ToMoscow(DateTime)теперь корректно сбрасывает флагDateTimeKind.Utcпосле добавления смещения МСК (+3ч). Это предотвращает ошибку валидации .NET. - Версии: Версия проекта обновлена до 1.0.1 во всех основных файлах.
Downloads
- Web Module: Исправлен баг в логике работы с часовыми поясами. Метод
-
Release version 1.0.0
Stablereleased this
2026-04-17 17:03:25 +03:00 | 23 commits to main since this release🚀 Релиз v1.0.0: Базовый функционал и стабилизация
Это первый стабильный релиз системы GM-Relay, включающий в себя полнофункционального Telegram-бота и веб-интерфейс для управления игровыми сессиями.
✨ Новые возможности
- 🤖 Telegram Бот (Native AOT): Бот полностью оптимизирован для работы с минимальным потреблением памяти, что делает его идеальным для запуска на
слабых серверах или Raspberry Pi. - 📅 Пакетное создание сессий: Возможность планировать сразу несколько игр одним сообщением через команду /newsession.
- 🌐 Web Dashboard: Полноценная панель управления на Blazor Server с авторизацией через Telegram (HMAC валидация).
- 🇷🇺 Полная локализация: Весь интерфейс (бот и веб-панель) полностью переведен на русский язык.
- 🗓 Экспорт в календарь: Генерация .ics файлов для синхронизации расписания с Google/Apple/Yandex календарями.
- 📁 Поддержка Форумов (Topics): Автоматическое создание и управление темами в супергруппах Telegram.
🛠 Технические улучшения
- 📦 Централизованное версионирование: Внедрена система Directory.Build.props для управления версиями всех модулей из одной точки.
- 🚀 CI/CD & Docker: Настроена автоматическая сборка и деплой через Gitea Actions с поддержкой версионных тегов (:1.0.0) и :latest.
- 🐘 База данных: Внедрены автоматические миграции через DbUp.
- 🏗 Aspire Orchestration: Проект готов к локальной разработке и мониторингу через .NET Aspire.
🔧 Как обновиться
Если вы используете Docker Compose, обновите ваш compose.yaml (или подтяните изменения из git) и выполните:
1 docker compose pull
2 docker compose up -d
Полный список изменений: [сравнение с предыдущими коммитами]
Downloads
- 🤖 Telegram Бот (Native AOT): Бот полностью оптимизирован для работы с минимальным потреблением памяти, что делает его идеальным для запуска на