Comentario 3.14.0 Hamiltonsbawn

Автор: Дмитрий Канн Чтение на 3 мин
Этот пост  на английском

Снова время для новой версии Comentario! Выпущен релиз 3.14.0 Hamiltonsbawn.

Comentario — это быстрый и мощный свободный сервер комментариев для веб-страниц, написанный на Go.

Изображение: кибермозг.
Изображение: кибермозг.

Вы можете подписаться на новости Comentario в соответствующем блоге или через RSS .

Что нового

В новой версии много внутренних изменений, проведена большая работа по рефакторингу и оптимизации кода.

Поддержка БД-транзакций

Вплоть до сегодняшнего дня Comentario выполнял все операции с базой данных «в лоб», не используя транзакций — так называемый технический долг (technical debt), ведущий свою историю с предшественника Commento.

Начиная с версии 3.14.0 каждая логическая операция выполняется в контексте отдельной транзакции. Это значит, что вся операция либо целиком подтверждается («коммитится»), либо, в случае ошибки, целиком откатывается обратно. Такой подход гарантирует целостность и непротиворечивость информации, хранимой в базе данных.

Страницы домена

Функционал страниц доменов был заметно улучшен.

Редактируемое заглавие

Отныне заглавие (title) любой страницы можно отредактировать. Это может помочь навести порядок в списке ваших страниц, особенно в ситуациях, когда заглавие нельзя извлечь автоматически — например, в одностраничных Angular- или React-приложениях.

Удаление страниц

Еще одна очевидная функция, которой не хватало, — это удаление страницы. Например, если соответствующая страница сайта больше не существует или вы хотите оптом удалить все комментарии по определённому адресу.

Страницы доменов создаются Comentario автоматически, когда кто-нибудь запрашивает новый, ещё не существующий адрес, и используются для группировки комментариев и регистрации посещений соответствующей страницы сайта.

Перемещение данных

С течением времени адреса страниц сайтов неизбежно меняются — это реальность, данная нам в ощущениях (и результатах поиска «Гуглом»). Это создаёт проблему, поскольку смена адреса (URL) страницы фактически приводит к удалению всех комментариев, написанных на ней, — точнее, все комментарии остаются по старому адресу.

Новая функция перемещения данных страницыMove data — позволяет перенести все комментарии и статистику посещений с одной страницы на другую:

Страница перемещения данных.
Страница перемещения данных.

После того, как все данные перенесены, оригинальная страница автоматически удаляется, а комментарии продолжают жить по новому адресу.

Сохранение порядка сортировки

Сортировка в списках Comentario теперь запоминается и восстанавливается при последующем их посещении. Кроме того, выбранный порядок сортировки отныне отображается на кнопке сортировки — вместо безликого Sort.

Новая кнопка сортировки.
Новая кнопка сортировки.

Прочие изменения

  • Добавлена опция командной строки --stats-max-days и соответствующий параметр статической конфигурации (#178)
  • Импорт данных: реальные емэйлы импортируемых пользователей сразу помечаются как подтверждённые
  • Добавлена настройка домена Show login dialog for unauthenticated users (#154)
  • Админка: свойства пользователя: кнопка разблокирования пользователя поставлена а ряд с остальными кнопками
  • Админка: свойства пользователя: добавлено количество доменов, которыми владеет пользователь
  • Админка: добавлено отображение количества доменов в списках пользователей и пользователей домена
  • Админка: исправлено вертикальное выравнивание аватаров
  • Админка: выполнена миграция на Angular signals
  • Бэкенд: автокоррекция количества комментов в БД
  • Бэкенд: добавлен доверенный домен в механизм XSRF-защиты (CVE-2025-24358, gorilla/csrf 1.7.3)
  • Бэкенд: исправлено сообщение об ошибке не-SSO-пользователя о необходимости авторизации через SSO (#161)
  • Бэкенд: исправлено предупреждение superfluous response.WriteHeader call в webSocketsHandler
  • Бэкенд: HTTP-коды, отличные от 2xx, не приводят к обновлению заглавия страницы
  • Бэкенд: добавлены параметры SSL-сертификата PostgreSQL (#170)
  • Бэкенд: унификация протоколирования
  • Бэкенд: процесс фоновой очистки БД будет повторять попытки в течение неограниченного времени в случае ошибки
  • Бэкенд: PL/pgSQL использует ELSIF, а не ELSEIF
  • Документация: добавлено уведомление о багтрекере
  • Обновление Go до 1.24.3, а также прочих зависимостей (#172)
  • Усовершенствования в подсистеме плагинов
  • CI: обновление конфигурации Netlify
  • CI: обновление до Kubernetes 1.31
  • Добавлен перевод на немецкий

Демо-версия

Увидеть новую версию в действии, а также её административный интерфейс (логин с емэйлом admin@admin и паролем admin), можно на демо-сайте:

Демо-сайт комментариев Демо админки Comentario

Установка

Если вы хотите установить Comentario, вот ссылки на документацию:

Подписаться на обновления блога:

Комментарии

Поделиться: