3.0.0.beta15: Завершение перехода на Discourse 3.0 (с боковой панелью, чатом, новыми меню и многим другим)

:dizzy: Что нового в Discourse 3.0.0.beta15?

Эта бета-версия переводит нас с 2.9.0.beta14 на 3.0.0.beta15, так как мы планируем существенное увеличение версии в январе, чтобы объединить различные интересные изменения в Discourse:

:new: Боковая панель + новое меню пользователя (значительное изменение внешнего вида Discourse)
:new: Discourse Chat (теперь включено в исходное дерево Discourse)

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

Хэштеги получили #преображение!

Чат и боковая панель теперь включены по умолчанию

Благодаря этому изменению, Чат и боковая панель теперь включены через настройки сайта на всех новых экземплярах Discourse! Хотя для существующих сайтов изменений нет, администраторы могут включить их через настройки сайта chat enabled и sidebar или запустив Мастер настройки (discourse.example.com/wizard).

Улучшенный опыт администратора

Помимо различных других улучшений в Discourse 3.0, вы увидите полезные новые переключатели каждый раз, когда администраторы запускают Мастер настройки:

Ещё одно изменение — отправка администраторам нового уведомления, когда после обновления/развёртывания на сайте появляются новые функции:

Упрощение режима «Не беспокоить», статуса пользователя и уведомлений

Режим «Не беспокоить» был интегрирован со статусом пользователя и переименован в «Приостановить уведомления».

  • Статус пользователя теперь отображается на страницах групп
  • Отображение актуального статуса пользователя при прямых упоминаниях в сообщениях
  • Добавление области видимости user_status для UserApiKey

Ещё больше :new: функций!

  • Предупреждение администраторов о раскрытии названия приватной группы анонимным пользователям
  • Добавление переключателя для скрытия/показа паролей
  • Onebox для встраивания Motoko
  • Добавление поддержки пуш-уведомлений для десктопа в ядре
  • Сортировка хэштегов, начинающихся с термина, с более высоким приоритетом
  • Разделение типов уведомлений для тем, за которыми следят напрямую и косвенно
  • Разрешение модераторам категорий устанавливать таймеры автоматического удаления тем
  • Отображение похожих пользователей при наложении штрафа на пользователя
  • Опциональное указание отдельного s3_asset_cdn_url
  • Разрешение отображения результатов автодополнения хэштегов без термина
  • Улучшенный интерфейс управления 2FA
  • Принудительное ограничение количества упоминаний в сообщениях чата
  • Отображение актуального статуса пользователя при прямых упоминаниях в сообщениях
  • Поддержка Onebox для YouTube Shorts
  • Добавление области видимости user_status для UserApiKey
  • Улучшение предупреждений композера для упоминаний
  • Каналы могут разрешать/запрещать упоминания @all/@here
  • Добавление экспериментального API плагинов для регистрации выпадающего меню навигации сообщений
  • Разделение индикаторов уведомлений для новых личных сообщений и проверяемых материалов
24 лайка

Ещё больше!

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

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

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

  • Ограничение создания тем без списка участников

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

discourse-animated-avatars

Новые функции
  • Разрешить всегда анимированные аватары

discourse-assign

Новые функции
  • Не предлагать пользователей, находящихся в отпуске
  • Сделать плагин совместимым с переработанными сообщениями пользователей
Изменения UX
  • Обновить небольшие действия для использования предложения с заглавной буквы

discourse-bbcode

Изменения безопасности
  • Исправить разрешённые имена шрифтов

discourse-calendar

Новые функции
  • Добавить опцию для поднятия темы

discourse-checklist

Изменения UX
  • Использовать флажки в качестве маркеров в маркированных списках

discourse-encrypt

Изменения UX
  • Не включать зашифрованные сообщения при поиске в групповых сообщениях.

discourse-footnote

Изменения UX
  • Предотвратить переполнение из-за длинных строк

discourse-post-voting

Исправления ошибок
  • Настройка категории create_as_post_voting_default не работает как ожидалось.
  • Обработка ответов на первое сообщение через электронную почту как ответов.
  • Редакционные правки

discourse-question-answer-discourse

Исправления ошибок
  • Настройка категории create_as_post_voting_default не работает как ожидалось.
  • Обработка ответов на первое сообщение через электронную почту как ответов.
  • Редакционные правки

discourse-saml

Исправления ошибок
  • Добавить idp_cert_multi в формате хеша с ключом signing.

discourse-spoiler-alert

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

Дополнительные исправления и улучшения

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

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

  • Более стабильные системные тесты
  • Корректное использование request_uri для генерации load_more_url
  • На данном этапе компонент может быть уничтожен
  • Корректное всегда возвращение промиса из loadMore
  • Обеспечение того, что загрузка дополнительных данных не стирает фильтр при просмотре
  • Обновление конфигурации nginx для v1.23
  • Не показывать баннер push-уведомлений для MacOS
  • Добавить отсутствующий шаблон электронной почты для user_watching_category_or_tag
  • Различные исправления статуса архива канала
  • Отображение статуса в упоминаниях только что опубликованных сообщений
  • Избегание состояний гонки при переключении состояния присутствия
  • Отмена получения сообщений, когда панель уничтожена
  • Аргумент DButton с многоточием
  • Отображение заголовков тем в удалённых сообщениях
  • Корректная обработка DNS, выданных при поиске SSRF при встроенном однобоксинге
  • Удаление пропущенных устаревших путей chat_channels
  • Корректное разрешение администратору посещать страницу настроек чата пользователя
  • Корректная обработка навигации к сообщению
  • Всплывающая подсказка Whisper показывает разрешённые группы
  • Более надёжная спецификация канала архива
  • Обеспечение того, что восстановление сети не создаёт непрочитанные упоминания
  • Обход ошибки в gem R2
  • Администратор не может видеть настройки боковой панели пользователя других пользователей
  • Нестабильная спецификация из-за автозаполнения
  • Увеличение времени ожидания для предотвращения конкретной нестабильной спецификации
  • Исправление автозаполнения с исчезновением и стрелкой клавиатуры чата
  • Разрешение вложенных транскриптов чата
  • Обеспечение наличия исправленной версии gem CGI
  • Повторное включение тестов using_session
  • Предотвращение воспроизведения звука чата в режиме DnD
  • Стили статуса пользователя в упоминаниях
  • Прокрутка автозаполнения со стрелкой для упоминания
  • Предотвращение создания объекта User со значением null
  • Ссылка на настройки боковой панели отображается, когда меню навигации устарело
  • Триггер обновления последнего прочитанного, когда сообщение не в черновике
  • Плагин Prometheus ожидает webrick в продакшене
  • Исправление регрессии с last_read_message_id
  • Разрешение администратору получать доступ к настройкам пользователей
  • Корректная сортировка публичных каналов
  • Улучшенная обработка ошибок chat-api
  • Предотвращение генерации chat-api URL с двойным слэшем
  • Цитирование упоминания с эмодзи статуса ломает упоминание
  • Прокрутка автозаполнения хэштегов со стрелками клавиатуры и исчезновением
  • Включение тегов внутри групп тегов для поиска хэштегов
  • Адаптивные кнопки и более широкий контейнер контента
  • Не возвращать затенённые дочерние категории для поиска хэштегов без термина
  • TL0 не мог отправлять сообщения группе с everyone messageable_level
  • Не предполагать чистое состояние в тестах
  • Не валидировать slug канала, если он не изменился
  • Box-sizing для аватаров
  • Типы уведомлений Discourse-follow
  • Добавить отсутствующие аргументы user_id для ChatMessage.cook
  • Доступ к чату категории только когда пользователь может создавать сообщения
  • Использование строки, которое было потеряно при слиянии git
  • Удаление магических временных диапазонов
  • Разрешить backspace в автозаполнение хэштегов
  • Прокрутка контейнера автозаполнения при нажатии стрелки
  • Удаление сохранения user_option для настройки автоматического удаления закладок
  • Корректный парсинг вебхуков Mandrill
  • Добавить иконки REPLACEMENTS в стильгайд
  • Порядок темы в сводке электронной почты должен быть последовательным
  • Использовать правильные правила множественного числа для русского языка
  • Невозможно изменить стиль домашней страницы через мастер
  • Не дублировать проверку при редактировании сообщения чата для удаления файлов
  • Недопустимый путь маршрута для ссылки на предупреждения информации персонала
  • Правильный подсчёт попыток блокировки DistributedMutex
  • Удалить предупреждение консоли для “nohighlight”
  • Сброс состояния контроллера поиска
  • Убедиться, что статус пользователя в упоминаниях не вызывает сбоев в плагинах
  • Стилизация многоточия в однобоксинге GitHub регрессировала в 9d03f20
  • Восстановить отсутствующий текст для read_more и read_more_in_category
  • Более конкретное имя класса для избежания коллизий
  • Убедиться, что сгенерированные tsqueries действительны
  • Регрессия multipart uppy загрузки в 80e422c
  • Обеспечить, чтобы автозаполнение хэштегов не было скрыто клавиатурой в чате
  • Не возвращать каналы для хэштегов, если пользователь не может использовать чат
  • Сломанные изображения при установке в подпапке
  • Сломанный URL эмодзи при сбросе пароля с подпапкой
  • Новое уведомление PM должно иметь приоритет над упоминанием
  • Серверный поиск хэштегов для защищённых категорий пользователя
  • Корректное скрытие настроек администратора в настройках канала
  • Отображение времени последнего совпадения для заблокированного IP-адреса
  • Регрессия вебхука администратора в 321b14d
  • Не предоставлять советы относительно соответствия GDPR
  • Добавить перевод для настройки
  • Дублирование результатов поиска хэштегов на основе разрешений
  • Использовать правильное свойство для color_scheme_id темы
  • Не сбрасывать просмотренные всплывающие окна, когда skip_new_user_tips false
  • Страница профиля не загружается
  • Ошибка при открытии ранее удалённого сообщения
  • Вебхук должен обновлять last_message_sent_at канала
  • Использовать CDN, когда доступно, для звуков mp3 чата
  • Фрагменты URL не очищаются
  • Обновить match_count для заблокированного IP-адреса
  • Новое сообщение поднимает канал прямого сообщения наверх
  • Обнулять активный канал только когда не на канале чата
  • Изменять только защищённые ссылки боковой панели при повышении/понижении пользователя
  • Не принудительно показывать карту темы на сообщениях, не являющихся первыми
  • Обеспечить обновление метаданных даты канала чата
  • Ошибка меню пользователя при переходе с узкого экрана
  • Deactivate не вызывается во всех случаях
  • Включить CDN в результат хелпера avatarUrl
  • Изменить создание пермалинков Drupal на использование /node/
  • Обеспечить уникальность slug канала чата на уровне БД
  • Добавить MessageBust.last_id в подписки канала чата
  • Маршрутизация относительных URL только на страницах ember-cli
  • Замена эмодзи отслеживаемых слов
  • Не обновлять URL в GitImporter
  • Наблюдать за ограничениями создания тем без списка участников в спецификациях создателя сообщения
  • Ошибка замены текста хэштега в электронной почте
  • Не заменять текст хэштега WatchedWords
  • Обработка null класса svg при парсинге выдержки
  • Исключить заявленные обзоры из меню пользователя
  • Горизонтальная прокрутка работала некорректно
  • При следовании перенаправлениям перед клонированием использовать первый запрос git
  • Валидировать, что ключ отписки имеет связанного пользователя
  • ScrollingPostStream регрессировал в #15313
  • Отображение информации о канале чата на элементах обзора
  • Разрешить компонентам reviewable-item быть только шаблонными
  • Отступ для боковой панели и обновлённого меню пользователя на iPad
  • Разрешить svg в однобоксинге в определённых случаях
  • Улучшить сообщение при публикации дублирующейся ссылки
  • Не уведомлять об удалении сообщения при согласии с автоматическими флагами.

Изменения UX

  • Улучшить текст для контактного email и описания URL
  • Переключить webkit на псевдоэлемент для исчезновения
  • Изменения текста мастера настройки и вертикальное выравнивание полей логотипа
  • Временно отменить изменение подсветки автозаполнения
  • Обновить имя класса на что-то не конфликтующее
  • Улучшения шага мастера
  • Переработка и рефакторинг модальных окон штрафов
  • Стилизация автозаполнения хэштегов
  • Переименовать «Не беспокоить» в «Пауза уведомлений»
  • Добавить всплывающую подсказку, почему загрузка файлов отключена
  • Изменить цвет предпросмотра карточки в каналах
  • Обновить текст небольших действий для использования предложения с заглавной буквы
  • Добавить новую вариацию boxshadow
  • Изменить цвет подсветки
  • Включить пробел между элементами в теге kbd
  • Более последовательный стиль для нового баннера темы
  • Добавить информацию о лайтбоксе в настройки максимальной ширины/высоты изображения
  • Исключить дочерние категории затенённой категории в поиске по аналогии
  • Опустить инструкцию, когда email_time_window_mins выключен
  • Улучшить навигацию для сообщений пользователей на малых экранах
  • Отрегулировать размер эмодзи в упоминаниях
  • Исключить игнорируемые категории поиска и затенённые категории пользователя в поиске по аналогии
  • Рефакторинг и обновление стилей небольших сообщений
  • Добавить target для ссылки начать обсуждение
  • Улучшить UI диалога удаления группы
  • Удалить тишину из действий сообщения чата
  • Рефакторинг индекса чата

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

  • Избегать выполнения избыточного запроса закладок для анонимного просмотра темы
  • Мемоизация проверок уровня темы в PostGuardian
  • Удалить избыточные запросы к БД из TopicView
  • Сделать уведомления об упоминаниях в чате асинхронными.
  • Игнорировать повторяющиеся вызовы PresenceChannel leave/join
  • Оптимизировать производительность запроса TopicLink.topic_map
  • Исправить проблему N+1 запросов на странице просмотра темы
  • Исправить N+1 запросы на маршруте /categories
  • Удалить ненужный запрос из TopicQuery.remove_muted_tags
  • Исправить N+1 запросы при сериализации авторов темы
  • Прекратить сериализацию пользователя в ChatChannelSerializer#current_user_membership
  • Использовать MessageBus.last_ids вместо MessageBus.last_id для чата
  • Удалить ненужный SQL UNION запрос при поиске публичных каналов
  • Добавить индекс для запроса непрочитанных сообщений чата
  • Удалить ненужные запросы к БД при предзагрузке для чата
  • Выполнять только одно обновление категории при создании новой темы
  • Улучшить обработку заголовка Accept для стилей и theme-js
  • Добавить GlobalSetting для перенаправления аватаров вместо проксирования
  • Не отменять debounce и предотвращать popper при прокрутке
  • Обновить кэш счётчика Group#user_count вне транзакции БД
11 лайков

Пост был разделен на новую тему: Настройки пользователя по-прежнему ссылаются на «Не беспокоить» в версии 3.0.0.beta16