Ещё больше!
Но подождите, есть ещё! Мы делаем всё возможное, чтобы выделить для вас новые функции и изменения, но изменений всегда слишком много, чтобы описать их все подробно. Для полного списка новых функций, исправлений ошибок, улучшений UX и прочего обязательно ознакомьтесь с дополнительными функциями и исправлениями, перечисленными ниже.
Обновления безопасности
Эта бета-версия включает 4 исправления уязвимостей безопасности, о которых сообщили участники нашего сообщества и HackerOne.
- Возврат случайно отменённого коммита:
- Обеспечение того, чтобы embed_url содержал корректный http(s) URI
- Выполнение ERB в пользовательском стиле электронной почты
- Обновление jQuery до версии 3.5.0
Улучшения плагинов
Множество плагинов
- Добавлен плагин rubocop-discourse
- Исправления ошибок
- Мы исправили множество ошибок во многих наших плагинах
Encrypt (Шифрование)
- Удаление инструкций по ответу по электронной почте из уведомлений о зашифрованных личных сообщениях — ответ не поддерживается
Policy (Политика)
- Уведомления о напоминании о политике теперь имеют высокий приоритет — используется зелёный значок уведомления вместо синего
Font Awesome Pro
- Первый релиз
Discourse FontAwesome Pro
Интеграция чата
- Добавлен GroupMe в качестве поддерживаемого провайдера чата
Knowledge Explorer (Исследователь знаний)
- Отображение статуса закрытия темы на скрытых страницах
Affiliate (Партнёрская программа)
- Добавлена поддержка URL поиска
Data Explorer (Исследователь данных)
- Добавлены дополнительные запросы
Assign (Назначение)
- Уведомления о назначении теперь имеют высокий приоритет — используется зелёный значок уведомления вместо синего
- Отображение аватара назначенного пользователя в кнопке и выпадающем списке
Subscriptions (Подписки)
- Использование моделей для хранения данных
- Это позволяет плагину отображать только информацию о подписках, созданную в Discourse. Хранение данных о подписках ограничено внешними идентификаторами, генерируемыми Stripe, чтобы мы могли взаимодействовать с API.
Zoom
- Добавлена возможность использования join URL вместо SDK
- Добавлена возможность обновления заголовка/даты записей прошедших вебинаров
Voting (Голосование)
- Перемещение архивированных голосов при слиянии тем
Code Review (Рецензирование кода)
- Добавлена возможность по умолчанию отключать уведомления для новых категорий, созданных плагином
- Добавлена возможность установки родительской категории для новых категорий, созданных плагином
Discourse Hub App (Android и iOS)
- Добавлена поддержка новых уведомлений высокого приоритета (например, закладки с напоминаниями)
- Улучшена доступность кнопок
- Исправлена проблема с пустым экраном в некоторых редких случаях при возврате в приложение из фона
Дополнительные функции и исправления
Нажмите, чтобы развернуть
Новые функции
- Добавлена настройка для отключения автоматической установки правил CORS в бакетах S3
- Постоянные ссылки для тегов
- Настройка категории для фильтра списка по умолчанию
- Обновление выдержки из темы при пересоздании сообщения автора темы (OP)
- Добавлена настройка сайта для максимальной длины выдержки из темы
- Добавлена опция cookie с атрибутом SameSite ‘None’ для возможности кросс-доменных систем
- Экспорт
Composer.serializeToTopicв клиентском API плагинов
- Увеличение допустимой длительности загрузки
- Добавлена конечная точка для отдельных SVG-иконок
- Добавление структурированных данных в соответствии с рекомендациями Google
- Введение ключа переопределения только для сотрудников для discourse-presence
- Добавление заголовка noindex на страницы тегов
- Разрешение аутентификации через параметры для UserApiKeys
- Разрешение плагинам регистрировать обратный вызов для игнорирования DraftSequence
- Канонический URL по умолчанию
- Передача экземпляра revisor в событие DiscourseEvent
post_edited - Добавление заголовка noindex на страницы бейджей, групп и /my
- Разрешение индексации страниц Google для их последующего удаления
- Добавление заголовка no_index, если роботы отключены
- Фильтрация настроек по плагину
- Ужестчение правил ограничения скорости для функции «Забыли пароль»
- Исключение заглушенных категорий из списка тем «Топ»
- Опциональное удаление закладки при отправке напоминания
- Включение позиции категории при экспорте категорий
- Onebox для видео с Reddit
- Onebox для видео с Facebook
- Nokogumbo
Исправления ошибок
- Улучшение скрипта уменьшения размера изображений
- Возврат false, если URL загрузки является недопустимой ссылкой mailto
- Редактура предупреждения о доминирующей теме
- Ошибка параллельного доступа при создании миниатюр тем
- Не возвращать ошибку 500, если домен недопустим при добавлении домена автоматического членства
- Не разрешать тег с именем ‘none’
- Правильное блокирование нечеловеческих пользователей в системе черновиков
- Включение lazyYT-container в HTML обработанного сообщения
- В документации использовалась неверная функция
- Стили электронной почты оценивались в неправильном порядке
- При создании нового личного сообщения имя пользователя/группы должно быть регистронезависимым
- Нет необходимости во втором приведении к нижнему регистру
- Пропуск разового задания для групп с недопустимым URL эмблемы
- Не использовать столбец flair_url в качестве запасного
- Сохранение заголовка композера и ответа при переключении на личное сообщение
- Удаление пользователя не удалялось, если у него был заголовок
- Карточка группы не отображается, если пользователь не может видеть её участников
- Явный вызов метода
getURLдля предотвращения переопределения контекстаthis - Выравнивание двойных кнопок на мобильных устройствах
- Лучшее выравнивание кнопок подвала темы между браузерами
- Мы не создаём объект Post, если отправленное сообщение отклонено. Нам нужно подсчитывать элементы рецензирования напрямую.
- Живая перезагрузка CSS в режиме разработки
- Удаление внешнего ключа доступа к сообщениям из загрузок
- Поле ввода тегов сообщает, что теги необязательны, когда они обязательны
- Разрешение использования client_id приложения GitHub для конфигурации OAuth
- Обеспечение регистронезависимости выбора категории
- Добавление отсутствующих тегов в заголовок опубликованной страницы
- Грантер бейджей был отключён по умолчанию
- Sidekiq использует _forim_session
- Отображение счётчиков сотрудников, если количество отклонённых сообщений — единственное значение для отображения
- Запросы не регистрировались корректно
- Путь должен быть
addon, а неapp - Разрешение работы устаревания с Ember CLI
- Select-kit находился не в том месте
- Обновление default_template.html
guidForне является частьюEmber.Object- Не параметризовать tag_id
- Не вызывать сбой при попытке разобрать недопустимые или не-ASCII URL
- Отправка веб-хуков для флагов
- Не устанавливать значение по умолчанию для веб-хуков без событий
- Миграции не должны завершаться ошибкой, если база данных частично мигрирована
- Переключение discobot на получение аватара из Gravatar
- Удаление всех связанных данных при удалении пользователя
- Свойство has_been_uploaded? хранилища S3 не учитывало путь к бакету S3
- Восстановление резервных копий могло завершиться ошибкой для дампов базы данных > 8 ГиБ
- Проверка backtrace и backtrace_locations перед попыткой вывода ошибки
- Описание для категории ‘uncategorized’ было пустым
- Отображение полезного сообщения при запуске плагина без backtrace
- GroupArchivedMessage принадлежит Group, а не User
- Применение flex для topic-footer-main-buttons
- Объединение миграции закладок с пользователями для избежания потери записей пользователей
- Рандомизация имени файла при создании из фикстуры
- Использование папки /tmp/pid для хранения файлов фикстур
- Обновление версии rack с 2.0.8 до 2.2.2
- Восстановление резервной копии не очищало кэш переопределений переводов
- Отмена нескольких переопределений переводов не очищала кэш
- Улучшения и исправление регрессии с category-selector
- Более надёжная и последовательная загрузка date-picker
- Обеспечение отсутствия загрузки изображений при сериализации миниатюр темы
- Разрешение удаления таймера темы с типом delete_replies
- Обеспечение вызова hide при уничтожении карточки
- Не удалять стоп-слова при использовании английского языка
- Выделение reset_last_seen_cache! в user_spec
- Переключение действия композера не обновляет содержимое действий композера
- Компонент всё ещё использовался data explorer
- Включение CSS-активов плагина при предварительном просмотре тем
- Отображение заголовка в заголовке sk, если выбранное имя отсутствует
- Корректное увеличение версии API плагина
- Использование URL CDN для миниатюр тем
- Разрешение миграций сообщений с использованием
#changeдля выполнения небезопасной миграции - Всегда возвращать 0 для текущего DraftSequence нечеловеческого пользователя
- Выпуск WebAPK был сломан из-за иконок ярлыков
- Случайный сбой user_spec
- Обход ошибки сервера WebAPK с изображениями без размеров
- Не вычислять черновик для ботов на маршруте индекса категорий
- Применение цитирования кода без подсветки синтаксиса
- Использование правильных иконок для меню ярлыка приложения
- Запуск тестов cookie только после входа в систему
- Разрешение загрузки миниатюр lazy-yt через pull_hotlinked_images
- Удаление старой миграции
- Не вычислять черновик для (ро)ботов
в списке тем - Специфическая ошибка электронной почты для ответов на дайджест-письма
- Обнаружение Wayback Machine по user agent
- Загрузка локали первым в приложении wizard
- Обновление mini racer для корректных дампов кучи
- Никогда не сохранять черновик, пока он сохраняется
- Не публиковать присутствие при вводе, если композер не открыт
- Предотвращение прокрутки Safari при закрытии композера
- Предотвращение запроса ThemeField дважды в SvgSprite.bundle
- Присутствие композера показывает пользователя как редактирующего при ответе
- Ограничение функции ввода в discourse-presence
- Возврат URL /bookmarks к списку тем и добавление аватаров авторов закладок
- Обработка отсутствующего возврата URL SSO провайдером
- Предотвращение конфликтов имён столбцов в коде reviewable
- Обеспечение правильного вычисления часового пояса для текущего пользователя в предварительном просмотре
- Добавление типа для иконок меню ярлыка
- Не выбрасывать исключение, если TopicLink не может быть создан
- Добавление отсутствующих маршрутов RSS в белый список параметров API
- Отображение кнопки «Настройки», если у плагина есть настройки
- Безусловное сохранение черновиков увеличивает последовательность
- Удаление лишних обратных слешей в регулярном выражении
- Добавление tabindex=-1 на ссылки постов в tabLoc
- Улучшение доступности навигации подвала на мобильных устройствах
- Установка заголовка для кнопки уведомлений
- Множественные улучшения schema.org
- Заголовок должен пытаться использовать label перед name
- Обработка удалённой темы при генерации миниатюр
- Отображение имени категории в предварительном просмотре бейджа при редактировании
- Предотвращение рендеринга topic-category, если он пуст
- Остановка ошибочного очищения заголовка
- Заголовок по умолчанию пуст при открытии
- Решение проблем с «Следующий понедельник» для закладок, не работающих в некоторых локалях
- CurrentUser теперь должен передаваться в resolveTimezone для решения проблем с локальным временем карточки пользователя
- ESC для закрытия пустого черновика темы композера
- Ввод в модальном окне закладок
- Поддержка транспиляции js в плагинах с корневым админ-папкой
- Некоторые корректировки интерфейса таблицы
- Не запускать событие user_updated для пользователей-ботов
- Удаление устаревшего URI.escape
- Не разрешать null-опции для менеджера закладок
- Миграция для установки столбца NOT NULL для delete_when_reminder_sent в закладках
- Неверный класс CSS
- Скобки были неверными, что приводило к всегда истинному выражению
preload-storeбыл удалён- Улучшение позиционирования sk на мобильных устройствах внутри модального окна
- Отображение кнопки «Закладка» для тем личных сообщений
- Улучшение логики расчёта таймлайна темы
- Корректное имя пользователя в уведомлении об редактировании для личных сообщений
- Использование
default_localeв подстановках локали вызывало проблемы - Сделать can_invite_to_forum устойчивым к вмешательству плагинов
- Отображение даты закрытия опроса в местном времени
- Preload-store был перемещён
- Конечная дата диапазонов в HTML-предварительном просмотре была неверной
- Изменение расчёта общего количества непрочитанных уведомлений в дайджест-письме пользователя
- Discobot не был создан с нашим пользовательским аватаром
- Сохранение блоков кода при цитировании
- Нестабильные тесты. Из-за переходов CSS непрозрачность может быть ещё не 0
- Исправление обёртки кнопок с большими кнопками
- Избегание использования временной таблицы при миграции базы данных URL изображений
- Решение проблем валидации Schema.org
- Применение sameWidth с ширины экрана 450px
- Предварительный выбор «Позже сегодня» при редактировании закладки, если время совпадает
- Отказ PostgreSQL был сломан из-за маскирования исключений Rails
- Улучшение стиля дайджест-письма в Outlook 2016
- Возврат к использованию наблюдателя для поддержки загрузки большего количества уведомлений
Изменения UX
- Удаление живого предварительного просмотра тем в пользу обновления
- Имя пользователя вместо username для заголовка ссылки профиля
- Добавление заголовка для ссылки профиля пользователя
- Более последовательные стили мобильных баннеров/уведомлений, очистка CSS
- Перемещение editFirstPost в тегируемые личные сообщения в выпадающем списке на мобильных устройствах
- Удаление текста из кнопок закладки и поделиться для личных сообщений
- Переименование «Редактировать сообщение» в «Редактировать»
- Удаление жирного шрифта из текста бейджа категории
- Улучшение поведения загрузки кнопки уведомлений темы
- Добавление визуальной обратной связи при изменении уровня уведомлений темы
- Удаление стрелки из кнопки уведомлений
- Разрешение кэширования безопасных URL медиа в течение короткого периода времени
- Отображение стрелки только в выпадающих списках кнопок подвала темы
- Разрешение выпадающему списку отображать стрелку
- Загрузка изображений YouTube более высокого разрешения, где доступно
- Фокус на имени категории при редактировании категории
- Добавление скопированного текста после нажатия кнопки копирования
- Лучшая иконка действия композера при создании новой темы
- Добавление символа в отчёт TL3, если количество ответов на тему ограничено
- Не использовать маленькие изображения onebox как изображения постов/тем
- Ограничение изменений клавиатуры модального окна iOS для композера
- Введение действий композера при редактировании сообщения
- Не отключать кнопку «Создать учётную запись» и отображать сообщение об ошибке для обязательных полей
- Исправление жёстко заданного значения в описании бейджа Crazy in Love
- Улучшение отображения сообщения валидации настройки сайта
- Удаление подчеркивания из элементов del и ins
- Предотвращение наложения таймлайна на кнопки подвала темы
- Улучшение выравнивания и согласованности кнопки закрытия баннера и уведомления
- Исправление позиционирования модального окна, когда клавиатура iOS видна
- Корректировка меню администратора для лучшего соответствия коротким (горизонтальным) видам экрана
- Удаление верхнего отступа из описания onebox Reddit
- Удаление жирного шрифта для уменьшения акцента на именах категорий в посещённых темах
- Исправление выравнивания времени на страницах активности пользователя
- Добавление префиксного свойства, чтобы Firefox также получал табы с 4 пробелами в коде
- Попытка более эффективного использования доступного пространства с sk
- Настройки удаления закладки
- Улучшение интерфейса второго фактора
Производительность
- Избегание обхода DOM в loadScript
- Удаление внешних ключей из закладок
- Обеспечение выполнения полной сборки мусора в контекстах
- Дематериализация topic_reply_count
- Избегание состояний гонки при создании ссылок на темы
- Избегание выполнения одного и того же запроса дважды
- Избегание обращения к базе данных при получении последовательности черновика пользователя-бота
- Уменьшение эксклюзивной блокировки при изменении таблиц
- Перемещение получения аватара в hijack для сертификата discobot