Skip to content

2.7.5 — Свои логотипы платёжных способов

Choose a tag to compare

@bruhxax bruhxax released this 19 Oct 19:24
· 44 commits to main since this release

Добавлено

  • Смена логотипа платёжки в том же окне, где редактируются её название, описание и методы оплаты: Тарифы → Способы оплаты → карандаш.
  • Загрузка изображения файлом PNG, JPG или WebP до 2 МБ, либо установка HTTPS-ссылки с предпросмотром.
  • Кнопка корзины скрывает логотип, кнопка «Стандартный» возвращает исходный логотип платёжной системы.
  • Логотипы настраиваются независимо для каждой платёжки и её копий; отображаются при выборе и оформлении оплаты, включая подарки и дополнительные пакеты.

Поведение

  • «Готово» применяет изменения в черновик тарифов; затем нужно сохранить настройки. «Отмена» оставляет прежний логотип.
  • Загруженные файлы находятся в постоянном хранилище uploads и сохраняются при обновлении бота.
  • Загрузка доступна владельцу и администраторам с правом редактирования тарифов. Бот проверяет формат, размер и размеры изображения; небезопасные ссылки не сохраняются.
  • Внешние изображения загружает браузер. Если свой логотип недоступен, в оплате показывается стандартный.

Проверено

  • Тесты Go: загрузка и выдача файлов, права доступа, валидация ссылок, сохранение и независимость копий.
  • Все 302 проверки JavaScript и сборка админки.
  • Предпросмотр, скрытие и восстановление логотипа на экранах 390 и 1280 px, в кабинете и полной админке.

Основной бот на VPS не обновлялся.

Исправлено: обновление с локальными настройками

  • Кнопка обновления больше не блокирует установку только из-за локальных изменений docker-compose.yaml и Caddyfile. Обычная команда bash ./update.sh использует ту же обработку настроек.
  • Перед обновлением сохраняются закрытые резервные копии в .git/link-bot-update-backups/. Неконфликтующие изменения объединяются с новой версией; Compose проверяется до применения, синтаксис Caddyfile проверяется через работающий Caddy.
  • При конфликте или ошибке проверки рабочие файлы остаются на месте, перезапуск бота не начинается. Если Git не смог выполнить fast-forward, локальные настройки возвращаются из резервной копии.
  • .env и незарегистрированные пользовательские файлы сохраняются. Изменения исходников и подготовленные правки Git требуют ручной проверки.
  • После ручного обновления сервис Mini App перезапускается с новым кодом. Если установка запущена из самого сервиса, он не прерывает свою задачу.

Для подключения исправления к ранее установленной версии один раз выполните обычное обновление:

cd /opt/Link-Bot && bash ./update.sh

Дальше обновление доступно через Mini App с сохранением локальных настроек. Новый тег и релиз не создавались: исправление входит в 2.7.5.

Проверено: тесты Go, сборка сервиса для Linux и 10 сценариев с настоящими временными Git-репозиториями — объединение настроек, конфликты, отказ проверок, сохранение файлов, повторный запуск и перезапуск сервиса. Docker и systemd в этих сценариях заменены тестовыми командами; на основном VPS исправление не устанавливалось.

Исправление загрузки фонов

  • Исправлена загрузка файлов больше 2 МБ в Docker-образе бота: обработка больше не требует системной временной папки. Поддерживаемые изображения, GIF и видео загружаются напрямую в пределах прежнего лимита 50 МБ.
  • Ошибки чтения и повреждённого запроса больше не маскируются сообщением о превышении 50 МБ. Для фактического превышения размера возвращается отдельная ошибка.
  • Если ссылка ведёт на HTML-страницу сервиса обмена, вместо файла, показывается объяснение о необходимости прямой ссылки на изображение или видео.

Проверено: воспроизведение исходной ошибки без системной временной папки; WebM 3 733 315 байт, MP4 24 381 533 байта, GIF и PNG больше 2 МБ; граница 50 МБ, превышение лимита, повреждённые и дублирующиеся части запроса; тесты пакетов cmd, internal, utils и translations; сборка приложения для Linux/amd64.

Исправление опубликовано в текущем релизе 2.7.5, без нового тега и релиза. Для установки выполните обычное обновление:

cd /opt/Link-Bot && bash ./update.sh