2.9.0.beta10: Боковая панель, новое меню уведомлений, исправления безопасности и многое другое

Новые функции в версии 2.9.0.beta10

Боковая панель и новое меню уведомлений

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

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

  • Обработка незавершённых цитат в BBCode (CVE-2022-39232)
  • Ограничение длины полей профиля пользователя (CVE-2022-39226)
  • Модератор не должен иметь возможность импортировать тему через API (CVE-2022-36068)
  • Предотвращение произвольной записи файлов при распаковке (CVE-2022-36066)

Сохранение настроенной высоты редактора

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

Новое настройка сайта «Разрешённые группы для личных сообщений»

Настройки сайта «Включить личные сообщения» и «Минимальный уровень доверия для отправки сообщений» заменены на «Разрешённые группы для личных сообщений». Теперь администраторы сайта могут настроить, какие группы могут создавать личные сообщения.

Предупреждение при отправке ЛС пользователю, который давно не был на Discourse

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

Дополнительные функции

  • Добавлена настройка сайта для отключения имён пользователей в ссылках для обмена
  • Навигация по выбору эмодзи с помощью стрелок клавиатуры
  • Добавлены всплывающие подсказки для дат начала/окончания временной шкалы
  • Замена категории Lounge на General на новых экземплярах
  • Добавлен переключатель безопасного режима на странице /u/admin-login
  • Раннее предложение пользователям PWA включить push-уведомления
  • Добавлена кнопка отправки редактора на весь экран и соответствующее приглашение

И ещё больше!

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

24 лайка

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

Исправлено

Исправление ошибок
  • Закрепить стабильную версию на рабочей
Изменения в UX
  • Отображать плейсхолдер пустой страницы вместо синей панели с надписью «Нет активности»

Graphviz

Исправление ошибок
  • Предотвращение исключения, если заголовок не был предоставлен

Назначение

Новые функции
  • Добавление вкладки «Назначения» в экспериментальное меню пользователя
Исправление ошибок
  • Исправление сбоя из-за отсутствия eager loading для flair_uploads
  • Перемещение типов списка уведомлений о назначениях в класс вкладки
  • Использование grouped_unread_notifications
  • Подсчёт только активных назначений при проверке лимитов
  • Исправление ошибки массового удаления постов, когда пост действия уже удалён
  • Поиск более подходящих пользователей для автоматического назначения
  • Проверка, совпадает ли назначение с тем же пользователем и деталями
Изменения в UX
  • Добавление заголовка для вкладки назначений в меню пользователя

OpenID Connect

Исправление ошибок
  • Корректная обработка несовпадения sub между idtoken и userinfo

Политика

Исправление ошибок
  • Перемещение локалей на верхний уровень для поддержки заголовка

Интеграция чата

Новые функции
  • Добавление Guilded в качестве провайдера

Подписки

Исправление ошибок
  • Плейсхолдер промокода

Salesforce

Новые функции
  • Добавление нового параметра сайта для изменения URL сервера авторизации.
Исправление ошибок
  • Добавление поля в preloaded_topic_custom_fields
  • Исправление ссылок на find_id_by_email

Подписка

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

Автоматизация

Новые функции
  • Скрипт поста
  • Очистка глобальных уведомлений при публикации пользователем
  • Триггер удаления из группы
  • Разрешение фильтра по тегам после обработки поста
Исправление ошибок
  • Экранирование HTML-тегов перед рендерингом кнопки удаления

Голоса «за» (ранее Q&A)

Исправление ошибок
  • Уточнение сообщения об ошибке для окна действия отмены голоса
  • Убедиться, что класс темы QA применяется во всех случаях

Реакции

Исправление ошибок
  • Отображение курсора «не разрешено», если тема архивирована

Чат

Новые функции
  • Добавлена поддержка ненадёжных сетей
  • Отображение статуса пользователя на каналах прямых сообщений в боковой панели
  • Скрытие раздела публичных каналов, если они недоступны
  • Разрешение изменения настроек уведомлений канала DM
  • Отображение статусов пользователей в результатах поиска при отправке прямого сообщения
Исправление ошибок
  • Не отправлять уведомления на рабочий стол/мобильное устройство для отключённого канала
  • Элемент ответа вызывал появление горизонтальной прокрутки
  • Dev populate всё ещё ломается при отсутствии пользователя администратора
  • Сделать полосу прокрутки видимой на iOS
  • Незначительные доработки выбора эмодзи в сообщении чата
  • Обеспечение того, чтобы refreshTrackingState ничего не делал в анонимном режиме
  • Откат части 1b30db
  • Поиск не фильтрует по подписке
  • Перемещение типов списка уведомлений чата в класс вкладки
  • Перемещение якоря выбора эмодзи внутрь msg-actions
  • Различные проблемы с позиционированием выбора эмодзи
  • Рендеринг выбора эмодзи вне сообщения
  • Перевод только в chat-message-container
  • Перемещение chat-msg-actions-mobile в live-pane
  • Доработки прокрутки live-pane
  • Проверка масштабирования не работает с тестами
  • Предотвращение удаления категории, имеющей каналы
  • Незначительные доработки скелетона
  • Использование grouped_unread_notifications
  • DiscourseComputed ведёт себя странно в нативном классе контроллера в продакшене
  • /chat/chat_channels/:id предназначен только для json
  • Проверяется только наличие пользователя и наличие непрочитанных сообщений
  • Обеспечение того, чтобы загрузки не выходили за пределы контейнера
  • Обеспечение сортировки DM по событию нового канала
  • Стрелка вверх должна редактировать последнее не staged сообщение
  • Корректная поддержка упоминаний Unicode
  • Удаление удалённых сообщений при достижении лимита хранения
  • Отображение ошибки при возврате 429 при переключении каналов
  • Только действующий пользователь должен отслеживать канал при создании
  • Полагается на core composer-height, который теперь должен быть корректным
  • Обновление класса для скрытия уведомления о режиме bootstrap
  • Предотвращение использования ярлыка Esc для удаления содержимого в полноэкранном режиме
  • Не запускать несколько событий прокрутки при прокрутке в будущее.
  • Корректная ссылка на сообщение канала
  • Не пытаться прокрутить к последнему прочитанному сообщению при загрузке из последнего.
  • Не отображать статус пользователя на каналах прямых сообщений с несколькими пользователями
  • Не ограничивать сообщения MB только группами персонала для публичных каналов
Изменения в UX
  • Добавление заголовка для вкладки уведомлений чата в меню пользователя
  • Добавление ленивой загрузки и плейсхолдера доминирующего цвета для загрузок
  • Добавление текста справки для URL вебхука и удаление со страницы индекса
  • Доработка отступов композера
  • Уменьшение отступов при видимой клавиатуре
  • Доработка отступов на мобильных устройствах
  • Доработка стилей композера
  • Исправление выравнивания элементов full-page-header
  • По умолчанию размещение выбора эмодзи сверху
  • Реализация скелетона загрузки чата
  • Улучшение стиля повторной отправки staged сообщения
  • Скрытие переполнения изображений в чате
  • Отображение статуса рядом с постами с использованием нового компонента с расширенной подсказкой
  • Отображение статуса в списке чатов прямых сообщений с использованием нового компонента с расширенной подсказкой
  • Делает oneboxes на всю ширину для предотвращения разной ширины
  • Всегда применяет правый отступ 15px к ящику
  • Добавляет небольшой отступ сверху композера чата
Изменения в безопасности
  • Обеспечение корректного экранирования содержимого htmlSafe.

Календарь

Новые функции
  • Добавление национального дня траура Австралии
  • Разрешение более длинных названий событий
Исправление ошибок
  • Опечатка в #321
  • Добавление записи перевода для Индонезии
  • Возвращение подрегионов праздников, удалённых из-за консолидации
  • Обновление перевода регионов для включения Ганы

Шаблоны

Новые функции
  • Вставка шаблонов в любое текстовое поле с помощью сочетания клавиш

Data Explorer

Исправление ошибок
  • Разрешение группам доступа к системным запросам
  • Исправление синего цвета иконки закладки

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

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

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

  • Опциональное отображение статуса пользователя в селекторе групп пользователей по электронной почте
  • Добавление ссылки на обзор в раздел сообщества для авторизованного пользователя
  • Интерфейс JS API для плагинов hljs
  • Новый параметр сайта для установки локали из cookie для анонимных пользователей.
  • Добавление параметра сайта для включения идентификаторов связанных учётных записей пользователей.
  • Превращение статуса пользователя в публичную экспериментальную функцию
  • Кардинальное обновление потоков электронной почты
  • Отображение описания статуса пользователя во всплывающем окне упоминания
  • Делание статуса пользователя в потоках постов живым
  • Добавление простого импортера CSV
  • Подсчёт просмотров на опубликованных страницах
  • Ограничение максимального числа получателей для групповых писем
  • Отображение даты по умолчанию на селекторах времени с ярлыками
  • Запуск события backup_failed при сбое резервного копирования
  • Открытие модального окна создания приглашения из баннера уведомления bootstrap
  • Разрешение настройки параметров тайм-аута SMTP
  • Разрешение отключения поля флажка мастера
  • Отображение статуса в результатах поиска при упоминании пользователя в композерах

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

  • Использование Category#category_text для заголовка боковой панели
  • Опечатка миграции для secure_uploads
  • Обеспечение видимости gripie композера
  • Некоторые сообщения композера были сломаны
  • 404 при отправке маяка «покинуть всё» при установке в подпапке
  • Рекурсивное тегирование тем с отсутствующими родительскими тегами
  • Убедиться, что темы рекомендуемых категорий уникальны
  • Условие list_suggested_for для personal_message_enabled_groups
  • Лучшее обнаружение виртуальной клавиатуры на Android
  • Обновление страницы результатов пользователей, когда пользователи не найдены
  • Неправильный регистр для CTA
  • Корректный запрос модели в posts:inline_uploads
  • Обработка неудачной загрузки при расчёте доминирующего цвета изображения
  • Категории боковой панели для анонимных пользователей не сортируются по имени
  • Пропуск категории без категории в боковой панели, если она отключена
  • Уважение настроек сайта для ссылок на пользователей, группы и значки в боковой панели
  • Скрытие экспериментальных изменений навигации пользователя, если они отключены
  • Сбой миграции БД, если старая настройка сайта имеет пустое значение
  • Добавление отсутствующей строки для reviewables в меню пользователя, когда пост reviewable удалён
  • Исчезновение прокрутки боковой панели на старых версиях iOS
  • Исправление подсветки синтаксиса GitHub onebox
  • Переопределение текста с помощью ключей admin_js.* не работало
  • Пустые inline BBCodes были сломаны
  • Позиция смещения заголовка была неверной в некоторых случаях
  • Не пытаться сериализовать объекты тегов, когда тегирование отключено
  • Внутренние якорные ссылки были сломаны в настройках с подпапками
  • Не удалять предыдущие сообщения, когда мы находимся в окне sent_recently.
  • Корректная передача параметра invite_to_topic в приглашения
  • Обеспечение использования миниатюр загрузки в Safari
  • Обеспечение использования плейсхолдеров низкого разрешения при загрузке изображений
  • Ссылка «Выйти из настройки» должна выходить из мастера и вести пользователя на главную страницу
  • Регрессия с кнопками диалога удаления пользователя администратора
  • Обеспечение корректного именования пространств имён шаблонов Handlebars <script>
  • Сырая строка перевода в подсказке статуса пользователя
  • Компоненты тем должны работать с пустыми файлами локалей
  • Использование определённого плагина имени для пути модуля es6
  • Обеспечение того, чтобы discovery-categories всегда очищал PreloadStore
  • Создание одного уведомления на пост и пользователя
  • Не показывать уведомление «создать темы» на маршруте мастера
  • Хранение приватного ключа темы в секрете от пользователя
  • Возврат следующей страницы закладок только если она существует
  • Немедленное отображение опций SQL при предоставлении запроса значка
  • Скрытие баннера темы приветствия сразу после редактирования темы приветствия
  • Транспилирование start-discourse.js для поддержки iOS12
  • Разрешение пропуска .git в конце URL репозитория Git
  • В сборках prod классы могут не быть «экземплярами» EmberObject
  • Избегание утечки слушателей TopicTrackingState из-за боковой панели
  • Инициализация только общей категории на новых сайтах
  • Не сохранять настройку auto_delete_preference по умолчанию для закладки
  • Не уведомлять администраторов, следящих за тегами PM
  • Не приглашать whisper или авторов небольших действий
  • Отображение селектора тегов, если can_tag_pms
  • Корректная предзагрузка topic_list для категорий+latest
  • Пропуск разрешённого пользователя темы для небольших действий
  • Восстановление уровня доверия при выходе из группы
  • Перезагрузка изменений стилей для шага стилизации мастера
  • LocalJumpError: unexpected return
  • Предотвращение скрытия sk body программной клавиатурой iOS
  • Удаление неожиданной полосы прокрутки из нового меню пользователя
  • Загрузка специфичного для администратора JS при компиляции через ember-cli
  • Выпадающее меню панели гамбургера боковой панели не работает для анонимных пользователей
  • Избегание дублирования запросов topic-list
  • Скрытие кнопки переключения боковой панели, когда боковой панели нет
  • Скрытие боковой панели для анонимных пользователей, когда требуется вход
  • Резервное копирование/восстановление не использовали правильное пространство имён Redis в мульти-сайтах
  • Игнорирование некорректного HTML для извлечения заголовка
  • Перемещение логики показа лайка на клиентскую сторону
  • Отслеживание зависимостей нативных классов в discourseComputed
  • Удаление стиля --composer-height, когда композер закрыт
  • Улучшения кнопки лайка для архивированных тем
  • Разрешение передачи match_all_tags как параметра URL
  • Удаление логики excerpt last_unread_post для закладок
  • Разрешение дополнительного пробела при запросе discobot выполнить команду бота
  • Ограничение новых и существующих staged пользователей для тем электронной почты
  • Отображение уведомления о режиме bootstrap в реальном времени
  • Отключение onebox Twitter без поддержки API
  • Установка --composer-height, когда композер в свёрнутом состоянии
  • Заголовок темы приветствия не был редактируемым
  • Восстановление после проверки guardian при удалении пользователей reviewable.
  • Обеспечение того, чтобы адаптер topic-list никогда не сериализовал undefined
  • Не вызывать ошибку при удалённой теме в UpdateHotlinkedRaw
  • Функция парсинга markdown-it требует аргумент env со значением {} по умолчанию
  • Регрессия с элементом навигации Категории
  • Сброс группы flair, если пользователь удалён из группы
  • Удаление мёртвых и больших изображений из oneboxes
  • Не предпросматривать цветовую схему, если она не является профилем текущего пользователя.
  • Не уведомлять редактор при изменении категории или тега

Изменения в UX

  • Исправление позиции композера в Firefox для Android
  • Добавление флага для ссылки раздела обзора в боковой панели
  • Исправление отступов и высоты для сообщения раздела боковой панели
  • Добавление иконок ко всем ссылкам разделов в боковой панели
  • Восстановление композера полного размера на мобильных устройствах
  • Изменения стилей для соответствия обновлениям
  • Ограничение ширины модального окна «ответить где»
  • Исправление обрезанных акцентов в заголовках боковой панели
  • Исправление плейсхолдеров потока тем
  • Более аккуратное усечение заголовков текста сайта
  • Добавление короткого описания сайта для анонимного пользователя в боковой панели
  • Нажатие на кнопку в боковой панели на мобильных устройствах должно сворачивать её
  • Добавление возможности прокрутки при ограниченной высоте
  • Использование доминирующего цвета в качестве плейсхолдера загрузки изображения
  • Добавление иконок ко всем ссылкам навигации на странице пользователя
  • Корректировки CTA темы приветствия
  • Использование одинакового текста для ссылки на больше категорий и тегов в боковой панели
  • Избегание отображения текстового курсора на не выбираемых элементах
  • Удаление CSS высоты, препятствующего касательной прокрутке боковой панели на мобильных устройствах
  • Улучшение стиля боковой панели на мобильных устройствах
  • Не отмечать заголовок таблицы активности как курсор
  • Повторная попытка «выровнять заголовок по левому краю с содержимым для боковой панели (#18202
  • Улучшение гибкости панели инструментов композера
  • Выравнивание заголовка по левому краю с содержимым для боковой панели
  • Ссылка «ещё» боковой панели для категорий и тегов
  • Смена цветов SVG мастера для тёмного режима
  • Запуск подсказок по клику для сенсорных устройств
  • Изменение иконки уведомления posted на discourse-bell-exclamation
  • Уменьшение размера эмодзи статуса пользователя в потоке постов
  • Исправление ширины панели предварительного просмотра для исправления прокрутки
  • Закрытие обновлённого меню пользователя при открытии модальных окон
  • Отображение информации об ошибках значка при сохранении
  • Улучшение значения max-height в всплывающем меню панели инструментов
  • Увеличение размера шрифта боковой панели на мобильных устройствах
  • Удаление фокуса с иконки гамбургера после переключения
  • Исправление стилей для шага поздравления мастера
  • Удаление запутывающего предупреждения о резервной локали
  • Более очевидные стили фокуса для заголовков боковой панели
  • Откат перемещения полосы прокрутки боковой панели
  • Стилизация боковой панели, согласованность отступов и т. д.
  • Скрытие фонового изображения в виде краулера
  • Добавление ссылки раздела значков в раздел сообщества.
  • Удаление подсветки фона заголовка раздела боковой панели при фокусировке
  • Не показывать заголовок сайта на страницах мастера
  • Исправление скрытого меню администратора темы на узких экранах
  • Настройка поведения полосы прокрутки в боковой панели
  • Скрытие переполнения изображений в чате
  • Корректное центрирование модального окна reply-where
  • Исправление опечатки в копии пустой страницы
  • Улучшение текста пустого состояния на странице активности/ответов
  • Отображение плейсхолдера пустой страницы вместо синей панели с надписью «Нет активности»
  • Не уменьшать размер аватара/коробки с номером
  • Обновление стиля боковой панели
  • Делание опций всплывающего меню прокручиваемыми при ограниченной высоте экрана
  • Сортировка тегов в алфавитном порядке в боковой панели
  • Сортировка категорий в алфавитном порядке в боковой панели
  • Делание иконок ссылок раздела категорий согласованными с интерфейсом боковой панели
  • Делание боковой панели более согласованной с меню пользователя на мобильных устройствах
  • Добавление стилей кнопок плоского текста и использование в модальном окне отмены даты/времени
  • Улучшение удобства использования безопасного режима
  • Уменьшение размера шрифта суффиксной иконки ссылки раздела боковой панели
  • Улучшение стилей компонента сообщения статуса пользователя
  • Удаление лишних отступов в модальном окне фотографии профиля

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

  • Не дублировать сборку общих языков в сборке hljs
  • Пропуск плейсхолдеров изображений, когда включено secure_media
  • Использование предзагрузки для first_post для TopicBookmarkable
  • Минификация сборок JS администратора и мастера для соответствия приложению
  • Загрузка только topic_user текущего пользователя для списка закладок
  • Добавление экспоненциальной задержки для DistributedMutex

Доступность

  • Улучшение доступности карточки пользователя
  • Множественные исправления элементов потока пользователя
  • Связывание метки с полем ввода в модальном окне закладки
  • Добавление aria label для кнопки Esc сообщений композера
  • Доступные кнопки полноэкранного режима и сворачивания композера
  • Использование кнопки в компоненте d-modal-cancel
  • Не включать aria на элементе span с количеством ответов
  • Добавление более понятных состояний фокуса для элементов выбора даты
  • Удержание композера как фокусируемого элемента при закрытии модального окна ссылки с клавиатуры
  • Добавление состояния фокуса для переключателей расширенного поиска
  • Улучшение подсветки при наведении на группу ящиков в тёмных схемах
  • Обеспечение фокуса кнопки избранной темы при закрытии модального окна
  • Делание tabindex панели инструментов независимым от её контекста
  • Перемещение рендеринга якоря из условного для предотвращения потери фокуса
11 лайков