Comentario 3.15.0 Iveagh

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

Аккурат к Рождеству выпущен Comentario 3.15.0 Iveagh!

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

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

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

Что нового

Управление конфигурацией

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

Поддержка конфигурационного файла YAML

Самое главное и долгожданное — это поддержка хранения статической конфигурации сервера в файле. Вместо того чтобы указывать каждый необходимый параметр через командную строку или переменные среды, теперь вы описать всю конфигурацию в виде YAML-файла, а затем сослаться на него при помощи опции командной строки -c или переменной окружения $CONFIG_FILE.

Проще всего созать такой YAML-файл, попросив Comentario записать текущую конфигурацию с помощью следующей команды:

comentario --config-write-to=/path/to/file.yaml

Затем вы можете изменить его содержимое по вкусу.

Группы опций

Некоторые параметры были сгруппированы и/или переименованы; ниже представлен обзор наиболее важных из них.

БылоСталоЭквивалент в виде переменной
-v--log.level=info$LOG_LEVEL=info
-vv--log.level=debug$LOG_LEVEL=debug
--no-color--log.no-color$LOG_NO_COLOR
--log-full-ips--log.full-ips$LOG_FULL_IPS
--db-debug--db.debug
--db-idle-conns--db.max-idle-conns$DB_MAX_IDLE_CONNS
--no-page-view-stats--stats.disable-page-views$STATS_DISABLE_PAGE_VIEWS
--stats-max-days--stats.max-days$STATS_MAX_DAYS
--no-live-update--lu.disable$NO_LIVE_UPDATE
--ws-max-clients--lu.max-clients$WS_MAX_CLIENTS

Более подробную информацию см. на соответствующей странице документации.

Значения по умолчанию для динамической конфигурации

Перенос конфигурации в YAML-файл теперь также позволяет переопределять значения по умолчанию для элементов динамической конфигурации сервера ghb помощb ключа dynamicConfigDefaults (!23). Вот пример:

dynamicConfigDefaults:
  domain:
    defaults:
      comments:
        deletion:
          moderator: false
          author: false
        text:
          maxLength: 512
  integrations:
    useGravatar: false

Точное название параметра можно увидеть в его заголовке в документации.

Переопределение и псевдонимы домена

Оба встраиваемых тега Comentario (<comentario-comments> и <comentario-count>) теперь поддерживают новый атрибут domain-id. Это еще одна долгожданная функция (#109, #204), которая позволяет владельцам веб-сайтов встраивать комментарии (или отображать их количество), предназначенные для другого домена.

Для предотвращения «угона» комментариев (когда злоумышленник указывает на ваш домен на своем веб-сайте) добавлен механизм верификации домена-источника (origin). Отныне каждый домен может явно перечислить источники, которым разрешено запрашивать комментарии, используя параметр Allowed origins. По умолчанию он включает только сам домен, но вы можете добавить, например, зеркало вашего веб-сайта.

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

Черновики комментариев

При написании коммента во встроенном Comentario его текст теперь будет сохранен в качестве черновика для этой страницы — до момента отправки, чтобы пользователь мог вернуться к его редактированию или отправить его как ответ на другой комментарий (#169).

Аватары

Изображения аватаров теперь могут быть экспортированы и импортированы в формате Comentario V3 (#188). Кроме того, реализована фоновая загрузка аватаров (#185, отменяет !22).

SQLite3

Поддержка локальной, файловой базы данных SQLite3 теперь распространена и на динамически слинкованный бинарник Comentario; ранее её могли использовать только версии со статической линковкой.

Кроме того, поддержка транзакций для SQLite3 была полностью удалена вследствие его неспособности обрабатывать одновременные транзакции записи.

Другие изменения

  • Встраиваемая часть: виджет подсчета комментариев: несуществующий путь теперь отображается как «0 комментариев» (#202)
  • Встраиваемая часть: исправлено отображение пользователей с пустым именем (#183)
  • Админка: рефакторинг списковых представлений: фильтрация, сортировка, пагинация
  • Админка: наведение порядка в ссылках навигации/футера
  • Бэкенд: добавлен параметр командной строки --max-import-file-size (#186)
  • Бэкенд: экспорт домена: сортировка комментариев, страниц по ID
  • Бэкенд: исправлена ошибка Concurrent map writes error in embed_i18n.go (#198)
  • Бэкенд: исправлена stale-транзакция в PageService.insertPageView()
  • Бэкенд: из API удалены дженерик-эндпойнты
  • Бэкенд: улучшения логов
  • Бэкенд: рефакторинг конфигурации; встраивание миграций/шаблонов
  • Бэкенд: рефакторинг обработки ошибок
  • Бэкенд: обработчик XSRF: исправлено потенциальное разыменование nil
  • Helm: использование ConfigMap вместо переменных среды
  • Документация: добавлены ссылки на Cloudron, Railway (#63)
  • Документация: добавлена страница с примерами OIDC + конфигурация Discord (#180)
  • Документация: форматирование опций командной строки в виде списка определений
  • Документация: добавлено упоминание о необходимости упорядочивания ключей языка (!25)
  • Документация: удалено устаревшее предупреждение SQLite3 (#201)
  • Документация: обновлены ссылки на Angular
  • Добавлен перевод на корейский
  • Обновления подсистемы плагинов
  • CI: сборка статического исполняемого файла с CGO_ENABLED=1 (#201)
  • Код: миграция на Go 1.25.5, Angular 21, обновление зависимостей
  • Код: перенос сборки на Yarn Berry
  • БД: добавление отсутствующих первичных ключей в cm_domains_idps, cm_domains_extensions (#179)
  • Docker: исправлено значение статического пути по умолчанию

Демо-версия

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

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

Установка

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

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

Комментарии

Поделиться: