- Import and call notify_user_subscription_renewed in auto-extend flows
- Import and call notify_user_subscription_activated for new subscriptions
- Add WebSocket notifications to _auto_purchase_tariff and _auto_purchase_daily_tariff
- Add WebSocket notifications to auto_activate_subscription_after_topup
- Add notify_user_balance_topup call in payment common mixin
- Add pyproject.toml with uv and ruff configuration
- Pin Python version to 3.13 via .python-version
- Add Makefile commands: lint, format, fix
- Apply ruff formatting to entire codebase
- Remove unused imports (base64 in yookassa/simple_subscription)
- Update .gitignore for new config files
- Реализован режим SHOW_ACTIVATION_PROMPT_AFTER_TOPUP для яркого уведомления пользователей
- При пополнении баланса отправляется внимание-привлекающее сообщение с восклицательными знаками
- Динамические кнопки в зависимости от статуса подписки:
* Активная платная подписка: "🔄 Продлить" + "📱 Изменить устройства"
* Нет подписки/истекла/триал: "🔥 Активировать подписку"
- Убраны дублирующие уведомления из yookassa.py (строка 851)
- Убраны дублирующие уведомления из subscription_auto_purchase_service.py (строки 755, 918)
- Режим включается через SHOW_ACTIVATION_PROMPT_AFTER_TOPUP=true в .env
Файлы:
- app/services/payment/common.py: добавлена логика яркого промпта
- app/services/payment/yookassa.py: отключено старое уведомление для корзины
- app/services/subscription_auto_purchase_service.py: отключены 2 блока старых уведомлений
- Ежедневная ротация в 00:00 с архивацией в tar.gz
- Разделение по уровням: info.log, warning.log, error.log
- Отдельный payments.log для платежных операций
- Отправка архивов в Telegram-канал бекапов
- Автоочистка архивов старше 7 дней (настраивается)
- Переключатель LOG_ROTATION_ENABLED (по умолчанию выключен)