2.9.0.beta4: Исправления уязвимостей, карты сайта, провайдер 2FA Discourse Connect и многое другое

Новые функции в 2.9.0.beta4

:warning: Требуется пересборка. Пересборка обновит версии пакетов до последних и должна быть выполнена, если сайт не пересобирался из командной строки в течение последних суток.

Обновления безопасности

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

  • Обновление Nokogiri до версии 1.13.4.
  • Исправлена утечка прав группы категорий на обычных пользователей.
  • Предотвращена утечка названия приватной группы при просмотре категории.
  • Скрыты приватные категории в экспорте активности пользователей.
  • Обеспечено раздельное кэширование ответов на основе user-agent.

:exclamation: Обратите внимание, что discourse_docker — образ Docker, на котором работает Discourse, — также получил обновление безопасности. Для применения этого исправления требуется описанная выше ручная пересборка. Это приведёт к простоям.

Поддержка карты сайта

Теперь Discourse поддерживает карты сайта без необходимости установки плагина. Это включает все функции плагина Discourse Sitemap, который можно безопасно удалить после обновления.

Поддержка 2FA для провайдера Discourse Connect

Если вы используете Discourse в качестве провайдера идентификации для внешних сайтов, теперь можно требовать от пользователей подтверждения их двухфакторной аутентификации (2FA). Полную информацию см. на GitHub.

16 лайков

Еще больше!

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

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

Assign

Изменения UX

  • Дополнительная рефакторинг для подготовки списка тем

Discourse Chat

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

  • Добавлена кнопка чата на странице темы под временной шкалой темы и подвалом
  • Добавлена возможность отключения уведомлений об упоминаниях во всём канале
  • Кнопка чата в карточке пользователя
  • Ограничение уникальных реакций эмодзи до 30 на сообщение

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

  • Разрешено отправлять личные сообщения самому себе
  • Обеспечено создание правильного черновика при построении личного сообщения
  • Добавлен отсутствующий всплывающий подсказка к иконке в списке тем
  • Исправлен регресс, препятствовавший отображению индикатора
  • Приготовление не требуется, так как мы отправляем сообщение на сервер
  • Сделано direct_messages индексным маршрутом
  • Форматирование имен пользователей в момент запроса
  • Мгновенная фильтрация для предотвращения мигания «результатов не найдено»
  • Изменена надпись для кнопки цитирования
  • Применено усечение для плейсхолдера
  • Небольшие доработки
  • Исправлены отсутствующие привязки событий приложения
  • Использование chatEventPrefix для обработки событий вставки текста в композере
  • Разрешены новые дублирующиеся реакции при достижении максимума новых реакций
  • Ошибка при просмотре анонимом другого пользователя, когда чат включён
  • Не возникает ошибка из-за отсутствующей таблицы

Изменения UX

  • Реализован полностью переработанный композер личных сообщений
  • Реализована полоса прогресса
  • Изменён плагин-оутлет для размещения кнопки в карточке пользователя
  • Предотвращено выделение текста ответа при долгом нажатии
  • Отмена долгого нажатия при прокрутке
  • Ещё более последовательные уведомления чата
  • Реализовано использование долгого нажатия для вызова мобильного меню
  • Добавлено немного больше отступа под реакциями
  • Реализовано выделенное мобильное меню для сообщений

Voting

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

  • Улучшено состояние «синдром пустой страницы»

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

  • Корректная обработка булевых значений на сервере

Akismet

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

  • Настройка проверки первого поста пользователя с уровнем доверия TL1.

Calendar

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

  • Включение полной метки даты во всплывающую подсказку в списке тем

Изменения UX

  • Корректировка отображения событий календаря

Data Explorer

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

  • Использование новых свойств для кнопки pick-files-button

Encrypt

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

  • Скрытие кнопки быстрого редактирования для зашифрованных тем
  • Добавление только действительных результатов поиска
  • Проверка существования кэшированных объектов перед доступом
  • Обновление существующих ключей только если они существуют
  • Скрытие кнопки преобразования в публичную тему

Kolide

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

  • Извлечение идентификаторов устройств перед обновлением базы данных.

Docker Manager

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

  • Динамическое получение URL логотипа

Code Review

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

  • Обработка коммитов без сообщений

RSS Polling

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

  • Не вызывать ошибку, если пользователь не существует

Policy

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

  • Очистка next_renew_at при удалении renew-start.
  • Сортировка отображаемых пользователей и исключение неактивных/приостановленных

Automation

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

  • Обеспечено, чтобы объект автоматизации не мутировал

Изменения UX

  • Разрешено уничтожение автоматизации, вызывающей ошибку

Footnote

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

  • Разрешено несколько ссылок на одну и ту же сноску

Salesforce

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

  • Добавление отсутствующих записей локали для настроек сайта.
  • Удаление неиспользуемого административного маршрута
  • Предзагрузка пользовательских полей темы

Chat Integration

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

  • Разрешено отключение [quote] для транскриптов Slack

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

  • Исправлена ошибка в проверке проблемы AdminDashboardData
  • Ошибки административной панели показываются только при включённом плагине/провайдере

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

Нажмите, чтобы развернуть

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

  • Добавлен атрибут user_suspended при сериализации поста.
  • Улучшена сводка заблокированных IP-адресов и расширена поддержка IPv6
  • Добавлена задача Sidekiq для синхронизации ACL S3
  • Добавлена тёмная тема для электронной почты
  • Сортируемые элементы json-editor
  • Разрешены локальные JS-активы темы
  • Разрешено несколько обязательных групп тегов для категории
  • Хук DiscourseEvent для sync_sso
  • Полиморфные закладки часть 1 (CRUD)
  • Поддержка URL вида upload:// в тегах img

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

  • Атрибут Href для ссылки на дату поста
  • Добавлен href к элементу ссылки на дату поста
  • Предотвращена ошибка с автодополнением эмодзи
  • Обновлены стили писем в тёмной теме
  • Обеспечено, что allowed_tags и allowed_tag_groups могут быть удалены
  • Журналы электронной почты не находят прикрепленные входящие письма
  • Обеспечено, что category_required_tag_groups уничтожаются вместе с tag_groups
  • Возврат к clipboard.writeText, если ClipboardItem не поддерживается
  • Ошибочная прокрутка тем на iOS 12
  • Сериализация прав для группы «все»
  • Очистка обязательных групп тегов категории с недопустимыми идентификаторами tag_group
  • Обеспечено, что обработка устаревших браузеров использует полный контент <noscript>
  • Скрыта вкладка уведомлений пользователя для пользователей-модераторов.
  • Небольшие проблемы с Uppy-image-uploader и миксином uppy-upload
  • Предотвращены дубликаты в разрешённых URL области API
  • Включены маршруты в разрешённые URL области API, даже если у них нет ограничений формата
  • Исключены автоматические якоря из поискового индекса
  • Ограничена максимальная длина слова в поисковом индексе
  • Включён контент для краулеров на старых мобильных браузерах
  • Пользователи, наблюдающие за тегами в открытых группах тегов, не уведомляются
  • Нет необходимости скрывать «Позже на этой неделе», когда показывается «Позже сегодня»
  • Обеспечено, что изображения не меняют высоту после завершения загрузки
  • Перенаправление пользователя на тему, в которую его пригласили
  • Не пытаться выполнить pull_hotlinked_image для raw_html
  • Автоматически сгенерированные письма вызывают шторм SMTP-писем группы
  • Ошибка 500 при создании пользователя с именем пользователя типа integer
  • Обновление столбца ‘posted’ при изменении владельца поста
  • Прокрутка очереди проверки не работает после выполнения действия.
  • Отключена сортировка опций в date-pickers на модальном окне закладок и модальном окне таймеров тем
  • Can_permanently_delete должен проверять наличие администратора
  • Прерывание создания темы, если невозможно создать загрузки
  • Построение правильного post и topic shareUrl
  • Обеспечено использование ActiveSupport::Inflector в Zeitwerk
  • Скрыт счётчик тегов в фильтре тегов в контексте категории
  • Переворот popper при неправильном выборе верхней позиции
  • Закрытие карточки пользователя/группы при нажатии клавиши Esc
  • Не помещать всю конфигурацию Sidekiq в to_prepare
  • Сохранение HTML ``<img` при загрузке удалённых изображений
  • Проверка ограничений тегов категории перед отправкой новых тем на проверку
  • Сброс выбираемых аватаров не работал
  • Показ предупреждения о ограниченных группах при необходимости
  • Не оборачивать unaccent вокруг tsqueries
  • Ошибка при установке уровня уведомлений на «отключено/игнорировать» на странице пользователя
  • Добавлено поле errors при подтверждении обновления группы
  • Не пытаться сфокусировать .title в topic-list-item, если он не существует
  • Закрытие селектора не должно распространять событие указателя
  • Обеспечено соблюдение max_oneboxes_per_post
  • Разрешён импорт @ember/test в сборках embercli prod
  • Не слушать события focus/blur, если topic-list отключил фокус последнего посещённого

Изменения UX

  • Небольшие корректировки выравнивания списка тем на мобильных устройствах
  • Сделана вся строка темы кликабельной на мобильных устройствах
  • Добавлен отступ к кнопке ключа безопасности
  • Менее специфичная стилизация для входов через авторизацию
  • Применена стилизация краулера к контенту <noscript>
  • Обеспечено согласованность HTML заголовка/подвала для краулера и noscript
  • Обеспечена работоспособность представления краулера при различных цветовых схемах
  • Редактирование встроенного кода
  • Обновлены стили представления краулера для лучшей читаемости
  • Требуется пароль для приглашённых пользователей
  • Добавлена кнопка details в списки отклонённых/отклонённых администратором
  • Использование зафиксированной даты для GitHub oneboxes
  • Указано, что кнопка «Показать ответы» не работает для удалённых постов
  • Более чистые сообщения для пустого состояния на странице активности пользователя

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

  • Ускорен основной запрос списка пользователей администратора
  • Ограничено обновление API ключа last_used_at
  • Обновлён UserDestroyer для пакетного получения историй и действий

Доступность

  • Сделаны аватары пользователей в потоке постов не доступными для табуляции
  • Улучшена доступность встроенных ответов под постом
  • Улучшена доступность кнопок постов с лайками/счётом прочтений
  • Изменён tagName tabLoc с <a> на <span>
  • Включено имя пользователя в aria-label области поста
  • Сделана колонка «представления» в списках тем доступной для табуляции
  • Улучшено модальное окно входа в тему
  • Добавлены aria-label к заголовкам колонок списка тем
  • Добавлен aria-label к ячейке «Ответы» в списке тем
  • Фокус на последнюю просмотренную тему в списках тем (третий раз)
13 лайков