🎉 Релиз v2.4.3
📋 Обзор
Этот релиз содержит масштабные улучшения архитектуры бота, расширение функциональности админ-панели, оптимизацию процесса запуска и развёртывания, а также множество исправлений для повышения стабильности и удобства использования.
✨ Основные изменения
🎯 Новый раздел управления ценами в админ-панели
- Централизованное управление тарифами: Добавлен отдельный раздел «💰 Цены» в главное меню админ-панели
- Динамическое обновление: Тарифы теперь применяются мгновенно без перезапуска бота через автоматическое обновление кэша
- Улучшенная навигация: Раздел «Серверы» перемещён в главное меню для удобства доступа
- Новый обработчик: Добавлен
app/handlers/admin/pricing.pyс состояниямиPricingStates
🚀 Улучшенная система запуска
- StartupTimeline: Новый модуль
app/utils/startup_timeline.pyдля пошагового логирования запуска- Красивые рамки и иконки для каждого этапа
- Сводная таблица со всеми этапами и их статусами
- Удобная диагностика проблем при запуске
⚙️ Автоматический установщик install_bot.sh
- Полностью автоматизированная установка: Один скрипт для развёртывания всей инфраструктуры
- Интерактивное меню управления при повторном запуске:
- Мониторинг состояния контейнеров и ресурсов
- Управление сервисами (запуск, остановка, пересборка)
- Просмотр и поиск по логам
- Автоматическое обновление из Git с резервным копированием
- Создание и восстановление бэкапов
- Очистка логов, бэкапов и Docker-образов
- Помощник настройки обратного прокси Caddy
- Конфигуратор
.envс маскировкой секретов
- Проверка зависимостей: Docker, Docker Compose, Git, Bash, OpenSSL
- Сохранение состояния: Файл
.bot_install_stateдля повторных запусков
🔧 Технические улучшения
🗄️ База данных и миграции
Синхронизация последовательностей PostgreSQL:
- Новая функция
sync_postgres_sequencesдля автоматической синхронизации sequences после восстановления БД - Автоматическая коррекция значений через
setvalпри необходимости - Предотвращение ошибок с повторяющимися ключами
Улучшения CRUD операций (app/database/crud/user.py):
- Функция
_sync_users_sequenceдля автоматической синхронизацииusers_id_seq - Механизм повторных попыток создания пользователя (до 3 попыток)
- Вынесена логика создания промо-группы в
_get_or_create_default_promo_group - Улучшенное логирование операций с БД
Универсальные миграции (app/database/universal_migration.py):
- Исправлен способ получения информации о последовательностях через динамические запросы
- Повышена совместимость с разными версиями PostgreSQL
🔌 Интеграции и внешние сервисы
Remnawave API (app/services/subscription_service.py):
- Проверка конфигурации при инициализации сервиса
- Новые свойства:
is_configuredиconfiguration_error - Асинхронный контекстный менеджер
get_api_client - Работа в оффлайн-режиме при отсутствии конфигурации
MulenPay Webhook (app/external/webhook_server.py):
- Подробное логирование всех заголовков webhook
- Временно отключена проверка подписи для отладки (с предупреждением в логах)
- Расширенный список поддерживаемых заголовков подписи:
X-MulenPay-Sign,X-Mulenpay-Sign,X-MULENPAY-SIGNMulenPay-Signature,Mulenpay-Signature,MULENPAY-SIGNATUREsignature,sign
- Изменён уровень логирования на
INFOдля лучшей диагностики
📱 Мини-приложение (miniapp)
Улучшения навигации для десктопа:
- Новые функции:
isDesktopPlatform()— определение десктопной платформыgetDesktopRedirectLink()— получение альтернативной ссылки для редиректаisHappScheme(link)— проверка схемыhapp://
- Корректная обработка
happ://ссылок на десктопе: автоматический редирект на подходящую страницу - Использование переменной
targetLinkво всех способах открытия ссылок - Исправлено некорректное поведение при отсутствии
userData
🎨 Конфигурация и настройки
Рефакторинг системы настроек (app/config.py)
- Расширенные категории настроек с подробными описаниями:
CORE,SUBSCRIPTIONS_CORE,ADMIN_REPORTS,SERVER_STATUS,VERSION,MAINTENANCE,INTERFACE,TRAFFIC_PACKAGES
- Метод
format_value_humanдля человеко-читаемого отображения:- Корректное отображение булевых значений
- Числовые параметры с единицами (часы, минуты, ГБ, проценты, рубли)
- Маскировка секретных данных (пароли, токены, ключи)
- Обработка списков и словарей
- Новый словарь
SETTING_HINTSс подробными подсказками для ключевых параметров - Функция
get_setting_guidanceдля агрегированной справки по настройкам
Изменения типов переменных:
DATABASE_URL,REMNAWAVE_API_URL,REMNAWAVE_API_KEY,TRIAL_SQUAD_UUIDтеперьOptional[str]- Значения по умолчанию установлены в
Noneвместо пустой строки
Новые состояния бота
waiting_for_search_query— ожидание поискового запросаwaiting_for_import_file— ожидание файла импорта
📚 Документация
Обновлённый README
Новый раздел: Автоустановка через install_bot.sh:
- Подробное описание процесса автоматической установки
- Инструкции по работе с интерактивным меню
- Информация о сохранении состояния установки
Новый раздел: Настройка обратного прокси и доменов:
- Инструкции по выделению отдельных доменов для вебхуков и мини-приложения
- Примеры конфигураций для Caddy и nginx в Docker
- Настройка DNS и переменных окружения
- Инструкции по созданию общей Docker-сети (
bot_network) - Чек-лист для проверки корректной работы
- Примеры cURL-запросов для тестирования
Структурные изменения:
- Раздел ручного запуска перемещён ниже
- Улучшена навигация и читаемость документации
🌍 Локализация
Обновления переводов
- Добавлены десятки новых строк для раздела «Цены»
- Обновлены строки для изменённой навигации админ-панели
- Добавлены переводы для форм, ошибок и подсказок
- Поддержка русского и английского языков
🐛 Исправления
Критические исправления
- ✅ Исправлены проблемы с автоинкрементом после восстановления БД
- ✅ Устранены ошибки с повторяющимися ключами в таблице пользователей
- ✅ Исправлена некорректная привязка ключей к категориям настроек
- ✅ Исправлено поведение
happ://ссылок на десктопе
Улучшения стабильности
- Повышена устойчивость к ошибкам БД через механизм повторных попыток
- Улучшена обработка отсутствующих переменных окружения
- Корректная работа при отсутствии конфигурации внешних API
- Предотвращение ошибок при отсутствии пользовательских данных
🔄 Миграция
Для пользователей PostgreSQL
- После обновления автоматически выполнится синхронизация последовательностей
- Проверьте логи для подтверждения успешной миграции
- Рекомендуется создать резервную копию перед обновлением
Для новых установок
Используйте новый скрипт install_bot.sh для автоматического развёртывания всей инфраструктуры.
📊 Статистика изменений
- Изменено файлов: 20+
- Добавлено строк кода: 2000+
- Новых функций: 15+
- Исправлено багов: 8+
🙏 Благодарности
Спасибо всем, кто тестировал бета-версию и предоставлял фидбек!
Полный список изменений: v2.4.2...v2.4.3