3.1.0.beta2: исправления безопасности, новые области API и многое другое

Эта бета-версия включает несколько исправлений уязвимостей безопасности, о которых сообщили члены нашего сообщества и HackerOne. Также внесены улучшения в области API-областей.

Безопасность

  • Предотвращение XSS в локальных oneboxes (CVE-2023-22468)
  • Параметр exclude_tags мог раскрывать темы с определённым скрытым тегом (CVE-2023-23624)
  • Отображение ограниченных списков тегов только авторизованным пользователям (CVE-2023-23620)
  • Предотвращение ReDoS при парсинге пользовательского агента (CVE-2023-23621)
  • Предотвращение ReDoS за счёт устранения неоднозначности в регулярном выражении для SSH-URL (CVE ожидается)
  • Удаление обхода для base_url (CVE-2023-23615)
  • Ограничение количества символов в запросах на вступление в группу (CVE-2023-23616)
  • Ограничение длины черновиков (CVE-2023-22739)
  • Ограничение длины черновиков чата и количества предварительно загружаемых элементов (CVE-2023-22740)
  • Обновление Rails до версии 7.0.4.1 (см. объявление на rubyonrails.org)
  • По умолчанию теги показывают количество тем в неограниченных категориях (CVE ожидается)

Новые функции

  • Добавлены API-области для приостановки пользователей, создания приглашений и поиска
  • Улучшена поддержка TikTok в oneboxes
  • Администраторы получили возможность безвозвратно удалять ревизии
  • Добавлена настройка, позволяющая пользователям TL4 удалять сообщения
  • Пользователи TL4 могут видеть не включённые в списки темы
  • В oneboxes тем Discourse-to-Discourse отображается больше контекста

Дополнительные функции и исправления

Нажмите, чтобы развернуть
  • Возможность изменения slug при создании канала чата
  • Введено глобальное свойство pg_force_readonly_mode
  • Добавлен фильтр in:polls в поиск
  • Добавлена rake-задача для маркировки старого формата хештегов для пересборки
  • Проверка подписей веб-хуков электронной почты
  • Расширение области API обновления тем для возможности изменения статуса
  • Увеличение времени кэширования аватаров при перенаправлении до 1 дня
  • Добавлена базовая инструментация для очереди отложенных задач
  • Владельцы групп могут назначать больше владельцев

Исправления ошибок

  • Параметр lazy_yt_enabled не влияет на движок
  • Автоматическое удаление reviewables, связанных с сообщениями
  • Выделение текста нарушает открытие ссылок в новых вкладках
  • В ExcerptParser не добавляются пустые теги use/svg
  • Пропуск пустой электронной почты при синхронизации атрибутов SSO
  • Пользователь TL4 не перенаправляется к последней теме после её удаления
  • Удалённые сообщения не учитываются при проверке безопасности ссылок на загрузки
  • Добавлен отрицательный сдвиг для смещения popper
  • Свойство data-popper-reference-hidden слишком широкое
  • Исправлен отступ для мини-выбора тегов
  • Предотвращено отображение всплывающего текста при наведении в msg-actions
  • Автоматическая генерация slug для удалённых каналов
  • Пользователь TL4 может видеть удалённые темы
  • Разрешено прокручивание модальных окон на мобильных устройствах при открытом клавиатуре
  • Скрыты опции только для сотрудников в массовом меню участников группы для несотрудников
  • Перемещена настройка минимального количества тегов в раздел тегов при редактировании категории
  • Удалены неверно настроенные хосты для встраиваемых элементов
  • Запрос UploadReference в UploadSecurity для существующих загрузок
  • Изменён тип настройки домена электронной почты на host_list
  • Не переопределять имя канала при выборе категории
  • Добавление уведомления подписчиков рассылки при восстановлении сообщения
  • Изменение формулировки с title на name на странице описания канала
  • Новая поддержка хештегов для продвинутого нарратива бота
  • Восстановление преобразования babel class-property для тем
  • Валидация параметра тегов в TopicQuery
  • Правильное отображение иконки тега Discourse onebox в чате
  • Исправлена неверная миграция настроек хештегов
  • Использование хештегов в личных сообщениях архива канала, если они доступны
  • Добавлена миграция для повторного индексирования некорректных индексов
  • Убедитесь, что извлечение опросов не выполняется, если тело сообщения отсутствует
  • Предзагрузка атрибутов боковой панели пользователя при ?enable_sidebar=1
  • Предотвращение одновременных обновлений top_topics
  • Совместимое с Ruby 2 перенаправление выхода из плагина
  • Исправление нестабильного теста, вызванного именованными аргументами в PostAlerter
  • Регрессия в области сообщения MessageBus TopicTrackingState
  • Улучшение отчётов об ошибках и режимов отказа при архивировании каналов

Изменения UX

  • Удалены лишние пробелы в помощнике поиска
  • Предотвращено переполнение статуса на карточке пользователя
  • Улучшена компоновка и выравнивание кнопок массовых действий
  • Исправления и корректировки навигации пользователя
  • История штрафов установлена как закреплённая
  • Скрыта дата в таймлайне при переносе строки
  • Убран левый отступ
  • Добавлен отступ для ключевого слова поиска
  • Переход от макета flexbox к grid в категориях-блоках
  • Предотвращено перенос текста кнопки контекста поиска
  • Добавлен недостающий пробел и другие мелкие корректировки поиска
  • Перестроены поля канала чата
  • Переработан стиль всплывающего окна цитирования/поделиться, исправлено дрожание при наведении
  • Рефакторинг выравнивания иконки тега в onebox Discourse
  • Исправлены проблемы с выравниванием в автодополнении
  • Упрощён аватар в списке тем

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

  • Не парсить сообщения на упоминания, если статус пользователя отключён
  • N+1 запросы при просмотре тегов

Доступность

  • Элемент Discourse-tags должен иметь роль и метку
  • Добавлены aria-labels для текстовых областей флагов
  • Удалены заголовки из профиля пользователя
  • Добавлена дополнительная ссылка пропуска на страницах профиля пользователя
  • Более описательные заголовки страниц пользователей
  • Добавлены теги aria в новую навигацию пользователя
13 лайков

Но это ещё не всё!

Мы делаем всё возможное, чтобы освещать для вас новые функции и изменения, но их всегда слишком много, чтобы описать всё подробно. Для полного списка новых функций, исправлений ошибок, улучшений UX и прочего обязательно ознакомьтесь с дополнительными функциями и исправлениями, перечисленными ниже.

Улучшения плагинов

discourse-animated-avatars

Исправления ошибок
  • По умолчанию установить анимированный аватар в сериализаторе пользователя как nil

discourse-assign

Новые функции
  • Автоматически открывать выбор назначенного исполнителя
  • Показывать статус пользователя при поиске назначенных исполнителей

discourse-calendar

Новые функции
  • Добавить минимальный параметр для событий
Исправления ошибок
  • Событие не загружается после его создания
  • Добавлено отсутствующее перевод для заголовка push-уведомления напоминания о событии

discourse-characters-required

Исправления ошибок
  • Импорт компонента

discourse-code-review

Исправления ошибок
  • Разрешить diff с первым коммитом
  • Пропускать нерелевантные события PR

discourse-encrypt

Исправления ошибок
  • Неисправленный поиск упоминаний

discourse-prometheus-alert-receiver

Производительность
  • Удалить запрос на открытые/активные оповещения, который больше не используется на стороне клиента.

discourse-zendesk-plugin

Изменения UX
  • Улучшить названия и описания настроек
7 лайков