Примечания к выпуску Discourse 2.6.0.beta3

Новые функции в версии 2.6.0.beta3

Просмотр публикаций с медиафайлами

Discourse предоставляет сотрудникам сайта множество вариантов для модерации размещаемого контента. По умолчанию пользователи могут публиковать сообщения без предварительной проверки сотрудниками. Существуют настройки, требующие одобрения для первых X публикаций пользователя, всего контента от пользователей, не достигших определенного уровня доверия, новых тем от таких же пользователей, новых тем и/или сообщений в конкретных категориях и многое другое.

В версии beta3 появилась настройка сайта review media unless trust level. Теперь сайты можно настроить так, чтобы все темы/сообщения, содержащие встроенные медиафайлы, проверялись сотрудниками перед публикацией.

Различение упоминаний групп и отдельных пользователей

Ранее упоминания отдельных пользователей и групп не имели визуального различия. В обоих случаях использовался символ @. Тип упоминания можно было увидеть при наведении курсора мыши, но это не работает на сенсорных устройствах и не сразу очевидно.

Чтобы помочь визуально различить эти два типа уведомлений, мы теперь используем другую иконку для уведомлений о группах.

Теперь это выглядит так:

image

Мы используем иконку Users, имя пользователя, создавшего упоминание, а также название упомянутой группы.

Для сравнения, обычное упоминание выглядит так:

image

Включение безопасных медиаизображений в письмах по умолчанию

Для сайтов с Secure Uploads загрузки исключаются из писем.
image
Теперь Discourse по умолчанию поддерживает включение изображений в письма, если они не превышают заданный размер. Администраторы могут управлять этим через настройки сайта secure media allow embed images in emails и secure media max email embed image size kb.

Разрешение администраторам удалять записи SSO через интерфейс

Иногда записи SSO в Discourse рассинхронизируются с провайдером аутентификации. Чаще всего это происходит из-за того, что пользователи меняют адреса электронной почты в одной системе, но не в другой. Чтобы предоставить сайтам более совершенные инструменты для разрешения конфликтов SSO, администраторы теперь могут удалять запись SSO пользователя. Это приводит к тому, что при следующем входе пользователь сопоставляется по электронной почте, а не по внешнему идентификатору SSO (external_id).

Таймеры тем пользователей заменены напоминаниями закладок

Таймеры тем позволяли пользователям с правами сотрудников устанавливать напоминания о возвращении к теме. С появлением напоминаний закладок еще в версии 2.5.0.beta3 теперь все пользователи могут устанавливать напоминания.

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

  • Если для первого сообщения темы нет закладки, создается закладка с напоминанием.
  • Если для первого сообщения темы есть закладка, но у нее нет установленного напоминания, то она обновляется напоминанием таймера темы.
  • Если для первого сообщения темы (OP) есть закладка с напоминанием, то таймер темы отбрасывается.

Выбираемые пользователем цветовые палитры

Продолжая тему улучшенной поддержки темного режима в beta2, сайты теперь могут делать цветовые палитры выбираемыми пользователями, точно так же, как темы. Это означает, что сайтам больше не нужно настраивать две темы для предложения двух цветов — они могут установить одну тему и добавить выбираемые пользователем цветовые палитры.

Больше данных в экспорте пользователей

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

Упрощенный контроль шрифтов

Сайты теперь могут настраивать базовый шрифт через мастер настройки и параметры сайта.

31 лайк

Ещё больше!

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

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

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

  • __ws не должен иметь возможность переопределять каждый домен в мульти-сайте
  • Возвращать ошибку при изображении слишком большого размера
  • Модератор не должен видеть group_users и second_factor_enabled.
  • Убрать указание на существование группы, если пользователь не может её увидеть.
  • Не разрешать модераторам перечислять личные сообщения всех групп.
  • Не разрешать модераторам просматривать входящие сообщения администраторов

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

Множество плагинов

  • Исправление ошибок
    • Мы исправили множество ошибок во многих наших плагинах
  • Обновление стандартов кодирования
    • Изменения для улучшения согласованности стиля кода во всех наших плагинах

Omniauth JWT

  • Разрешить передачу параметра jwks_loader в библиотеку jwt

Footnote

  • Значительная рефакторинг фронтенда
  • Улучшение позиционирования больших изображений
  • Улучшения стиля

Sitemap

  • Улучшение производительности: генерация и хранение карт сайта в базе данных

Akismet

  • Разрешить приостановку пользователей при проверке сообщений, помеченных Akismet
  • Отображение баннера на странице темы, если она была удалена Akismet

Zendesk

  • Запрошенный тикет должен быть пользователем, отправившим тикет

WP Discourse

  • Поддерживать опцию принудительной публикации только для постов, опубликованных с помощью редактора блоков
  • Обновление для WordPress 5.5

Algolia

  • Лучшее выравнивание поля поиска
  • Добавлена поддержка перевода

Azure AD

  • Добавлена поддержка чтения полного имени и использования конкретного тенанта

Chart

  • Автоматическая генерация фоновых цветов, если они не заданы

Policy

  • Добавлен конструктор политик

Calendar

  • Дополнительная функциональность событий и улучшения

Assign

  • Расширенные фильтры поиска для назначенных тем
  • Массовые действия по назначению для списков тем
  • Разрешить фильтрацию тем в списке назначенных пользователю

Code Review

  • Добавлена функция пропуска коммита
  • Разрешить отказ от уведомлений «коммит одобрен»
  • Продолжить рецензирование в той же категории, даже если она отключена

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

[details=“Нажмите, чтобы развернуть”]

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

  • Добавлена настройка сайта для управления автоматическим перенаправлением авторизации
  • Расширенные фильтры поиска по количеству просмотров
  • Изменение размера по умолчанию для поиска недавних постов
  • Сделать фильтры поиска регистронезависимыми
  • Скрытая настройка SiteSetting.keep_old_ip_address_count для отслеживания истории IP-адресов.
  • Разрешить расширение topic_eager_loads в поиске
  • Добавлена поддержка мобильного вида при публикации страниц
  • Добавлена поддержка непостоянных сессий
  • Модераторам разрешено просматривать группы, которые могут видеть их участники.
  • Отображение существующего имени тега в модальном окне переименования
  • Добавлена пользовательская опция выбора закладок как домашней страницы
  • Разрешить встраивание изображений по электронной почте с защищёнными медиа
  • Добавлены CSS-классы к элементам ссылок на таблицы стилей
  • Добавлены таблицы стилей к конечной точке bootstrap.json
  • Добавлен ниже-статический плагин outlet
  • Устаревание lodash, чтобы мы могли его удалить.
  • Разрешить указание имени платформы для специфичных для платформы gems
  • Дополнительный контроль над iframe в oneboxes
  • Добавлена кнопка «Снять непрочитанные темы» при фильтрации по тегу.
  • Добавлена сортировка по имени пользователя для элементов каталога
  • Дополнительные области API
  • Разрешить плагинам регистрировать маршруты API на основе параметров

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

  • Не пропускать значок нового пользователя
  • mouseEnter устарел в новых выпусках Ember
  • Настройки «всегда» для электронной почты не соблюдались
  • Удалить идентификатор категории из имени класса категории
  • Только сотрудники могут редактировать детали темы, когда первый пост заблокирован
  • Разрешить редактирование в композере до выбора категории
  • Использовать scrollY для текущей позиции прокрутки
  • Неожиданный возврат во время события system_message_sent
  • Prettier popular-themes.js
  • Замена неработающей ссылки на предпросмотр Material Design
  • Сообщение о продвижении TL2 и продвинутое обучение
  • Не выдавать ошибку Topic#similar_to, когда prepared raw пустой
  • Не преобразовывать имя группы в нижний регистр в полезной нагрузке уведомления
  • Соблюдать права группы модераторов в guardian
  • Ошибка «неизвестный атрибут verified» в задачах rake для загрузок
  • Использовать обычный логотип на опубликованных страницах, если маленький недоступен.
  • Если группа не найдена, вызвать правильную ошибку
  • Компенсация для typographer
  • Вложенные цитаты в BBCode
  • Импорт NotificationLevels был неверным
  • Отсутствие / после basePath приводило к тому, что URL был относительным
  • Убедиться, что база данных мульти-сайта установлена правильно при запуске процесса резервного копирования
  • Белый список маркерных элементов при загрузке SVG
  • Форкинг препятствовал отправке уведомлений после резервного копирования
  • Hidden был определён как статический вместо использования атрибута
  • Предоставить лучший API для регистрации пользовательских публичных типов загрузки
  • Не преобразовывать имя группы в нижний регистр в сериализаторе текущего пользователя
  • Использовать asset_hostnames в rails_multisite
  • Исправить миграцию verification_status для загрузок
  • Уведомления о тегах группы включены для всех пользователей
  • Не показывать вкладку «Теги» в управлении группой, если теги отключены
  • N+1 для администраторов, просматривающих страницу групп
  • Использует get() для свойств групп/значков, которые могут быть POJO
  • Попытки сделать автофокус более устойчивым в модальных окнах
  • Маршрут слайга категории не работал для настройки подпапки
  • Очистить кэш таблиц стилей при изменении базового шрифта
  • Отсутствующие файлы из предыдущего коммита
  • Регрессия позиционирования обёртки прогресса темы
  • Ширина и высота изображения должны быть в кавычках
  • Упрощение обновления searchedTerms из коннекторов
  • TopicQuery.list_private_messages_unread игнорирует уровень уведомления
  • Улучшения после рецензирования кода
  • Спецификация для исправления безопасности изображений слишком большого размера
  • Wizard не включает discourse-shims
  • Добавлены shims для popper в wizard
  • Пометить только загрузки как проверенные/непроверенные в инвентаре S3
  • Ошибки загрузки иногда не отображались правильно
  • Сделать форму использовать /u/admin-login вместо /users/admin-login
  • Выбранное разнообразие было смещено на единицу
  • isVisible больше не разрешено, даже если используется правильно
  • Использовалась глобальная переменная Popper
  • Ember устарел isVisible в новых версиях
  • Гарантирует, что фокус сбрасывается перед фокусом на гиперссылку ввода
  • Обернуть модальное окно onShow внутри next
  • Убедиться, что загрузки связаны с постом при пересмотре поста
  • Предотвратить предупреждения «загрузки отсутствуют в S3» после восстановления резервной копии
  • Предотвращает сбой eslint из-за несовпадающих шаблонов в плагинах
  • Tags_filter_regexp не применялся при переименовании тега
  • Убедиться, что атрибуты rel установлены правильно.
  • Добавлено важное объявление для утилиты/вспомогательного класса .hidden
  • Игнорировать пустые поисковые запросы в запросах тем
  • Учёт различных состояний редактора «редактировать» в discourse-presence
  • Обновить first_pm_unread_at групп пользователя без непрочитанных.
  • Чекбоксы поиска неправильно отмечались при схожем префиксе.
  • Поиск администратора по ЛС должен искать только свои ЛС.
  • Topic_creator принимает participant_count в режиме импорта
  • Мы должны сначала проверить отслеживаемые слова, даже если пользователь печатает быстро.
  • approve post count не учитывал новые темы
  • Администратор всегда должен иметь возможность просматривать сообщения группы.
  • Мы изменили способ разрешения __widget_helpers
  • Обрабатывает различные случаи состояний canInvite/canRemove в ЛС
  • Обходное решение: имя конструктора недоступно после транспиляции
  • Обернуть вызов popper в afterRender и использовать createPopper
  • Сделать закладки удалённых постов темы более устойчивыми
  • Позволяет вызывать script_asset_url в контроллерах
  • Гарантирует, что мы не пытаемся конкатенировать пустой список
  • Предзагрузка жирных шрифтов в wizard
  • Предотвращает ошибку при открытии композера со страницы тега
  • Сделать список ссылок краулера совместимым с рекомендациями Google Schema.
  • Преобразование массива jQuery в массив JS
  • Ой, линтинг
  • Попытка загрузки Gravatar, если у пользователя отсутствует электронная почта
  • Не отправлять рассылку для поста с пустым содержимым
  • Highlightjs 10 требует загрузки некоторых языков до других
  • Удалить свойство font-famly в классах .font-
  • Системное сообщение не было полностью переводимым
  • Обновление highlightjs до последней версии для избежания зависания
  • Проверить, истёк ли срок действия приглашения перед его отображением
  • Добавлять в набор результатов тегов только видимые теги
  • Не выдавать ошибку в задаче обновления имени пользователя, если пользователь был удалён.
  • Подождать группы перед отображением пустого сообщения
  • Добавить переключатель кэша для шрифтов
  • Разрешить доставку шрифтов через CDN
  • Пропустить журнал действий просмотра ЛС при генерации полезной нагрузки вебхука.
  • Экспорт предпочтений категорий пользователем для удалённой категории.
  • Emails.rake используют аутентификацию
  • Изменить уведомление после удаления auto_watch_category
  • Обработка удалённых категорий при экспорте постов
  • Фокус на первой кнопке в меню администратора темы
  • Убедиться, что отключение 2FA работает как ожидалось
  • Отключить кнопку вставки ссылки при редактировании категории
  • Нестабильный JS-тест из-за ожидания промисов
  • Не выдавать ошибку, когда закладка темы равна nil
  • Не устанавливать color_scheme_id в опциях пользователя, когда ни одна схема не отмечена как выбираемая
  • Переводы во множественном числе не работали для en_US
  • UserAction не имел перечисления типов
  • Обновление onebox для исправления oneboxes soundcloud
  • Приостановка API требует параметров suspend_until и reason
  • Удалить дополнительные пути из robots.txt
  • Настройка сайта default_tags_muted не будет иметь идентификаторов тегов.
  • Гарантирует, что period-chooser не теряет параметры запроса
  • Правильное перенаправление после внешнего входа на сайтах с подпапками
  • Убедиться, что таймеры темы, принадлежащие удалённым темам, уничтожены.
  • Очистить переключатель таймера закрытой темы, когда пользователь не авторизован.
  • Очистить topic_timers, когда они больше не действительны.
  • Убедиться, что autoclose на основе последнего поста выполняется системным пользователем.
  • Таймер темы автоматически открывает закрытые темы
  • Символы и строки должны обрабатываться одинаково при сохранении пользовательских полей
  • Сайт QUnit должен быть установлен перед reset()
  • Рендеринг на стороне сервера был сломан с новым helperContext()
  • Удалить контейнер из утилит
  • РАЗРАБОТКА: Улучшения Lock-on
  • Использовать requestAnimationFrame
  • :bug: регулярное выражение поиска по категориям и тегам для поддержки тайских символов
  • Ограничить количество пользователей, которых можно добавить в группу одновременно
  • Разрешены дубликаты категорий и тегов в полях ввода, где они не должны быть разрешены
  • Поля ввода категорий группы иногда не заполняются
  • Улучшение импорта Vanilla
  • Текущий заголовок не был виден при назначении заголовка значка
  • Гарантирует, что код разнообразия не применяется несколько раз
  • Закрыть пикер при выборе эмодзи на мобильном устройстве
  • Добавить параметр сброса кэша для Ace-редактора JavaScript
  • Удалить us_pacific-new из списка доступных часовых поясов
  • Прекратить маркировку логотипа категории и фона как защищённых
  • Ограничить расширенный поисковый фильтр personal_messages: только администратором.
  • Исправить расширенный поисковый фильтр personal_messages:``.
  • Удалить ненужную загрузку родительского элемента аудио/видео
  • Предпочитать часовые пояса timezone для предпросмотров
  • Резервные копии должны использовать относительные пути для локальных загрузок
  • Отображать предупреждение только если все пользователи уже добавлены в группу
  • Topic.similar_to приводит к ошибке, если cooked raw пустой.
  • Список закладок показывает неправильное сообщение об отсутствии контента
  • Wizard не мог правильно отправить пользовательские цветовые схемы клиенту

Изменения UX

  • Использовать простой список для настроек без вариантов выбора
  • Гарантирует последовательный рендеринг значка новой темы
  • Удалить номер поста из метки композера
  • Заменить «Загрузка…» в цитатах на спиннер
  • Добавить ширину и высоту к встроенному аватару GitHub onebox в электронных письмах.
  • Обновить стилизацию тёмного режима для оверлея нового пользователя
  • Расстояние в ландшафтном режиме на устройствах iOS с вырезом
  • Удалить лишние многоточия после «загрузка»
  • Делает пикер эмодзи регистронезависимым
  • Сделать страницу новых и отображения ключей API немного более отзывчивой
  • Отображать название группы модераторов в выпадающем меню групп.
  • Предотвращает автоматическое написание заглавной буквы/исправление в пикере эмодзи
  • Добавить отсутствующие метки на кнопки композера на мобильном устройстве
  • Скрыть чекбокс значков настроек категории, когда enable_badges выключен
  • Обернуть слишком длинные ссылки в GitHub oneboxes вместо переполнения
  • Не оборачивать иконки статуса темы в заголовке, если их больше одной
  • Переработать меню пользователя, чтобы ссылки пользователя были находимы
  • Сделать количество тем в категории кликабельным на мобильном устройстве
  • Лучшая обработка длинных названий категорий и панели кнопок в композере
  • Уточнить форматирование часового пояса
  • Отображать общую ошибку при загрузке для статуса XHR 0
  • Добавить category-title-before в макет категорий-коробок
  • Таймлайн должен переходить к низу поста в темах с одним постом
  • Небольшие исправления макета и улучшенная согласованность в администраторе темы
  • Улучшает пикер на автоматических тёмных темах
  • Привести имя тега к нижнему регистру перед проверкой его с заголовком темы.
  • Настройки выпадающего меню цветовой палитры администратора

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

  • Удалить поиск category_user при загрузке личных сообщений.
  • Исправить запросы N+1 на маршруте личных сообщений.
  • Исправить сломанную мемоизацию в GroupShowSerializer.
  • Использовать 1 запрос для загрузки группы и уведомления по умолчанию для тегов.
  • Удалить один ненужный запрос при проверке тёмного режима.
  • Мемоизировать вызовы ApplicationHelper#scheme_id.
  • Отслеживать первый непрочитанный ЛС и первый непрочитанный групповой ЛС для пользователя.
  • Не загружать все poll_votes для опроса
  • Добавить частичный индекс для reviewables для просмотра темы
  • Создать частичный регулярный индекс post_search_data на больших сайтах.
  • Избежать дополнительного подзапроса при поиске внутри ЛС для обычного пользователя.
  • Отложить индексацию поста для поиска при сохранении поста.
26 лайков