Примечания к выпуску Discourse 2.6.0.beta2

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

В эту бета-версию включено 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/ должно работать и на сайтах в подкаталогах.
  • Разрешено изменение уровня уведомлений группы пользователя.
  • Предыдущее исправление внесло не то и было сломано :frowning:
  • Исключение общих черновиков из дайджестов.
  • Отсутствует текущее значение иконки 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.
  • Остановка добавления дополнительных тем в поиск, когда это не нужно.
25 лайков