Обновления безопасности
В эту бета-версию включено 3 исправления уязвимостей, о которых сообщили участники нашего сообщества и HackerOne.
- Ошибка 413 для запросов GET, HEAD или DELETE с телом запроса.
- Ограничение объема работы, которую может выполнить
embed#topics. - Добавление заголовка
content-disposition: attachmentдля загружаемых SVG-файлов.
Улучшения плагинов
Множество плагинов
- Исправление ошибок
- Мы исправили множество ошибок во многих наших плагинах
Code Review
- Пользовательская тема для категорий Code Review
Graphviz
- Обновление до версии 2.44 (было 2.40)
Knowledge Explorer
- Добавлена клавиатурная комбинация
- Перемещение маршрута в
/docs
Akismet
- Добавлена задача по очистке базы данных перед удалением плагина
Checklist
- Удалена поддержка флажков, отличных от
[ ],[x]и[X]
Docker Manager
- Добавлена поддержка проверки совместимости плагинов
Encrypt
- Добавлена настройка для автоматического включения шифрования
- Расшифровка заголовков уведомлений перед отображением
Translator
- Исправление уязвимости безопасности
Data Explorer
- Добавлена поддержка мягкого удаления (скрытия) запросов
Chat Integration
- Добавлена поддержка Microsoft Teams
Subscriptions
- Плагин стал официальным
- Разовая покупка товаров
- Поддержка платежей 3D Secure
- Новый стиль пользовательского интерфейса
- Отмена платежей в конце периода подписки, а не немедленно
- Отображение даты продления для активных подписок
Assign
- Новая страница «Сводка назначений» для групп
Calender
- Дополнительные функции и улучшения для событий
Дополнительные функции и исправления
Нажмите, чтобы развернуть
Новые функции
- Обеспечена повторная обработка (rebake) сообщений при исправлении проблемы с отсутствием данных.
- Автоматическое воспроизведение GIF-анимаций из Twitter в формате onebox.
- Разрешено управление статусом «не беспокоить» для категорий и тегов через членство в группах.
- Уведомления об изменении тегов для личных сообщений больше не отправляются.
- Введены задачи для работы с устаревшими поврежденными загрузками.
- Вкладка разрешений для категорий в группе.
- Блокировка вибрации в Firefox для Android.
- Использование
ts_headlineв PostgreSQL для подсветки заголовков тем в поиске. - Добавлен расширенный порядок сортировки в поиске.
- Уведомление для плагина голосования.
- Установка уровней уведомлений при добавлении в группу.
- Версия 2.0 разбора результатов опросов (Poll breakdown).
- Добавлен
category_idвTopicViewWordpressSerializer. - Новый выходной узел (plugin outlet) для заголовка категории.
- Приглашение по электронной почте в группы из модального окна «Добавить участника».
- Добавлен раскрывающийся список скрытых категорий на странице
/categories. - Отображение кнопки входа на странице ошибки, если пользователь не авторизован.
- Клавиши
g, jиg, kдля перехода к следующей и предыдущей теме. - Разрешено использование HTML-элемента
<picture>в сообщениях. - Возможность отображения диаграмм по дням/неделям/месяцам.
- Разрешено указание произвольного адреса прослушивания Unicorn.
- Поддержка конвертации изображений HEIF в JPEG.
- Добавлен отслеживаемый фильтр в списки тем.
- Отправка сообщения из предпросмотра мобильного композера.
- Добавлены параметры запроса в журналы действий персонала.
- Добавлена поддержка фильтра
topна странице тегов. - Добавлена функциональность закладки «Удалить при ответе владельца».
- Событие
user_updatedтеперь срабатывает при изменении адреса электронной почты. - Улучшено выравнивание метаданных заголовка и обрезка текста с помощью CSS Grid.
- Загрузка скрытых сообщений сегментами.
- Разрешены атрибуты тега
<video>для видео-гифок. - Добавлен поиск в списке закладок пользователя.
- Введен глобальный лимит скорости для анонимных поисков.
- Парсинг изображений в подписях к электронной почте.
- Добавлена опция «самый маленький» в предпочтениях размера текста пользователя.
- Добавлено действие композера
reply_as_new_group_message. - Создание резервной копии только на SQL, если нет загрузок.
- Опциональное пропускание всплывающего окна создания учетной записи для внешней аутентификации.
Sso_overrides_(email|username|name)для всех методов аутентификации.- Событие
user_updatedтеперь срабатывает при изменении имени пользователя. - Настройка сайта для постоянного отображения определений категорий.
- Возможность отключения дополнительной инъекции терминов в поиске.
Исправления ошибок
- Опция
user_optionможет бытьnilдля новых пользователей. - Заголовки пользователей, полученные из переведенных названий значков, автоматически отменялись.
SiteSettings::LocalProcessProviderне работал в режиме мультисайта.- Настройка
Default_tags_mutedдолжна работать и для анонимных пользователей. - Отправка ЛС через флаг на удаленном сообщении.
- Сообщение об ошибке при включении обязательной 2FA с использованием социальных сетей.
- Удаление неиспользуемых тегов больше не удаляет теги, принадлежащие группам тегов.
- Отмена лайка собственных сообщений при передаче прав собственности.
- Опросы можно цитировать и загружать.
- Отмена раннего завершения поиска в тестах.
- Отображение метки, когда тема использует стандартную цветовую схему.
- Не переопределять разметку логотипа при загрузке страницы в темном режиме.
- Исправлены проблемы с CSS-переменными.
- Метод
group_show_serializer#is_group_ownerтеперь соответствует стандартам. - Всегда ждать выполнения промиса при загрузке темы.
- Более эффективный и устойчивый виджет выпадающего списка (widget-dropdown body).
- Добавлен компонент
bookmark-list. - Регрессия иконки загрузки в композере из-за HEIC.
- При удалении загрузок очищаются фон карточки и профиля.
- Добавлен атрибут
playsinlineдля GIF-анимаций из Twitter. - Разрешено Safari загружать и автоматически воспроизводить видео в сообщениях.
- Рефакторинг сломал мастер (wizard).
- Пропуск рендеринга видео из Twitter, если не найден соответствующий формат.
- Ошибка при отсутствии
iconList. - Замена
iframeна<video>для видео из Twitter. - Клик по строке автодополнения категории.
- Предотвращение ошибок на
/tags, когда существует тег с именемconstructor. - Оставляет пустую группу примеров в режиме TRAVIS.
- Уведомление об автоматическом закрытии публикуется с системной локалью.
- Выпадающий список добавления группы на мобильных устройствах был сломан.
- Отложенная тема была сломана.
- Контроллер
applicationне используется карточкой. - DEV: Введен декоратор
@bind. - Слушатель событий вставки (paste) был добавлен повторно вместо удаления.
- Добавлены расположения скриптовых ресурсов в директивы CSP
worker-src. - Задача
Generate_topic_thumbnailsбесконечно выполнялась для поврежденных изображений. - Обновление предпросмотра при клике на автодополнение.
- Предотвращение конфликтов
LockOn. - Перемещение
queryParamsв каждый контроллер обнаружения, а не использование общего. - Обновление не работало.
- Сохранение якорей при переходах по постоянным ссылкам.
- Удаление неиспользуемой категории «Другое».
- Улучшены спецификации для обеспечения успешного пересмотра.
- Генерация краткого содержания темы при перемещении сообщений в новую тему.
- Убедитесь, что предпочтения пользователя по открытию внешних ссылок в новой вкладке работают для кратких описаний списков закладок.
- Не требовать включения тегов для архивирования и удаления IMAP.
- Разрешено плагину закреплять отсутствующие коммиты.
- Ошибки AWS S3 не всегда включают сообщение.
- Изменено имя метода контроллера в соответствии с его новым названием.
- «Призрачный» тест с таймингами тем.
- Разрешено модераторам выбирать ограниченные категории в качестве родительских.
- Выбор цветовой схемы с нестандартной темой.
- Подсветка заголовков PG для всех результатов поиска.
- Ограничение генерации описания поиска на основе заголовков PG до 200 символов.
- Попытка стабилизировать тест
topic_tracking_state_spec. - Замораживание iOS/iPadOS при изменении уровня уведомлений в подвале темы.
- Использование правильной настройки сайта при загрузке изображений.
- invalidация кэша при обновлении цветов цветовой схемы.
- Убедитесь, что «Загрузить больше элементов каталога» имеет URL с расширением
.json. - Возврат 422 при создании тем с тегами без разрешения.
- Включение защищенных URL-адресов медиафайлов при ссылке на загрузки сообщений.
- Обновление цветов для плагина присутствия.
- Уменьшенный размер шрифта заголовка для опубликованной страницы.
- Включение имени и ID в суффиксы имен файлов стилей цветовой схемы.
- Синхронизация количества обзоров при открытии гамбургер-меню.
- Удаление
persistedQueryParams, так как он должен работать из коробки. - Указание конфигурации при генерации
tsqueryс использованиемts_headline. - Обновление списка участников ЛС после приглашения.
- Отсутствующая нижняя граница в настройках списка цветов
select-kit. - Тесты предпочтений пользователя не всегда вызывали Pretender.
- Остановка синхронизации состояния отслеживания при фильтрации списка.
- Выбрасывание только правильных сообщений об ошибках
"error". - Ошибки Pretender подавлялись.
- Выбрасывание ошибок для поврежденных ответов Pretender в тестовом режиме.
- Замена
fullPathпри переписывании URL-адресов/my/. - Обеспечение наличия у
shadowатрибутаlast_posted_atперед сравнением с настройкой сайта. - Попытка вывести полезное сообщение об ошибке.
- Отображение
all_results, если текущая категория настроек не имеет результатов. - Отключение одновременной миграции для
multisite:migrate. - Не запускать
seeds, если миграция мультисайта не удалась. - Краткие описания длиной более 999 символов не поддерживаются.
- Карта тем неправильно подсчитывала действия назначения.
- Отображение сообщения «Запрещено членам группы» на мобильных устройствах.
- Переписывание URL-адресов
/my/должно работать и на сайтах в подкаталогах. - Разрешено изменение уровня уведомлений группы пользователя.
- Предыдущее исправление внесло не то и было сломано

- Исключение общих черновиков из дайджестов.
- Отсутствует текущее значение иконки flair в интерфейсе управления группой.
- Загрузка базовой цветовой схемы, когда стандартная тема не установлена.
- Проверка выбора аватара с SHA1.
- Исправление архива IMAP и унификация кода почтового ящика списка групп.
- Неподобающий раздел флагов Discobot.
- Ошибка при совместном использовании вне темы.
- Получение правильного выбираемого аватара по URL.
- Исключение методов
DELETEиз недопустимых запросов с телом. - Сброс параметра запроса
max_posts. - Уважение параметров запроса для
latest.rss. - Установка
mailing_list_modeвfalseпри отписке от всего. - Уникальность обновления электронной почты IMAP по группам и незначительные улучшения.
- Удаление ошибки в консоли в тестовом режиме.
- Должно разрешать не-ASCII суффиксы для страниц категорий.
- Сброс параметра запроса
filterпри клике на элемент навигации. - Сохранение имени категории в URL при фильтрации.
- Разрешение использования
cкак тега. - Определение
s3_helperв задачеEnsureS3UploadsExistence. - Переименование метода закладки
delete_when_reminder_sent?во избежание конфликта с AR. - Добавлена защита при удалении автоматического удаления закладок сообщений.
- Убедитесь, что закладка темы пользователя синхронизирована при автоматическом удалении закладок.
- Разрешено
playsinlineдля видео в сообщениях. - Убедитесь, что правильная локаль установлена во время ответов
RenderEmpty. - Уменьшена высота диаграмм.
- Предотвращение переопределения базового сериализатора группы сериализатором
group show. - Устаревание вычисляемого свойства.
- Страница:
changedиногда сообщала неверный URL. - Возврат перенаправлений групп.
- Обновление onebox до версии 2.0.1 для исправления приоритета движка.
- Обработанный фрагмент сырого текста в
Topic.similar_to. - Обработка случая, когда
Post#rawпуст вTopic.similar_to. - Улучшение
Topic.similar_toс лучшими совпадениямиTopic#title. - Улучшение миграции столбца
allowed_path. - Решение проблемы, когда удаленные спам-темы, помеченные как «Не спам», не восстанавливались.
- Избежание ошибки проверки при удалении пользователей с заблокированным уровнем доверия.
- Использование заголовка темы для заголовка в head опубликованной страницы.
- Уменьшение количества терминов, вводимых для лексемы хоста.
- Улучшение регулярного выражения для сопоставления лексемы версии.
- Не вводить дополнительные термины для лексемы версии.
- Добавлен перевод уведомления о реакции.
- Резервирование ID для уведомлений о реакциях.
- Использование терминологии «allowlist» и «blocklist».
- Тесты, использовавшие старые пути.
- Загрузки не тестировались должным образом.
- Передача
siteSettingsв большем количестве мест. - Добавлена глобальная переменная
enable_email_sync_demonи отключен демонEmailSyncпо умолчанию. - Добавлен метод
strip_secure_urlsвGroupSmtpMailer. - Не показывать вкладку «Электронная почта» для настроек группы, если не включены IMAP + SMTP.
- Тесты для
reindex_search_specпроходят независимо отseed. - Отображение правильного статуса на странице отписки.
- Перемещение констант и переводов для настроек автоматического удаления закладок.
- Восстановление навигационной панели в списке тем тегов.
- Включение разрешенной локали в анонимный ключ кэша.
- Сделать
set_localeдействиемaround_action, чтобы избежать утечки между запросами. - Улучшение стиля электронной почты для блоков кода.
- Удаление трюка iOS для предотвращения прокрутки при фокусировке на вводе.
- Обзоры, автоматически скрытые доверенным флагманом спама, всегда должны иметь достаточный вес.
- Удаление границы у плейсхолдера миниатюры YT.
- Применение трюка предпросмотра видео только для Safari.
- Добавление системных шрифтов в мастер.
- Разрешено пользователю восстанавливать/удалять сообщение, если он может просмотреть тему.
- Опечатка в
NotificationsController#index, не обнаруженная тестами. - Игнорирование удаленного столбца закладок
delete_when_reminder_sent. - Остановка двойного добавления
window.location.originк URL-адресам медиафайлов. - Тест для
fillGapBefore. - Удаление
username_lowerиз административного сериализатора. - Сохранение проверки
by_usersв инвентаре S3. - Удаление синонимов в темах, если целевой тег уже добавлен.
- Улучшение логики инвентаря S3.
- Ошибка «Неопределенный метод» для класса nil в серверах дляking.
- Присвоение эмодзи ширины/высоты для предотвращения предупреждения о ленивой загрузке.
- Обработка режима только для чтения PG в
Auth::DefaultCurrentUserProvider. - Не выбрасывать ошибку при сбое добавления в кэш в режиме только для чтения.
- Событие
before uploadсрабатывает после сохранения и перед загрузкой, чтобы убедиться, что загрузка действительна. - Пользователи должны иметь возможность удалять свои собственные сообщения в очереди.
- Тесты фокусировки ненадежны в qunit.
- Наша тестовая сборка highlight.js была сломана.
- Использование сырого jQuery в тестах.
deleted— это вычисляемое свойство темы.- Отчет перезаписывал вычисляемое свойство (CP).
- Тесты
category-dropбыли сломаны и перезаписывали CP. - Перезаписанные вычисляемые свойства.
- Отсутствующая иконка-заглушка (favicon) в тесте.
- Listing тем с muted смешанными тегами.
- Отсутствующий трассировка приложения в цепочке логгеров.
- Неправильное перехватывание
PG::ServerError. - Правильный счетчик потока при загрузке большего количества сообщений.
- Меньше сломанных путей к изображениям в тестах.
- Не использовать расширения прототипа, такие как
.observes. - Тесты, связанные с датами, выводили предупреждения.
passwordRequired— это вычисляемое свойство.- Тесты опросов перезаписывали несколько вычисляемых свойств.
- Больше запросов 404 для изображений в тесте.
- Ошибка в тестовом режиме с отсутствующим
topic. - Не загружать изображения, которых не существует в тесте.
- Всплывающая подсказка больше не используется.
Discourse.Siteустарело.- Отображение фоновых изображений для обоих форматов суффиксов.
- Отсутствующий заголовок при вставке гиперссылок.
- Исправления поиска по закладкам.
- Переиндексация сообщений при изменении
Topic#titleилиCategory#name. - Возврат заголовка темы в
choose-topic. - Обновление иконки meh-o до far-meh.
- Убедитесь, что используются одни и те же единицы измерения при сравнении размера миниатюры.
- Меньше ошибок 404 в JS-тестах.
- Больше ошибок записывается в тестах.
- Устаревание:
usernamesтеперьrecipients. - Удаление еще нескольких устанавливаемых вычисляемых свойств.
- Устаревание:
usernamesтеперьrecipients. - Перезапись еще большего количества вычисляемых свойств.
- Удаление установки вычисляемого свойства из теста гамбургер-меню.
- Не использовать jQuery напрямую в тесте.
- Установка вычисляемых свойств в тестах.
- Удаление устареваний
i18nPrefix. - Удаление
user_deleted, когда персонал восстанавливает сообщение. - : Событие
user_updatedсрабатывает только если адрес электронной почты изменился после создания пользователя. - Поиск
in:titleдолжен искать только по первым сообщениям тем. - Позиция кнопки массового выбора на странице поиска.
- Подсчет новых и непрочитанных учитывает скрытые категории.
- Предотвращение генерации миниатюр, если изображение слишком большое.
- Применение обходного пути предпросмотра видео для iOS.
- Регрессия в генерации защищенных URL-адресов, продолжение 36bad0c.
- Предзагрузка метаданных для аудио/видео при включенном защищенном медиа.
- Трюк для загрузки предпросмотров видео в Safari.
- Ошибка на единицу-слэш в
topic.notifications.reasons. - Добавлен заголовок noindex на страницу сводки пользователя.
- Не перезаписывать вычисляемое свойство
maxlength. loaded— это CP и не может быть перезаписано.- Отключение ошибок исходных карт
route-recognizerв режиме разработки. - Отключение предупреждения исходных карт
ember-qunit. - Добавлен исходный код popper.
- Правильная загрузка исходного кода ember в режиме разработки.
- Нельзя устанавливать
urlдля тем, он вычисляется из суффиксов. - Ошибка с
currentCategory. FilterPlaceholder— это вычисляемое свойство.topic.details— это не обычный JS-объект.- Разрешить компиляцию
highlightjs-worker. - Игнорирование длины документа при поиске при ранжировании по релевантности.
- Предотвращение перенаправления, если кнопка масштабирования изображения находится внутри ссылки.
- Поиск по релевантности может возвращать неверный номер сообщения.
- Добавлена защита на случай, если тема не установлена.
- Исправление URL-адресов профиля пользователя в представлении краулера
/about. - Удаление параметров запроса из URL-адресов при индексации для поиска.
- Ввод дополнительных лексем для лексемы хоста.
- Поиск по полным URL-адресам не работал.
- Улучшения для импорта ванили.
- Убедитесь, что агрегированный поиск показывает сообщение с наивысшим рейтингом.
- Различные улучшения интерфейса модального окна закладок.
- Неправильное описание поиска при использовании расширенных фильтров поиска take2.
- Получение только правильного заголовка свертки в электронных письмах.
- Не удалять
noopenerиз onebox. - Не награждать «Нового пользователя месяца» в неправильном месяце.
- Удаление иконок социального обмена из частных контекстов.
- Проверка существования последнего автора перед использованием.
- Установка атрибутов html
lang/xml:langв электронных письмах. - Пропуск шепчущих сообщений при обновлении счетчика лайков темы.
- Небольшое уменьшение фиктивной задержки пользователя Discobot.
- Регрессия панели последнего посещения.
- Разрешена регистрация, когда провайдер аутентификации не предоставляет адрес электронной почты.
- Замена ссылок на удаленные загрузки в обзорах плейсхолдером.
- Не отображать включенные поля ввода, когда имя пользователя/имя заблокировано.
- Синхронизация поведения клиента и сервера для поиска хэштегов категорий.
- Иконка закладки и атрибуты в меню сообщений не обновляются при клике на уведомление.
- Миграция
topic_users.bookmarkedвfalse, когда оно неверноtrue. - Вывод теста, связанный с
Discourse::VERSION. - Нестабильный тест.
- Нестабильные тесты.
- Неправильное исправление для сбоев приглашений, когда не выбрана группа.
- Приглашения, когда не выбрана группа.
- Перехват всех видов исключений при обработке электронной почты.
- Разрешение коротких URL-адресов в cook-text.
- Принудительное чтение роли ActiveRecord, если Redis недоступен, часть 2.
- Принудительное чтение роли ActiveRecord, если Redis недоступен.
- Не отправлять системные письма приостановленным пользователям.
- Устаревание
getURL. - Кнопка «Отправить все приглашения повторно» не работала как ожидалось.
- Ограничение имени закладки 100 символами и усечение существующих имен.
- Остановка обновления столбца закладки из
TopicUser.update_post_action_cache. - Неправильное описание поиска при использовании расширенных фильтров поиска.
- Отключение ключей безопасности одновременно с 2FA TOTP.
- Предлагать отключение 2FA только администраторам.
- Ярлык закладок ведет к новым закладкам с напоминаниями.
- Не подсвечивать большие блоки кода.
- Установка значения по умолчанию для поля результата опроса.
- Перенаправление пользователя на URL с правильным суффиксом категории.
- Обеспечение согласованности порядка категорий.
- Добавление правил CSS для таблицы normalize.
- Исправление состояния гонки при разрешении хэштегов тегов и категорий.
- Улучшение поиска хэштегов категорий.
- Улучшение поиска хэштегов категорий.
- Под-под-категории могут упоминаться, используя только два уровня.
- Удалена поддержка хэштегов трех уровней.
- Установка значения по умолчанию для поля результата опроса.
- Ошибка nil в массиве при генерации миниатюр темы.
- Обработка случая, когда загрузка исчезает во время уменьшения размера.
- Не перерисовывать виджет выпадающего списка при всех кликах.
- CookText может исчезнуть до разрешения промиса.
OptimizedImage#filesize.- Сделать
Email::Stylesработать с HTML-документами, а не фрагментами. - Обеспечение отображения секунд при использовании с датами.
- Обновление CSS normalize с 3.0.1 до 8.0.1.
- Пропуск скрытых сообщений при генерации канонического URL.
- Загрузка существующего изображения как настройки сайта.
- Загрузка изображения как настройки сайта.
- Автодополнение эмодзи не срабатывает правильно.
- Увеличение времени
DOWNLOAD_URL_EXPIRES_AFTER_SECONDSдо 5 минут. - Отрицательные значения лимита не должны вызывать ошибку 500.
- Фильтрация уведомлений прочитанных/непрочитанных на стороне сервера.
- Удаление связанных данных поиска, когда запись была удалена.
- Возврат CDN-URL для загрузок, если доступен.
- Поддержка корневых путей, опускающих завершающий слэш и имеющих параметры запроса.
- Поиск не учитывал мультисайт.
- Скрытие опции
publish_read_stateот пользователей без прав администратора. - Иногда не весь вывод psql записывался во время восстановления.
Emoji_autocomplete_min_charsне работал, когда не 0.- Обновление полей темы при обновлении из
ThemesInstallTask. - Загрузки не могут быть сопоставлены из-за того, что атрибут элемента cook-text равен null.
- Идентификация URL-адресов тем без суффиксов повсюду.
- Исправление логики сравнения версий при сравнении стабильной версии с бета.
- Сериализация пустого массива, если нет предложенных тем.
- Seed должен запускаться перед оптимизацией иконок сайта.
Published-page-headerдолжен быть соседомpublished-page-body, а не родителем.- Сломанные спецификации.
- Удаление путей из robots.txt в пользу заголовка noindex.
- Совпадение триггеров Discobot с обработанной версией.
- Неверные URL-адреса не должны ломать
store.has_been_uploaded?. - Избежание маркировки уведомлений как просмотренных в режиме только для чтения.
Изменения UX
- Улучшенная формулировка, когда нет неиспользуемых тегов для удаления.
- Помощь пользователям в понимании значения каждой области действия.
- Использование одного и того же форматирования для биосов карточек пользователей и групп.
- Предзагрузка списка скрытых категорий для предотвращения задержки рендеринга.
- Обеспечение переноса результатов поиска на мобильных устройствах.
- Установка
silence_reasonс использованием системной локали. - Обновление цвета фона заголовка в веб-вью мобильного приложения.
- Обеспечение загрузки CSS-переменных в стиле мастера.
- Рефакторинг стиля кнопок «назад/вперед» месяца в pikaday.
- Рефакторинг тени при наведении в лайтбоксе.
- Единые стили фокусировки для полей ввода/текстовых областей композера.
- Разрешено навигация по выпадающему списку виджета с помощью клавиш Tab и Enter.
- Исправление отступов предпросмотра композера на мобильных устройствах.
- Последовательное уменьшение композера при нажатии «Готово» в iOS.
- Улучшение выравнивания и согласованности на странице полного поиска.
- Исправление отступов кнопки обмена цитатой.
- Улучшенное сообщение об ошибке, если модератор не имеет права приглашать в группу.
- Не показывать опцию приглашения в группу, если модератор не является владельцем ни одной группы.
- Исправление отсутствующей иконки при слиянии выбранных сообщений.
- Использование
group-chooserв модальном окне приглашения. - Исправление макета для длинных заметок к закладкам.
- Упрощение редактирования шаблонов электронной почты за счет наличия всегда значения по умолчанию.
- Добавление ссылки на настройки электронной почты пользователя в административном представлении.
- Удаление дополнительного пробела, добавляемого элементами управления изменением размера изображений в предпросмотре композера.
- Восстановление границ таблицы.
- Скрытие кнопки входа во время создания учетной записи с внешней аутентификацией.
- Подавление раздела «В ответ на» в электронных письмах по умолчанию.
- Усечение длинных названий значков в мобильной карточке пользователя.
- Добавление кнопки «Войти» на странице ошибки 403, если пользователь не авторизован.
Производительность
- Одновременное удаление индекса
idx_regular_post_search_data. - Удаление
idx_regular_post_search_dataво время миграции. - Улучшение производительности миграции
post_search_data. - Обеспечение минимального размера транзакции.
- Добавление частичного индекса для поиска, не являющегося ЛС.
- Предпочтение соединений подзапросам для
User#private_posts_for_user. - Удаление лишнего подзапроса в поиске.
- Переключение на
upsertв ActiveRecord вSearchIndexer. - Более быстрый расчет необходимых ответов на продвижение TL3.
- Улучшена производительность задачи
notify_reviewableза счет выполнения только 1 запроса. - Ограничение символов, используемых для генерации заголовка для описания поиска.
- Использование заголовков PG для генерации описания и подсветки в поиске.
- Замена ссылок на видео и аудио в описании поиска во время индексации.
- Оптимизация
ActionView::Helpers::TextHelper#excerpt. - Освобождение записей
post_upload, когда загруженное изображение удалено. - Перемещение регулярного выражения URI в
GroupSearchResults.blurb_forв константу. - Удаление одного лишнего вызова Redis при поиске.
- Предзагрузка данных инвентаря S3 для кластеров мультисайта.
- Избежание парсинга
Post#cookedс помощью Nokogiri для каждого поиска. - Объединение
avatar_lookupиprimary_group_lookupвuser_lookup. - Уменьшение размера полезной нагрузки поиска за счет удаления неиспользуемых атрибутов темы.
- Перемещение highlightjs в фоновый рабочий процесс и добавление кэша результатов.
- Подсчет участников в представлении
Topic_view: не отправлять список ID обратно. - Кэширование данных сводки пользователя.
- Добавление условия
user_id, чтобы можно было использовать другой индекс в запросе. - Загрузка закладок темы для пользователя в
user_post_bookmarks. - Удаление восстановления
post_uploadв ежедневной задачеEnsureS3UploadsExistence. - Не включать информацию о миниатюрах в полезную нагрузку списка тем по умолчанию.
- Использование номера сообщения для создания канонического пути в мега-темах.
- Обновление etag только при изменении.
- Рефакторинг декоратора лайтбокса с использованием
querySelectorAll. - Более эффективная проверка видимости модального окна.
- Исключение
image_urlиthumbnailsизSearchTopicListItemSerializer. - Кэширование всех метаданных в течение 60 секунд.
- Мемоизация триггеров cooked.
- Остановка добавления дополнительных тем в поиск, когда это не нужно.