v3.4.7
Changelog 3.4.6 → 3.4.7:
Summary
Мультивалютные тарифы с фильтрацией провайдеров по валюте (если хотите принимать оплату не в рублях), безопасный dry-run режим записи в Remnawave Panel (дле dev и тестов перед миграцией), анонимная opt-out телеметрия установок, улучшение интерфейса управления пользователями в админке, а также набор фиксов каналов, deeplink-шлюза, top-up трафика и локализации писем.
Changelog
- Добавлены мультивалютные тарифы: JSON-каталог поддерживает
default_currency(usd,eur,usdtи др.) с generic-полями цен и пакетов, legacy*_rub-поля остаются алиасами. Платёжные методы фильтруются по поддерживаемым провайдером валютам, а раздел Система → Тарифы показывает матрицу «метод/сервис/доступность» для текущей валюты. - Добавлен dry-run режим записи в Remnawave Panel:
PANEL_WRITE_MODE=dry_run/autoиAPP_RUNTIME_MODEпозволяют читать живую панель, но только валидировать и логировать мутации пользователей ([PANEL DRY-RUN OK] would PATCH ...); секреты и ID редактируются из логов dry-run. - Добавлена анонимная opt-out телеметрия установок: раз в сутки worker шлёт обезличенный heartbeat (версия, OS/arch, Python, язык, включённые провайдеры, диапазон числа пользователей) в формате PostHog; выключается через
TELEMETRY_ENABLEDили тоггл Admin → System без перезапуска. - Расширено управление пользователями в админке: фильтры, сортируемые колонки, метрики списка пользователей, отображение реферальных связей в карточках и модальное окно деталей пользователя (
UserDetailModal). - Добавлен сброс права на триал из веб-админки без удаления истории пользователя (новая отметка
trial_eligibility_reset_at, миграция 0033). - Добавлена цель рассылки «истёкшие подписки» (expired subscription broadcast target).
- Добавлен выбор языка на экране входа и восстановлен селектор языка в мобильной админке.
- Добавлен аудит исходящих уведомлений пользователям (
message_audit) — фиксация фактических отправок ботом. - Обновлены письма: локализация support-шаблонов, рендер email-превью из шаблонов, demo-секция превью в документации и отвязка генерации превью от зависимостей бота.
- Исправлены платежи и трафик: согласованы потоки top-up трафика и unlimited-оверрайды; запуск миграций после восстановления БД; восстановлены экраны ввода email-кода (pending email code).
- Исправлены проверки обязательного канала: нормализация
REQUIRED_CHANNEL_ID(приведение к-100…) и устойчивое распознавание ошибок доступа к каналу. - Исправлен UX мобильного клиента: deeplink-шлюз остаётся открытым во время prompt запуска приложения; увеличена кнопка продления.
- Обновлён CI: dev-образы тегируются только как
dev(убраны per-commit тегиdev-<sha>). - Расширены тесты: мультивалютные тарифы, телеметрия, dry-run панели, метрики/гранты/сброс триала в админке, аудит сообщений, нормализация канала, реестр платёжных провайдеров.
Notes
- Есть изменение схемы БД: миграция
0033_add_trial_eligibility_reset_marker(колонкаusers.trial_eligibility_reset_at), применяется автоматически. - Новые переменные окружения:
TELEMETRY_ENABLED,TELEMETRY_ENDPOINT,TELEMETRY_API_KEY,TELEMETRY_INTERVAL_HOURS;APP_RUNTIME_MODE,PANEL_WRITE_MODE,PANEL_DRY_RUN_VALIDATE_REMOTE,PANEL_DRY_RUN_SYNTHETIC_CREATE. Для кастомных валют у Heleket/Platega/SeverPay держите в актуальном состоянии*_SUPPORTED_CURRENCIES. - Телеметрия включена по умолчанию (opt-out): отключается
TELEMETRY_ENABLED=False, пустым endpoint/ключом или тогглом в админке. Персональные данные и секреты не отправляются.
What's Changed
- Feature/multicurrency by @3252a8 in #18
- Feature/telemetry by @3252a8 in #19
- Enhance admin users and subscription workflows by @3252a8 in #20
- Improve admin UX, trial reset behavior, and channel subscription checks by @3252a8 in #21
- Multicurrency (future-proof feature), panel dry-run mode (dev feature), install telemetry and admin user tools by @3252a8 in #22
Full Changelog: v3.4.6...v3.4.7