3.1.0.beta6: Потоки в чате, сетка изображений, экспорт сообщений чата и многое другое

Новые функции в версии 3.1.0.beta6

Потоки внутри Discourse Chat

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

Чтобы начать использовать потоки в ваших любимых каналах, ознакомьтесь с инструкцией по адресу: Introducing chat threads!

Сетка изображений в сообщениях

Мы добавили новую функцию, позволяющую располагать изображения (или другие медиафайлы) в виде сетки внутри сообщений. Пользователи могут вручную добавить тег [grid] вокруг изображений или загрузок, либо использовать значок рядом с первым изображением в блоке изображений в предварительном просмотре редактора, чтобы включить или выключить сетку.

Экспорт сообщений чата в файл CSV

Администраторы теперь могут экспортировать сообщения чата, перейдя по адресу /admin/plugins/chat и нажав кнопку Создать экспорт в разделе Экспорт сообщений чата:

Screenshot 2023-06-20 at 23 22 06

После готовности файла администратор получит личное сообщение с экспортированным файлом. На данный момент функция позволяет экспортировать до 10 000 сообщений за последние 6 месяцев. Подробнее см. в описании PR.

Улучшенная конфигурация меню навигации для категорий и тегов

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

Также добавлены опции сброса настроек по умолчанию или просмотра наиболее популярных элементов в меню путем снятия всех выделений.

edit-categories-navigation

Упрощение основного раздела меню навигации

Мы убрали заголовок основного раздела меню навигации. Теперь этот раздел занимает немного меньше места и больше не сворачивается, поэтому самые важные ссылки всегда видны при открытом меню. Раздел по-прежнему настраивается администраторами через ссылку в меню «Ещё…».

31e53e1200b4916431baeedb167b333269026a9d

Более подробную информацию об этом изменении можно найти в этой теме.

Внедрение «полосы загрузки» для навигации по страницам

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

ezgif-6-f4ed194f762c

Теперь этот новый индикатор загрузки используется по умолчанию. Старый spinner планируется удалить в ближайшее время, но пока он остается доступным вариантом при изменении настройки сайта page_loading_indicator с slider на spinner. Администраторам сайтов со старым компонентом темы будет показано предложение удалить его.

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

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

  • ограничение количества ссылок в пользовательском боковом разделе CVE-2023-36818
  • запрет повторного использования CSP nonce между запросами CVE-2023-36473
  • проверка корректности темы перед обновлением категории CVE-2023-36466
  • уязвимость ReDoS в библиотеке URI Ruby CVE-2023-36617}
20 лайков

Ещё больше!

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

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

discourse-ai

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

  • Попытка уточнить поиск, чтобы сократить поисковые запросы в последующих раундах
  • Добавлены команды ai_bot_enabled_chat и улучшена настройка поиска
  • Добавлена поддержка сервиса Azure Cognitive Services
  • Добавлена полная поддержка ботов для GPT 3.5

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

  • Опечатка при обновлении раздела
  • Поле max_tokens_to_sample для Claude является обязательным
  • Настройка лимитов токенов с учётом функций
  • Избегание хранения повреждённых промптов
  • Токенизатор OpenAI не мог обрезать эмодзи посередине
  • Сериализация заголовка канала для личных сообщений

discourse-akismet

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

  • Удаление проверяемых записей при удалении сообщений классом UserDestroyer.

discourse-assign

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

  • Суммирование назначений для группы и пользователей группы

discourse-automation

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

  • Добавлен триггер первого принятого ответа для глобального уведомления пользователю

discourse-cakeday

Изменения UX

  • Добавлена иконка торта с днём рождения при добавлении ссылки в боковую панель

discourse-calendar

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

  • Добавлены отсутствующие праздники Малайзии на 2023 год

discourse-category-experts

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

  • Корректная передача переменных в плагинный выход

discourse-client-performance

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

  • Отчёт о селекторе цели INP
  • Сбор метрики «interaction next paint»

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

  • Использование правильного пути к скрипту при установке в подпапке

discourse-code-review

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

  • Списки тем с одобрением

discourse-data-explorer

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

  • Запланированное личное сообщение с результатами Data Explorer не отправлялось

discourse-docs

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

  • Использование той же структуры, что и в core topic-list-item, и добавление фрагментов тем в индекс документации

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

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

discourse-gamification

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

  • Ссылка на глобальную таблицу лидеров при клике на очки (как в профиле пользователя, так и в карточке пользователя)

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

  • Пересчёт очков не обновлял ежедневный счёт пользователя, если новый счёт был равен 0

discourse-invite-tokens

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

  • Использование правильного имени плагина

discourse-patreon

Изменения UX

  • Добавлена отсутствующая иконка Font Awesome в кнопку входа

discourse-post-voting

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

  • Обработка пустых просмотров тем

discourse-solved

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

  • Ошибка поиска по статусу:unsolved возвращала темы из категорий, где решения не включены

discourse-tooltips

Изменения UX

  • Скрытие всплывающих подсказок, если текст недоступен

Все функции и исправления

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

  • Отображение всплывающей подсказки для режима Bootstrap
  • Предупреждение об устаревших переопределениях переводов в административной панели
  • Разделение настройки «доверенные пользователи могут редактировать чужие» для уровней доверия 3 и 4
  • Добавление настроек сайта по умолчанию для управления параметрами меню навигации
  • Базовая поддержка onebox для threads.net
  • Включение загрузки слайдера по умолчанию
  • Новое меню перехода к каналу
  • Введение «слайдера загрузки» для переходов между страницами
  • Возможность для пользователя переопределить настройку watched_precedence_over_muted
  • Использование расширенной всплывающей подсказки статуса пользователя повсеместно
  • Разрешение включения/отключения потоков в интерфейсе
  • Отслеживание datetime last_viewed_at для участников канала
  • Отображение доступных ключей интерполяции при переопределении переводов
  • Сортировка списка потоков по непрочитанным потокам в первую очередь
  • Условное изменение маршрута кнопки «Назад» для потока
  • Новая настройка watched_precedence_over_muted
  • Попытка загрузки платформенных вариантов библиотек плагинов
  • Отображение первой подсказки о уведомлениях всем пользователям
  • Добавление хуков для плагинов почтового опросника
  • Отображение хеша коммита для каждого плагина на странице /admin/plugins.
  • Добавление выпадающего списка для фильтрации по выбранному в модальном окне редактирования меню навигации
  • Разделение настроек навигации для количества и поведения ссылок в боковой панели
  • Добавление задачи db:resize:notification_id для увеличения таблицы
  • Экспорт сообщений чата в CSV-файл
  • Добавление кнопок «Отменить выбор всего» и «Сбросить по умолчанию» в модальное окно редактирования меню навигации
  • Добавление фильтра ввода для редактирования тегов в модальном окне меню навигации
  • Добавление модального окна для редактирования тегов в меню навигации
  • Прокрутка к первому сообщению при клике на дату в чате
  • Включение сетки изображений по умолчанию
  • Разрешение пользователям вручную отслеживать потоки без ответов
  • Улучшения индикатора потоков и участников
  • Реализация max_tags_per_email_subject

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

  • Условное скрытие кнопки «Добавить альтернативный адрес электронной почты» в зависимости от настройки сайта
  • Параметр recipients по умолчанию для создания нового сообщения через параметры должен быть строкой
  • Обновление оставшегося количества резервных кодов после создания
  • Обеспечение рендеринга диалогов, если они были вызваны во время загрузки
  • Отображение аватара пользователя чата с индикатором присутствия по умолчанию
  • Всегда очищать кэши после фиксации текущей транзакции
  • Опечатка в имени свойства
  • Не использовать etags для проверки загрузки сообщений
  • Отображение предпросмотра шрифта Arial/Системный в мастере
  • Отслеживание потока в интерфейсе, когда пользователь отправляет первое сообщение
  • Невозможность отклонить новые темы для экспериментального нового вида
  • Не перенаправлять при ручном добавлении 2FA
  • Корректное установление подписки создателя DM на канал
  • Установка тестовой транзакции в before_all транзакцию
  • Не пытаться сфокусироваться на topic-list-item после удаления
  • Удаление поддержки discourse-teams-sidebar
  • Ограничение высоты устаревшей боковой панели
  • Добавление отсутствующих переводов для чата
  • Пометка потоков как прочитанных при включении потоков для канала
  • Отображение количества ответов на индикаторе потока независимо от участников
  • Избегание переходов при уничтожении компонента потока чата
  • Уведомление пост-алертера при прямой подписке на тему
  • Улучшенная обработка удалённых исходных сообщений потока
  • Предотвращение конфликтов имён полей при использовании модификатора groups_for_users_search
  • Более последовательный фокус композера и индикатор ответа
  • Не фильтровать по названию категории
  • Корректное отображение непрочитанных сообщений и присутствия
  • Ошибка при загрузке канала с включёнными потоками, но без потоков
  • Канонический URL для мобильного обмена
  • Небольшие улучшения onebox для Twitter
  • Корректное перехватывание <a href target="_self">
  • Разрешение использования %h%m%s для параметра t YouTube
  • Улучшение производительности работы пост-алертера
  • Теги в группах тегов не отображаются в модальном окне редактирования тегов меню навигации
  • Предзагрузка шрифтов перед перерисовкой холста стиля мастера
  • Ошибка ActiveModel::Types :array при загрузке в продакшене
  • Откат обновления uppy aws-s3
  • Не следовать перенаправлениям для onebox Twitter
  • Последовательные внешние ссылки секций боковой панели
  • Исправление метода normalize_raw для nil-входов в скриптах миграции
  • DateTimeInputRange должен показывать правильные интервалы с параметром @relativeDate
  • Регрессия мобильного заголовка в 9cc2b5c
  • Ошибка при попытке CategoryList найти соответствующие темы
  • N1 для потоков чата
  • Установка кластерного параллелизма Jobs::BackfillSidebarSiteSettings на 1
  • Вложение данных переводов темы так, чтобы они сохранялись
  • Поддержка опросов, где пользователь может голосовать несколько раз
  • Скрытие кнопки «Сохранить черновик» при редактировании сообщения в той же теме.
  • Прерывание перехода, если transition.from присутствует на маршруте new-topic
  • Корректный рендеринг URL коммита плагина и открытие в новом окне.
  • Отображение выбора тегов в композере для личных сообщений на мобильном устройстве
  • Более длительное нажатие для активного сообщения
  • Цвет точки в боковой панели, когда чат выключен
  • Попытка переподключения к серверу при изменении видимости браузера
  • Использование API Twitter v2 для onebox и восстановление резервного варианта OpenGraph
  • Принудительная сортировка для большей последовательности и исправление нестабильного теста
  • Создание поэтапного пользователя теряет данные пользовательских полей
  • Топ-теги сайта не отображаются для анонимного пользователя
  • Обновление количества непрочитанных и новых сообщений для категорий
  • «Во всех темах» должно искать во всех темах
  • Не выдавать ошибку при клике на пользовательскую ссылку в разделе сообщества
  • Добавление атрибута aria-label для обработанных хэштегов
  • Сведение цвета стрелки и фона всплывающей подсказки к одному
  • Сброс переводов темы при сохранении
  • Не добавлять префикс «Re:» в тему письма для первого сообщения групповых личных сообщений.
  • Сломанные почтовые ящики групповых сообщений при смешанном регистре имени группы
  • Небольшая ошибка с переводами тем и моих сообщений
  • Несовместимость между default_composer_category и default_subcategory_on_read_only_category
  • Восстановление поведения window.Discourse
  • Корректная установка и использование класса has-reply
  • Класс CSS был неверным
  • Различные улучшения мобильного чата
  • Личные каналы сообщений могут быть помечены
  • Разрешение выбора сообщений в потоках
  • Небольшая проблема с индикатором потока
  • Устранение дублирования голоса в опросе при слиянии пользователей
  • Переименование ссылки «всё» в «темы»
  • Обновление боковой панели до меню навигации
  • Запросы видимости группы модераторов (не административный персонал)
  • Не добавлять класс no-text, если присутствует translatedLabel
  • Корректное получение topic_id из первого сообщения
  • Обновление ссылок на класс workbox после увеличения версии
  • Разрешение доступа к частично слитому пользователю в административном интерфейсе
  • Заполнение участников потоков чата

Изменения UX

  • Улучшение подсказок для пользователей
  • Исправление двойной прокрутки для модального окна сочетаний клавиш
  • Удаление заголовка раздела для раздела сообщества
  • Уменьшение радиуса границы карточек каналов
  • Исправление отступа для метки группы
  • Указание, что основной раздел боковой панели всегда общедоступен
  • Изменение z-index изменителя потока так, чтобы он был ниже всплывающего окна эмодзи
  • Отступы и размеры создателя сообщения на мобильном устройстве + исправление переноса текста
  • Не отображать присутствие в выборе создателя сообщения
  • Уточнение настроек «отключить уведомления о тегах/категориях»
  • Настройка стилей модального окна боковой панели, объединение CSS
  • Улучшение положения кнопки закрытия модального окна
  • Небольшие исправления индикатора потока
  • Визуальный индикатор режима перестановки ссылок боковой панели
  • Заполнение полей шаблона шириной контейнера
  • Использование модальных окон для редактирования категорий и тегов, отображаемых в боковой панели
  • Выравнивание разделителей чата, увеличение ширины мобильного чата
  • Добавление max-width для индикатора потока
  • Исправление положения фильтров в модальных окнах редактирования категорий/тегов меню навигации
  • Сортировка категорий в модальном окне редактирования меню навигации по имени
  • Исправление положения saved! в предпочтениях пользователя
  • Улучшения индикатора потока сообщений чата
  • Добавление max-height для изображения в цитате чата
  • Исправление цвета подсветки переопределённой настройки
  • Исправление отсутствия фокуса на вводе в модальном окне редактирования тегов/категорий меню навигации
  • Добавление небольшой задержки перед активацией сообщения
  • Отображение спиннера при загрузке тегов для модального окна редактирования тегов меню навигации
  • Удаление горизонтальной прокрутки на мобильном устройстве для модального окна редактирования категорий меню навигации
  • Удаление короткого перехода временной шкалы темы
  • Исправление переполнения селектора аватара
  • Последовательные переходы при наведении на кнопки
  • Улучшение значений по умолчанию, отображаемых для разделов категорий и тегов в боковой панели
  • Более мягкие тени выпадающих списков и панелей меню
  • Горизонтальное размещение метки почтового ящика группы
  • Скрытие боковой панели на странице приглашений
  • Удаление фоновых брендированных пятен
  • Добавление индикатора обязательности для полей с валидацией required

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

  • Пагинация загрузки тегов в модальном окне редактирования тегов меню навигации
  • Исправление множественных N+1 при загрузке потоков
  • Ограничение анонимизации до 1 на кластер
  • Увеличение производительности больших CSV-экспортов для истории пользователей

Доступность

  • Не выводить aria-labelledby, когда карточка пуста
  • Настройка контрастности и размера шрифта для виджета мини-профайлера
  • Настройка контрастности для вторичных цветовых схем Dark и Solarized Dark
11 лайков