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

Новые функции в версии 2.4.0.beta8

Синонимы тегов

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

Улучшения управления темами

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

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

Обратите внимание, что функция «Добавить все» добавляет только активные темы/компоненты. Если тема или компонент не используются другими темами/компонентами, они не будут добавлены через функцию «Добавить все». Такие темы/компоненты необходимо будет сначала добавить индивидуально хотя бы один раз.

Улучшения опросов

В опросы Discourse добавлены две новые функции. Ранее результаты опросов отображались в виде столбчатых диаграмм. Теперь создатели опросов также могут выбрать отображение в виде круговой диаграммы. Обратите внимание, что при использовании круговой диаграммы невозможно показать, кто проголосовал (публичные голоса).

Опросы (столбчатые и круговые) теперь также могут быть быстро экспортированы администраторами прямо из сообщения. При экспорте администратор получает CSV-файл с полными результатами опроса, который затем можно дополнительно проанализировать по мере необходимости. Обратите внимание, что для работы этой функции должен быть установлен и включен плагин Data Explorer.

Удалена настройка категории suppress from latest

Настройка «Suppress from latest» позволяла администраторам сайтов удалять темы категории из главной страницы сайта по умолчанию, будь то /latest, /categories или что-то иное. Однако эта функция вызывала путаницу у администраторов и пользователей, когда последние меняли свои предпочтения относительно главной страницы. Мы также получали запросы на более полное скрытие категорий, а не только на главной странице. Кроме того, это была настройка на уровне всего сайта, поэтому пользователи, которые хотели видеть категорию на своей главной странице, не имели такой возможности.

Все категории, установленные как suppress_from_latest, будут автоматически помечены как «в игноре» для всех пользователей. Затем пользователи смогут снять категорию с игнора, если предпочтут видеть её на своей главной странице, а также в других представлениях внутри Discourse. Кроме того, для сайтов с большим количеством категорий, большинство из которых не нужно показывать пользователям по умолчанию, добавлена новая настройка сайта «Включать все категории по умолчанию в игнор». Когда включена настройка «Включать все категории по умолчанию в игнор», администраторам следует настроить категории в параметрах default_categories_tracking и default_categories_watching, чтобы переопределить игнорирование и обеспечить, чтобы новые пользователи видели что-то при регистрации на сайте.

Личные сообщения для уровня доверия 2

Пользователи, достигшие уровня доверия 2 (TL2), теперь будут автоматически получать личное сообщение с поздравлением о повышении и предложением начать расширенный учебник для продвинутых пользователей. Как и любой текст в Discourse, это личное сообщение может быть настроено администраторами по мере необходимости.

Ещё больше!

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

  • Поддержка вставки списка имен пользователей в личное сообщение
  • Улучшение обнаружения подозрительных пользователей
  • Объединение уведомлений о запросах на вступление в группу
  • Ограничение количества активных сессий для пользователя
  • Скрытие сообщений из входящей электронной почты на основе вердикта DMARC
  • Улучшение рабочего процесса смены адреса электронной почты
  • Фильтрация элементов на рассмотрение по диапазону дат
  • Отклонение новых элементов по категории
  • Автоматическое перенаправление на аутентификатор, если он только один
  • Уведомление наблюдателей за тегом при добавлении тега к сообщению
37 лайков

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

Akismet

  • Отслеживание состояния Akismet для пользователей
  • Исправление ошибок

Encrypt

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

Assign

  • Добавлена поддержка отправки писем только при назначении другим пользователем (исключены письма при самоназначении)
  • Поддержка фильтрации очереди ревью по назначенному пользователю
  • Исправление ошибок

BCC

Первый релиз. Подробнее:

Math

  • Обновление рендера KaTeX до версии v0.11.1

Translator

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

Solved

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

Chat integration

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

Voting

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

Tooltips

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

Yearly Review

  • Различные улучшения

SAML

  • Поддержка синхронизации статуса модератора, уровня доверия и групп по атрибуту SAML
  • Поддержка дополнительных настроек SAML, таких как ширина/высота рамки, заголовок кнопки и многое другое.

Onebox

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

Calendar

  • Использование новой базовой опции часового пояса для пользователя вместо опции плагина.

Data Explorer

  • Добавлен запрос результатов опроса для поддержки новой базовой функции экспорта опросов
  • Исправление ошибок

Patreon

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

Group Tracker

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

Code Review

  • Предпочтение новых тем старым при отображении следующей непроверенной темы
  • Исправление ошибок

Policy

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

RSS Polling

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

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

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

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

  • Добавлен атрибут topic_filtered_posts_count в сериализатор постов веб-хука.
  • Добавлена скрытая настройка для разрешения unsafe-eval в CSP.
  • Выход плагина рядом с кнопкой создания новой темы.
  • Контроллер текстов сайта теперь обрабатывает страницы и локали.
  • Добавлен часовой пояс в базовые user_options.
  • Новый API для применения пользовательских фильтров к очереди ревью.
  • Поддержка алгоритма RS256 для WebAuthn.
  • Нормализация маршрута сервисного работника.
  • Блокировка паука Screaming Frog SEO по умолчанию.
  • Внедрена стандартная лимитация запросов на уровне приложения по IP.
  • Возможность ограничения поиска по тегу.
  • Разрешение FinalDestination использовать пользовательский агент для конкретных хостов.

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

  • Сохранение тегов ruby и rt при конвертации из HTML в Markdown.
  • Защита URL загрузки в лайтбоксе.
  • Исправлено: BufferedValuesString.split не является функцией.
  • Предотвращение множественных скачков при использовании LockOn.
  • Разрешение nil записи загрузки при миграции на S3.
  • Обеспечение наличия элемента на странице перед прокруткой с LockOn.
  • Использование отфильтрованных постов при определении следующей страницы.
  • Добавление компонента ко всем темам только для активных из них.
  • Перемещение компонентов/тем выбора наверх.
  • Улучшение defaultIsAvailable.
  • Добавление filter(Boolean) и удаление класса кнопки.
  • Входящая ссылка при наличии только слага.
  • Запрет использования только цифр в слагах категорий.
  • Уважение настройки enable_inline_emoji_translation в заголовках.
  • Добавление пробела при вставке через выборщик эмодзи.
  • Линтинг.
  • Правильная фильтрация аватаров читателей, когда пост является шепотом.
  • Вызов правильного метода.
  • Гарантия порядка для корректной отложенной отправки ответов в очереди ревью.
  • Ошибка 500 при отсутствии группировки значков.
  • Скрытие легенды круговой диаграммы, когда результаты сгруппированы.
  • Контейнер круговой диаграммы опроса был слишком большим.
  • Отключение автодополнения категорий или эмодзи в блоках кода.
  • Корректная генерация URL перенаправления при использовании подкаталога.
  • Правильная обработка пути «none» с тремя уровнями.
  • Обеспечение того, что цензура всегда имеет хотя бы пустую строку для обработки.
  • Отложенная задача «send_advanced_tutorial_message» для предотвращения состояний гонки.
  • Оптимизация цитируемых изображений.
  • Добавление уникального индекса в таблицу разработчиков.
  • Исправление опечатки.
  • Убедитесь, что статус приостановки актуален.
  • Добавление data-topic-id к элементу быстрого доступа.
  • Улучшение после ревью кода.
  • Улучшение после ревью кода 2.
  • Использование mapBy и filterBy напрямую.
  • Работа скрапера Google Groups для пользователей G Suite.
  • Кэширование неудачных запросов URL Onebox на стороне сервера.
  • Автоматическая маркировка безопасной загрузки медиа как небезопасной, если она используется для компонента темы.
  • Предоставление вида для краулеров Google PageSpeed.
  • Правильное игнорирование/одобрение ответов при действии над помеченным постом.
  • Не запускать поток входа при выходе из SSO/Аутентификатора.
  • Использование выделенного Onebox для Vimeo для всех типов видео.
  • Правильное изменение размера лениво загружаемых изображений в Onebox.
  • Правильное имя хоста в vimeo.com.
  • Обход проверки FinalDestination для ссылок Vimeo.
  • Не валидировать тему при сбросе bumped_at.
  • Отображение updated_at для даты отправки приглашения.
  • Черновик не очищается при ответе на новую тему.
  • Oneboxer.js бесконечно повторяет неудачные запросы.
  • Улучшение рекуррентности за счет корректного вычисления перехода на летнее время (DST).
  • Не выдавать ошибку при пустом текущем значении в dif.
  • Сборка; запущен prettier.
  • Обновление данных сайта при получении списка категорий.
  • Обновление ACL загрузки только при необходимости.
  • Правильное отображение цитируемых изображений.
  • Более точечная замена символов Markdown.
  • Замена %20 на пробел в имени файла Markdown для загрузок.
  • При отклонении категории уведомление через MessageBus.
  • Предотвращение исключений и дубликатов.
  • Предотвращение дублирования зон часовых поясов в предпросмотре.
  • Неверные имена методов.
  • Всегда возвращать URL secure_proxy_without_cdn для безопасных медиа.
  • Удаление ненужного кода из загрузчика Discourse.
  • Алиасы для функционирования require.
  • Разрешение повторного использования безопасных медиа-загрузок на сайтах с требованием входа.
  • Замена this.get("foo") на this.foo для исправления проверок линтинга.
  • Продолжение работы после a8d58c3b.
  • Обработка немецких кавычек в локальных датах Discourse.
  • Мобильный список тем сверху с точкой и категорией или тегом.
  • Не логировать, если передан недопустимый MIME-тип в приложение.
  • Ошибка EventTarget.
  • Добавление skip_validations еще в одном месте для плагина narrative bot.
  • Разрешение расширенного руководства, когда эмодзи в заголовках отключены.
  • Использование правильного MIME-типа для экспорта тем.
  • Ранний выход из CensoredWordsValidator, если censored_words_regexp равен nil.
  • Onebox для видео Amazon не работал.
  • Разрешение безопасных загрузок, если активна глобальная настройка S3 и проверки enable_s3_uploads.
  • Больше использований Promise, которые не были импортированы.
  • Для одного аутентификатора не прерывать поток регистрации.
  • Отрывки писем для постов, начинающихся с цитаты, отображали имя пользователя.
  • Отключение автоматического поднятия тем с запланированными поднятиями.
  • Параллельная система спецификаций нуждается в отдельной папке загрузки для каждого воркера.
  • Настройка сайта default_categories_muted не работала для анонимных пользователей.
  • Не вставлять конфликтующие строки в таблицу «пользователь категории».
  • Автоматическое восстановление от плохого кэша sprockets в режиме разработки.
  • Невозможность удалить требуемую группу тегов из категории.
  • Ошибки при использовании тегов с двоеточиями в названии.
  • Обеспечение того, что «загрузить еще» учитывает текущую позицию.
  • Улучшенная обработка состояния модели Группы.
  • Клавиша Enter должна отправлять форму сброса пароля, а не обновлять страницу.
  • Символ ЛС в меню пользователя всегда должен отображаться для сотрудников.
  • Нам не нужно так часто обновлять даты.
  • Попытки быть правильными относительно DST при использовании рекуррентности.
  • Тег pmOnly должен вести к сообщениям.
  • Не выдавать ошибку в задаче CleanUpInactiveUserJob, когда пользователь отсутствует.
  • Обеспечение внесения изменений в причины редактирования и отсутствия стирания причин.
  • Поддержка rake db:rollback с плагинами.
  • Включение 5 участников в резюме темы.
  • Использование this.content.category вместо this.category в элементе навигации.
  • Подтверждение нового письма с включенными резервными кодами.
  • Не показывать ботов как читателей постов.
  • Откат поведения мобильного перехода к последнему посту.
  • Хеш версии SVG Sprite должен основываться на результате сборки.
  • Списки тем с тегами должны передавать noSubcategories при построении верхнего меню.
  • Отслеживание состояния темы знает о category_seen_at.
  • Необходимо импортировать open-uri для плагина discourse-narrative-bot.
  • Разрешение импорта тем с подкаталогами в extra_js.
  • Отсутствующие объекты Пользователя в Utilities.
  • Падающие тесты.
  • Отсутствующие скобки.
  • Computed является частью @ember/object, а не @ember/object/computed.
  • Разрешение forceActive без customHref.
  • Не удалять строку nil.
  • Не деактивировать учетные записи администраторов с недавними постами или ключами API.
  • Обновление цитат после перемещения постов.
  • Списки тем, отфильтрованные по тегу и указанному фильтру, не работают.
  • Регрессия в наблюдателях тегов и категорий.
  • Улучшенная обработка ошибок для недопустимых версий бандлов локалей.
  • В случае, если @ember/object еще не загружен.
  • Не пропускать некоторые письма в поиске пользователей.
  • Сохранение изображений эмодзи в описании биографии группы.
  • Еще больше отсутствующих импортов RSVP.
  • Использовался нативный Promise браузера вместо RSVP.
  • Использование правильной переменной класса для получения уровней уведомлений.
  • Удаление магических чисел в уровнях уведомлений.
  • Обновление задачи rake api_key для последних изменений.
  • Возврат предупреждения для Discourse.Session.
  • Добавление предупреждения для Discourse.NavItem на случай использования его темами.
  • Запущен prettier для исправления сборки.
  • Алиасы модулей, которые требуются И импортируются.
  • Подсчет текущего штрафа, если он начался более 6 месяцев назад.
  • Использование конечной точки about.json вместо использования модели ember для получения данных.
  • Исправления взаимодействия значков и заголовков пользователей.
  • Обеспечение того, что требование 2FA для сотрудников выполняется с помощью ключей безопасности.
  • Черновики уникальны по draft_key и user_id.
  • Корректное отображение даты последнего использования в интерфейсе деталей ключа API.
  • Prettier для исправления сборки.
  • Приведение внешнего email SSO к нижнему регистру перед проверкой с email Discourse.
  • Включение опций по умолчанию для Onebox в среде разработки.
  • Внутренняя позиция на временной шкале темы — это позиция прокрутки.
  • Регрессия: не отображение отрывков во временной шкале на мобильных устройствах.
  • Использование длинной версии названий месяцев в форматах даты.
  • Кодирование имен групп Unicode для URL.
  • Слишком много пустого отступа в видео Onebox.

Изменения UX

  • Предотвращение появления полос прокрутки при первоначальной загрузке панели.
  • Корректировка отступов шагов мастера.
  • Пропуск начальных пробелов при выделении при добавлении ссылки.
  • Отображение полного имени группы, даже если заголовок совпадает.
  • Не показывать тень при наведении на изображения на сенсорных устройствах.
  • Отображение очевидного сообщения, когда восстановление резервной копии отключено.
  • Добавление эффекта наведения на изображения в лайтбоксе.
  • Переименование «Скрыть результаты» в «Показать голос» в опросах.
  • Установка выбранного масштаба на 100%, если масштаб не определен.
  • Согласование цвета иконок обмена для тем в темной теме.
  • Увеличение затухания для длинного контента формы регистрации для более очевидной прокрутки.
  • Более очевидная ссылка альтернативной авторизации.
  • Разрешение клавише Enter отправлять тестовое письмо в панели администратора.
  • Вместо общего количества пользователей отображать только количество затронутых пользователей.
  • Добавление индикатора +n в списке тем ЛС.
  • Добавление ссылки на документацию CSP в настройку content_security_policy_script_src.
  • Не добавлять начальные/конечные пробелы при копировании ключа API в Firefox.

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

  • Меньше запросов при конвертации постов.
  • Более длительное кэширование статических ресурсов в NGINX.
23 лайка