2.8.0.beta5: Улучшения PM, вид Unseen, возможность загрузки аватара в зависимости от уровня доверия и многое другое

Новые функции в 2.8.0.beta5

Улучшения личного и группового обмена сообщениями

Мы внесли ряд улучшений в интерфейс сообщений.

  • Легкое переключение между личными и групповыми почтовыми ящиками.
  • Представление «все ящики» для просмотра сообщений как из личного ящика, так и из любых групповых ящиков, к которым у пользователя есть доступ.
  • Списки новых и непрочитанных сообщений — легко увидеть, какие сообщения пришли и которые вы ещё не просматривали, даже если другой участник группы уже прочитал и архивировал их.
  • Возможность массового скрытия новых или непрочитанных сообщений.

Возможность для администратора удалить все сообщения пользователя

По умолчанию Discourse позволяет удалять «все сообщения» пользователя только в том случае, если их меньше 15. Это помогает гарантировать, что пользователь с большим количеством сообщений не будет удалён без ведома персонала о количестве сообщений. Администраторы всегда могли изменить настройку сайта, если требовалось удалить пользователя с большим количеством сообщений. Чтобы избежать необходимости частого изменения настроек администраторами, они теперь освобождены от этого ограничения. Теперь отображается предупреждение, позволяющее администратору удалить все сообщения. Модераторы по-прежнему подчиняются этому ограничению.

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

Новые пользователи, а также пользователи без сообщений, лайков, уведомлений и т. д., часто попадают на страницы в Discourse, которые оказываются «пустыми». Вместо отображения пустой страницы Discourse теперь показывает информацию в нужный момент, чтобы пользователь мог узнать, что в конечном итоге будет показано. Такой контент добавлен на страницу уведомлений, страницу закладок, страницу сообщений и в меню пользователя.

Новое представление «не просмотрено»

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

Пользователи могут получить доступ к разделу «не просмотрено» по адресу /unseen, а администраторы могут добавить его в верхнее меню через настройку сайта top menu.

Отображение количества черновиков в меню пользователя

Теперь в меню пользователя отображается количество сохранённых черновиков. Количество черновиков также отображается на странице активности пользователя.

Возможность загрузки аватаров в зависимости от уровня доверия

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

Доступность

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

26 лайков

Ещё больше!

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

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

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

  • Экранирование имени кота
  • Утечка состояния чтения пользователя по теме для неавторизованных клиентов.
  • Очистка атрибутов d-popover
  • Удаление EmailToken при удалении EmailChangeRequest
  • Не раскрывать пользователя предыдущего whisper-сообщения при удалении темы.
  • Не раскрывать автора whisper-сообщения в личных сообщениях.

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

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

  • Переводы
    • Мы обновили переводы во многих наших плагинах

Assign

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

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

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

  • Исправление иконок групп и сообщений уведомлений
  • Обеспечение того, чтобы move_to_inbox не вызывал ошибку при снятии назначения
  • Сломанные предложения
  • Whisper-малые действия пусты
  • Использование абсолютного позиционирования для выпадающего списка
  • Явное назначение при выборе пользователя
  • Скрытие раздела «Не назначено», если у пользователя нет доступа

Intercom

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

  • Discourse.User устарел

Voting

Изменения UX

  • Добавление быстрой подсказки поиска

Patreon

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

  • Устаревшее использование декораторов

Calendar

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

  • Логика истёкших/неистёкших событий
  • Параметр expired в EventFinder не работал
  • Firefox не позволяет использовать псевдоэлементы для полей ввода
  • Поле ввода слайдеру нужен z-index для Chrome

Data Explorer

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

  • Удаление модального окна импорта запроса

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

  • Кнопка «Назад»

Solved

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

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

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

  • Остановка register_topic_list_preload_user_ids от поломки старых версий
  • Правильная сериализация accepted_answers
  • Фиксация плагина в коммите для старых версий Discourse.

Изменения UX

  • Не показывать сообщение об обучении редактора, если пост является whisper-сообщением

Encrypt

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

  • Расшифровка заголовков закладок

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

  • Анонимные пользователи не могут шифровать ЛС
  • Всегда расшифровывать заголовки тем
  • Кэш поиска может содержать только первые сообщения
  • Включение только результатов, которые пользователь может читать
  • Не скачивать и не расшифровывать один и тот же файл дважды
  • Удаление логических присваиваний через «или»
  • Обеспечение наличия post_search_data
  • Не добавлять результат, если он уже существует
  • Показ модального окна активации, если отсутствует идентификация
  • Сначала расшифровывать заголовки из общих элементов
  • Отображение загрузки изображений в предварительном просмотре редактора
  • Отображение расшифрованного заголовка темы в имени окна

Изменения UX

  • Имитация поведения кнопки копирования

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

  • Получение всех упоминаний, хештегов и загрузок

SAML

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

  • Обновление локаля пользователя на основе атрибутов пользователя в ответе.
  • Синхронизация полей пользователя в соответствии с переменной окружения saml_user_field_statements.

RSS Polling

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

  • Разрешение установки категории Discourse для каждой ленты
  • Обработка RSS-лент YouTube
  • Разрешение фильтрации ленты по свойству категории элементов

Theme Creator

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

  • Обеспечение того, чтобы темы всё ещё можно было сериализовать, если пользователи отсутствуют
  • Больше не использовать Discourse.User

Zoom

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

  • Вызов родительской реализации ContentSecurityPolicy::Extension.path_specific_extension

Reactions

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

  • Не возвращать удалённые сообщения в моих реакциях

Saved Searches

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

  • Разрешение пустого набора сохранённых поисков
  • Не полагаться на глобальный объект Discourse

OpenID Connect

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

  • Обеспечение того, чтобы несовпадение nonce корректно приводило к сбою аутентификации

Category Experts

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

  • Не запускать обработчики событий, когда плагин отключён

LTI

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

  • Разрешение «переподключения» для входов LTI

Antivirus

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

  • Экспорт метрик здоровья в Prometheus.

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

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

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

  • Параметр обновления уровня уведомлений по умолчанию для существующих пользователей.
  • Создание уведомления для выкупленного приглашения
  • Прямые многокомпонентные загрузки S3 через Uppy в редакторе
  • Разрешение добавления кодов малых действий, предназначенных для групп
  • Сортировка закрепленных тем по их колонке pinned_at
  • Исключения ограничения скорости через ENV
  • Первый этап использования Uppy в редакторе
  • Разрешение привязки существующего аккаунта при принятии приглашения
  • Разрешение привязки существующего аккаунта при регистрации через внешнюю аутентификацию
  • Отмена запрета на размещение URL в заголовках для пользователей TL0
  • Запрет на размещение URL в заголовках для пользователей TL-0
  • Отправка события user-card:show
  • Прикрепление лога резервного копирования как загрузки
  • Добавление количества редактирований сообщений к активности пользователя
  • Onebox может сопоставлять движки на основе content_type
  • Начальная реализация прямых загрузок S3 с помощью Uppy и заглушек

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

  • Правильное использование именованных параметров с dir-span
  • Кнопка перехода к ответу в потоке сообщений не работала
  • Обеспечение того, чтобы последовательности ID не сбрасывались во время db:migrate
  • Обновление PresenceChannel#present для работы с Redis 6.0
  • Разрешение работы PresenceChannel с Redis 6.0
  • Правильное применение необычных отступов к выпадающим спискам профиля
  • Захват метаданных S3 при вызове create_multipart
  • Правильное отображение кодовых onebox от GitHub
  • Не отправлять письма подписчикам mailing_list_mode для ЛС
  • Сброс темы reset_new без области видимости вызывал огромные запросы
  • Не добавлять префикс временным ключам S3 с s3_bucket_folder_path в S3Helper
  • Сервис LogsNotice никогда не отписывался от mbus
  • Удаление пробелов из GitHub onebox
  • Добавление события плагина в поиск пользователей списка тем
  • Делание тега плагина user-card-metadata без тега
  • Сортировка выводимых стилей тем
  • Переструктурирование временных папок для прямых загрузок S3
  • Сообщение о пустом состоянии появлялось в неподходящие моменты на этапе закладок пользователя
  • Не разрешать отрицательные значения для LIMIT
  • Использование оригинального адреса отправителя при пересылке во входящие группы
  • Небольшие проблемы со стилями SK3 в Safari
  • Отбрасывание старых результатов поиска, если поисковый запрос меняется при перемещении сообщений в другую тему
  • Регрессии мастера Sk3
  • Не фокусироваться после поиска, если выпадающий список свернут
  • Закрытие автодополнения эмодзи при удалении открывающего двоеточия :
  • Правильный сброс состояния preProcessorStatus для composer-upload-uppy
  • Использование file.id вместо file.name для решателей оптимизации медиа
  • Добавление отладки и исправление проблем с worker оптимизации медиа
  • Всегда перезагружать сырой текст сообщения при редактировании
  • Компонент кнопки выбора файлов
  • Делание themes:update работающим с мультисайтами
  • Устаревший метод должен вести себя так же.
  • Отзыв статуса администратора или модератора не требует обновления для удаления/анонимизации/объединения пользователя
  • Не показывать вариант локаля по умолчанию при настройке текста сайта
  • Выравнивание кнопки удаления закладки в modal-footer
  • Включение тегов в подсказки быстрого поиска
  • Добавление строки для всплывающей подсказки вкладки «Невидимое»
  • Удаление маркеров из всех переведенных языков
  • Логирование правильного сообщения об ошибке при сбое проверки nonce SSO
  • Делание задач сайта работающими с дублированными загрузками
  • Непрочитанные групповые ЛС должны использовать GroupUser#first_unread_pm_at.
  • Если slug категории отсутствует, то поиск через ID
  • Перемещение кнопок модального окна закладок в modal-footer
  • Использование keyUp, так как виджеты не обрабатывают всплытие событий
  • Не отображать ID цветовой схемы в выпадающем списке интерфейса
  • Разрешение вставки из контекстного меню
  • Передача fileName в обработчик ошибок для оптимизации медиа
  • Правильная очистка событий загрузки в редакторе
  • Статус обработки/загрузки редактора не очищается при отмене и удалении
  • Событие вставки не распространяется из редактора с использованием Uppy
  • Выравнивание кнопок в сообщениях
  • Запрос элементов в очереди для подсчета количества помеченных сообщений пользователя.
  • Раскодирование хеш-секции с present для учета URL-кодированных символов
  • TopicTrackingState.report не включал непрочитанные для сообщений персонала.
  • Меню уведомлений сломано в старых браузерах
  • Модераторы групп категорий могут читать метаданные помеченных сообщений
  • Проверка включения BasicBadge для приветственного сообщения TL1
  • Исправление стиля rtl для pull right
  • Предотвращение исключения при некорректно отформатированных сообщениях
  • Не показывать значок приватной группы на аватарах пользователей
  • Повторное использование компонента avatar-flair в предварительном просмотре группы
  • Errno::EXDEV при переходе через границы файловой системы
  • Предотвращение ошибки при нажатии клавиши s
  • Не поглощать ошибку, если мы не можем запустить yarn ember build
  • Не показывать цвет фона значка, если значок не виден
  • Обновление URL iframe для onebox Simplecast
  • Обновление URL oEmbed для onebox Simplecast
  • Новый фильтр входящих групп не учитывает отклоненные темы.
  • Удаление лимита на отклонение непрочитанных и новых сообщений.
  • Восстановление серверного маршрута для фильтра сообщений тегов.
  • Неправильный уровень уведомлений по умолчанию, показанный для группы
  • Удаление ссылок на Nokogumbo
  • Обновление количества черновиков при увеличении последовательности
  • Делание rake site:export_structure экспортирующим загрузки
  • Использование контекста сообщения поиска на странице сообщений группы
  • Использование метода update_attribute для вызова обратных вызовов.
  • Удаление маркера «ответить выше строки»
  • Последовательное показ модального окна истории при нажатии на редактирование уведомлений
  • Встраивание защищенных изображений с дублирующимися именами
  • Настройка кнопок опроса
  • Использование адреса ответа для входящих писем, если он присутствует
  • Заглушка загрузки отсутствовала с переносом строки
  • Делание поиска работающим с под-под-категориями
  • Не показывать значок приватной группы на аватарах пользователей
  • Лучшая обработка заглушки редактора во время оптимизации медиа
  • Валидация значения пользовательских полей выпадающего списка — выпадающие списки и множественный выбор
  • Переназначение загрузок могло не удалиться при восстановлении резервной копии
  • Не предлагать сохранить черновик, если он недействителен
  • Опечатка в intercept-click
  • Обновление количества черновиков после создания сообщения
  • Добавление выхода users-directory-controls в мобильный шаблон
  • Разрешение наличия данных аутентификации в bootstrap
  • Избегание создания ревизии сообщения, когда теги темы не изменились.
  • Маршрут тегов ЛС должен работать для имен пользователей с точкой.
  • Уменьшение ввода to_tsvector для соблюдения лимитов
  • Пользователь может изменить имя, когда включено auth_overrides_name.
  • Удаление дополнительной проверки настроек для uppy-upload
  • Смена владельца сообщения не обновляла reply_to_user_id ответов
  • Не выдавать значки обмена пользователям, которые не существуют
  • Использование правильного URL в разметке схемы для изображений сообщений.
  • Не вызывать исключение, когда путь svg равен nil
  • Показ «Без категории» при отписке
  • Очистка кэша Site#categories при изменении git sha.
  • Не показывать опцию «Это выходные» в выборщиках дат в воскресенье
  • Не показывать опцию «Позже на этой неделе» в выборщиках дат в воскресенье
  • Лучшая и более безопасная валидация периодов для TopicQuery
  • Показ кнопки массовых действий в ЛС для всех пользователей
  • Длинный опрос, если окно становится активным

Изменения UX

  • Разделение списков публичных пользовательских полей запятыми
  • Исправления выравнивания обновления Select-kit
  • Лучшее оформление входа/регистрации для небольших окон рабочего стола
  • Использование существующего метода guardian для проверки группы, которой можно писать.
  • Отображение правильного количества ответов в виде встроенных комментариев.
  • Улучшение синдрома пустой страницы на странице сообщений пользователя
  • Добавление шага «Стилизация» в мастер
  • Обновление сообщения редактора «получить комнату»
  • Не показывать выбранные сообщения об обучении редактора на whisper-сообщениях
  • Добавление заголовка к полю ввода фильтра пользователя
  • Логотип SVG README, поддерживающий темный режим
  • Добавление отступа к полю ввода обмена
  • Добавление data-topic-id к элементам избранной темы
  • Исправление навигации по ЛС для мобильных устройств для обычных пользователей
  • Показ текста помощи по значку только для видимости приватных участников
  • Указание на ограниченное количество ревизий истории только когда они действительно ограничены
  • Обновление текста помощи по видимости участников для включения информации о значках
  • Исправление границ и активных стилей настроек боковой панели
  • Отсутствующий перевод атрибута title для маршрута тега ЛС.
  • Отключение кнопки «В очередь на проверку», если пользователь не может выполнить действие.
  • Добавление многоточия к действиям, имеющим следующий экран
  • Обеспечение видимости иконок внешнего входа при наведении
  • Исправления UX
  • Добавление всплывающей подсказки с полной датой к столбцам пользователей-администраторов
  • Элементы управления историей должны использовать стили nav-pill
  • Улучшение текста при поиске участника группы без результатов
  • Использование модального окна обмена в доминирующем сообщении темы
  • Настройка стиля страницы закладок пользователя
  • Обновление стиля значений только для чтения в форме регистрации
  • Удаление специфичного для темы CSS, исправление пробела
  • Приоритизация цвета фона модератора в ЛС

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

  • Делание TopicViewSerializer#requested_group_name более эффективным.
  • Удаление избыточного индекса post_timings_summary
  • Генерация подсказки дат по требованию
  • Уменьшение времени отрисовки local-dates
17 лайков