Comentario 3.19.0 Maghera

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

Вышел Comentario 3.19.0 Maghera, а с ним вебхуки, журнал аудита и полностью доступный (совместимый со вспомогательными технологиями) виджет комментариев.

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

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

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

ИИ на марше

Об одной вещи стоит сказать особо.

Это первая версия, разработанная при активном участии ИИ (Claude Code). Сильно переживать не стоит: весь сгенерированный код дотошно проверяется и исправляется мной (пока ещё человеком). Это требует множества итераций (планирование, уточнение, реализация, потом всё повторить опять) но в целом я очень доволен результатами такого сотрудничества. Это колоссально ускорило разработку и позволило мне создавать гораздо более функциональные решения, не увязая в болоте всё более сложной внутренней механики Comentario: достаточно хотя бы взглянуть на объём изменений с прошлого релиза.

Что нового

Тосты стали уведомлениями

Самое заметное изменение в админке — тосты (сообщения, которые всплывали в углу экрана и через несколько секунд исчезали) теперь заменены уведомлениями (notices, !38).

Уведомление появляется там, где оно уместно: на странице, к которой относится, глобально в Центре управления или — если что-то требует немедленного внимания — в модальном диалоге. Страница автоматически прокручивается, чтобы ошибки и предупреждения появились в поле зрения; закрытое уведомление остаётся скрытым для данного пользователя.

Пример уведомления об ошибке.
Пример уведомления об ошибке.

Для рутинных подтверждений сообщение больше вообще не нужно: после успешного выполнения действия на только что нажатой кнопке ненадолго появляется галочка:

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

Уведомление о доступном обновлении.
Уведомление о доступном обновлении.

Вебхуки

Теперь Comentario умеет оповещать ваши собственные сервисы о происходящем на домене при помощи исходящих вебхуков (#152). Всякий раз, когда комментарий создаётся, изменяется, удаляется, одобряется или отклоняется, Comentario отправляет POST-запрос с JSON-описанием события на указанный вами URL.

Таким образом Comentario становится источником событий для остальной вашей инфраструктуры: новый комментарий может попасть в чат, запустить пересборку статического сайта или пополнить вашу собственную очередь модерации, в пуш-режиме (без необходимости постоянно опрашивать API).

Свойства вебхука.
Свойства вебхука.

Вебхуки регистрируются для каждого домена его владельцем, с помощью новой кнопки Webhooks в свойствах домена. Каждый вебхук получает собственный секретный токен для проверки подписи, а при помощи тестовой отправки (ping) можно сразу увидеть, доступен ли ваш эндпоинт и правильно ли принимает ли он сообщение от Comentario. Персональные данные комментаторов (емэйл, IP-адрес, страна) никогда не включаются в отправляемые данные.

Подробности доставки вебхука.
Подробности доставки вебхука.

Журнал аудита

Новый журнал аудита (Audit log) фиксирует различные действия пользователей и системы на сервере: кто вошёл в систему (или безуспешно пытался), кто изменил настройки домена, кто модерировал комментарий, кто заблокировал пользователя и так далее.

Журнал аудита.
Журнал аудита.

Записи в журнал могут только добавляться; по истечении срока хранения они автоматически удаляются. Персональные данные пользователя вычищаются из журнала при удалении его учётной записи в соответствии с требованиями GDPR.

Записи можно фильтровать по множеству критериев: типу объекта, действию, результату, методу аутентификации, идентификатору Correlation ID (он группирует связанные записи и позволяет легко сопоставить сообщённую ошибку с тем, что происходило на сервере) и другим.

Журнал аудита с применённым фильтром.
Журнал аудита с применённым фильтром.

Доступность

В продолжение работы, начатой в 3.18.0, доступность (accessibility) встраиваемого виджета комментариев была улучшена ещё больше; начальную работу выполнила Georgiana Frincu. Все проблемы с цветовым контрастом теперь устранены (#234), а виджет соответствует требованиям WCAG 2.2 уровня AA, что автоматически проверяется при помощи библиотеки axe в тестах.

Поддержка TLS и Unix-сокетов

До сих пор Comentario работал только по обычному HTTP, оставляя SSL termination обратному прокси (или аналогичному компоненту). Теперь он может также принимать соединения непосредственно по HTTPS или через доменный сокет Unix (#233), что задаётся новым параметром scheme:

comentario --scheme=unix --socket-path=/run/comentario/comentario.sock --socket-perms=0660

Сокет удобен, когда обратный прокси работает на том же хосте: на сервере не занимается TCP-порт, а доступ регулируется правами на файл. Схема HTTPS предназначена для конфигураций вообще без декодирующего TLS-трафик прокси. Имейте в виду при этом, что TLS-сертификат загружается только при запуске сервера.

Админка

  • Новые редакторы атрибутов доменов и пользователей.
  • В менеджере пользователей домена появился фильтр по ролям (#166).

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

  • Для домена и страницы учитываются только одобренные и неудалённые комментарии (#203)
  • Встраиваемая часть: исправлено состояние гонки в Live update, из-за которого «воскресали» удалённые комментарии или возникал конфликт с изменениями собственного комментария
  • Админка: галочки отображаются с переведённым текстом для скрин-ридеров
  • Админка: свойства пользователя: элементы списка ролей в доменах теперь ведут на пользователей домена, а не на сами домены
  • Бэкенд: исправлена проверка конфигурации SSO домена; унифицирована проверка URL
  • Бэкенд: EmailFrom теперь может содержать имя в не-ASCII-кодировке
  • Бэкенд: более надёжная локализация; сброс кэшей атрибутов при сбросе БД
  • Плагины: экспериментальный API плагинов расширен аудитом, хранилищем «ключ-значение», отправкой почты, локализацией, уведомлениями, подтверждениями, событиями
  • Helm: добавлена схема для значений и настройка вебхуков; чарт теперь официально имеет версию 1.0.0
  • Документация: добавлены описание журнала аудита и заметки о соответствии WCAG
  • E2e-тесты: покрытие API встраиваемой части, интерактивный тест SSO в безголовом режиме
  • Обновление инструментария и зависимостей (Go 1.27.2, Yarn 4.18). Для компиляции Comentario теперь требуется как минимум Go 1.27.

Демо-версия

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

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

Установка

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

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

Комментарии

Поделиться: