github jatixs/tgbotvpscp 1.27.1

4 hours ago

Choose lang: EN English | RU Русский

[1.27.1] - 2026-10-29

🚀 Ключевое нововведение

  • 📋 Логи любых служб прямо в панели — блок «Логи» перестал быть ограничен логами бота и сервера. Теперь к нему можно подключить любую systemd‑службу или Docker‑контейнер и смотреть их журнал в реальном времени (journalctl -u для systemd, Docker API для контейнеров), с историей последних 300 строк и фильтром по уровню.
    • Управление источниками: кнопка «+» рядом с вкладками открывает окно с двумя списками — отслеживаемые службы и доступные для добавления. По умолчанию показываются только запущенные; остановленные находятся через поиск.
    • Умный поиск: понимает ввод в неверной раскладке («тпштч» → nginx) и опечатки с перестановкой букв («ngnix», «dokcer»), предлагая варианты под подсказкой «Возможно, вы имели в виду».
    • Вкладка службы: при просмотре появляется отдельный переключатель с именем службы. Крестик закрывает единственный источник; при нескольких — стрелка раскрывает компактный список для переключения и удаления. Выбор сохраняется между сессиями.
    • Безопасность: имя службы проверяется по фактическому списку установленных юнитов и контейнеров, команды собираются без shell.

⚡ Производительность

  • Инвентаризация служб на порядки быстрее. Ранее для каждой службы запускался отдельный процесс systemctl show (на типичном VPS — сотни форков на один запрос). Теперь статусы всех служб читаются двумя вызовами systemctl и одним запросом к Docker; результат кэшируется на сервере (30 с, сброс при start/stop/restart) и в браузере на время вкладки. Это ускоряет не только новое окно логов, но и список служб в Telegram‑боте.
  • Статика без перезапуска. Версия ресурсов (?v=) теперь пересчитывается по времени изменения JS/CSS, а не фиксируется при старте процесса — после обновления браузер гарантированно получает новые файлы.

🐛 Исправлено

  • Шапка пропадала при смене темы на мобильных: View Transition отключён на узких экранах — закреплённая навигация больше не исчезает на прокрученной странице.
  • Слайдер темы в режиме для слабовидящих: положение пересчитывается после переключения режима с учётом изменившихся размеров.
  • Lazy‑load при смене размера окна: наблюдатель переинициализируется при переходе desktop ↔ tablet ↔ mobile, а не только при загрузке страницы.
  • Watchdog потреблял ресурсы в простое: systemd‑юнит настраивается как событийный oneshot‑обработчик (OnFailure) до запуска бота; обновление больше не перезапускает его как постоянную службу.
  • Шум в логах при переключении источников: обрыв соединения на этапе отправки SSE‑заголовков (браузер закрывает старый EventSource раньше, чем сервер успевает ответить) больше не оставляет трейсбек ClientConnectionResetError — во всех SSE‑эндпоинтах.

✨ Интерфейс

  • Единый стиль контролов блока «Логи»: фильтр уровня и переключатели источников — одинаковой высоты и в одном визуальном стиле; заголовок сокращён до «Логи». Область вывода имеет фиксированную высоту и больше не сжимается, когда у выбранного источника мало записей.
  • Мобильная раскладка: на узких экранах контролы занимают отдельную строку на всю ширину без пустот и переносов; подписи сокращаются до «Бот»/«Сервер», длинное имя службы обрезается многоточием, на самых узких экранах у фильтра остаётся только иконка.
  • Обновление графических материалов и PWA‑галереи: актуализирована галерея скриншотов проекта в документации (assets/) — мобильный PWA‑клиент, веб‑интерфейс, адаптивные графики метрик и экраны мониторинга нод.

Full Changelog: 1.27.0...1.27.1


Don't miss a new tgbotvpscp release

NewReleases is sending notifications on new releases.