2.8.0.beta7: Выпуск безопасности, быстрые правки, закладки тем и многое другое

Новые функции в версии 2.8.0.beta7

:warning: Исправление уязвимости безопасности

В этой бета-версии включено критическое исправление безопасности. Всем сайтам настоятельно рекомендуется обновиться как можно скорее. Это исправление предотвращает выполнение произвольного кода (RCE) через вредоносную полезную нагрузку подписки SNS.

Быстрое редактирование

Вы опубликовали сообщение, но поняли, что нужно внести небольшое изменение? С функцией быстрого редактирования это можно сделать быстрее и проще, чем когда-либо прежде. Не нужно открывать полный редактор: просто выделите слово (или слова), которые нужно исправить, нажмите «Изменить» и внесите изменения прямо там.

Когда вы и ваши пользователи попробуете эту функцию, мы будем рады услышать ваши предложения на meta.discourse.org в категории #feature. Нашли ошибку? Сообщите нам в bug.

Обратите внимание: быстрое редактирование не может обрабатывать сложный контент постов — например, редактирование нескольких ячеек в таблице. Если быстрое редактирование невозможно, автоматически откроется полный редактор.

Закладки тем

Теперь можно добавлять закладки не только на отдельные посты, но и на целые темы. Когда тема добавлена в закладки, пользователи, следующие по закладке, автоматически попадут на последнее непрочитанное место. Закладки тем можно создавать через нижний колонтитул, если другие закладки не добавлены.

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

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

Одобрение администратором через двухфакторную аутентификацию

При предоставлении доступа администратору, если у существующего администратора включена двухфакторная аутентификация, ему будет предложено ввести код аутентификации (или использовать ключ безопасности) для подтверждения предоставления доступа. Если двухфакторная аутентификация не включена, будет отправлено подтверждающее письмо.

Возможность восстановления удалённых постов с малыми действиями

Бывало ли у вас, что вы закрывали тему и удаляли созданный пост с малым действием, а затем понимали, что он вам нужен? Тогда вы возвращались, открывали тему и снова закрывали её, чтобы получить этот пост? Больше этого не будет! Посты с малыми действиями теперь можно восстанавливать так же, как обычные посты.

Настройка сайта для отключения уведомлений об изменениях категории темы

Добавлена новая настройка сайта disable category edit notifications, которая позволяет администраторам контролировать, будут ли пользователи уведомляться, когда модераторы перемещают их пост в другую категорию.

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

Ранее, если пользователь делал выбор в опросе с одним вариантом ответа, он мог только изменить свой голос — удалить его было невозможно. Теперь пользователи могут использовать кнопку «Удалить голос» или выбрать тот же вариант снова, чтобы удалить свой голос.

Включение автоматического тёмного режима по умолчанию для новых сайтов

В Discourse уже давно доступны несколько тем, включая тёмную тему. Новые сайты теперь по умолчанию включают как светлую, так и тёмную темы и автоматически переключаются в зависимости от предпочтений устройства пользователя.

Безвозвратное удаление постов и тем

По умолчанию Discourse использует мягкое удаление, поэтому посты и темы могут быть восстановлены при необходимости персоналом сайта. Однако бывают случаи, когда пост или тему необходимо полностью удалить — то есть удалить из базы данных целиком, например, по юридическим причинам. Для этого добавлена новая настройка сайта can permanently delete. Эта настройка доступна через интерфейс панели администратора или через SSH-доступ для администраторов. После включения администраторы могут безвозвратно удалять посты. Администраторы должны подождать хотя бы одну минуту после удаления поста, чтобы иметь возможность удалить его безвозвратно. Посты могут быть безвозвратно удалены без ожидания, если первоначальное удаление было выполнено другим администратором. Модераторы не имеют возможности безвозвратно удалять посты.

Доступность

  • Не выводить атрибут aria-label, идентичный заголовку
  • Использовать более короткую метку для меню «гамбургер»
  • Исправить несколько незначительных проблем
  • Добавить метки к некоторым полям поиска и селектору уведомлений категорий
  • Добавить более описательные метки для некоторых выпадающих списков
  • Использовать роль listbox для выпадающих списков
  • Не использовать заголовок по умолчанию для aria-label
  • Улучшить модальное окно создания учётной записи для пользователей скринридеров

Дополнительные функции

В этой бета-версии так много новых функций, что мы не можем описать их все. Ниже приведены некоторые дополнительные примечательные функции. Полный список новых функций вы найдёте в следующем сообщении.

  • Скрыть приостановленных пользователей из общесайтового поиска для обычных пользователей
  • Разрешить пользователям выбирать «непросмотренные» как представление по умолчанию
  • Отображать счётчик новых/непрочитанных в разделе «Просмотреть больше сообщений» для личных сообщений
  • Добавить игровые консоли в список неподдерживаемых браузеров
  • Обработать краткое описание черновиков в активности пользователя
  • Результаты поиска по пользователям/категориям/тегам на полной странице поиска
  • Гуманизировать сообщения об ошибках размера файла
  • Горячие клавиши для цитирования (q) и быстрого редактирования (e)
  • Прекратить использование электронной почты как источника для предложений имени пользователя и имени при использовании единого входа (SSO)
  • Добавить скрытую настройку, включающую использование электронной почты как источника для предложений имени пользователя
35 лайков

Ещё больше!

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

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

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

  • Исправление ошибок
    • Мы исправили множество ошибок во многих наших плагинах
  • Переводы
    • Мы обновили переводы во многих наших плагинах

Назначение (Assign)

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

  • Целевое назначение стало полиморфным
  • Улучшенный интерфейс для групповых назначений
  • Расширенный поиск групп
  • Новая опция назначаемой группы вместо опции «доступной для сообщений»

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

  • Более точная и гибкая автоматизация случайного назначения
  • Миграция таблицы назначений при SKIP_POST_DEPLOYMENT_MIGRATIONS
  • N+1 запрос для списка назначенных личных сообщений
  • Обновление первого поста после назначения и снятия назначения
  • Тесты были сломаны в Ember CLI
  • Правильное создание данных для спецификаций запросов тем
  • Разрешить выбор «Никогда» для частоты напоминаний о назначенных темах
  • N+1 назначение
  • Добавление полей назначения в сериализатор предложенных тем
  • Снятие/назначение при архивировании группового личного сообщения

Изменения UX

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

Голосование (Voting)

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

  • Исключение полей голосов в сериализаторе topic-list-item для личных сообщений.

Заметки персонала (Staff Notes)

Изменения UX

  • Исправление выравнивания кнопок профиля пользователя

Диаграммы (Chart)

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

  • Исправление регрессий, вызванных обновлениями ember-cli и chartjs
  • Добавление pluginId для устранения предупреждений об устаревании

Akismet

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

  • Различные улучшения и рефакторинг

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

  • Отображение состояния Akismet только если оно существует
  • Не запускать проверку на спам, если пост отредактирован сотрудником.

Календарь (Calendar)

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

  • Использование календаря по умолчанию для сохранения событий

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

  • Добавление перевода повторения для ‘every_two_weeks’
  • Удаление неиспользуемого параметра RRuleGenerator
  • Двухнедельные повторяющиеся события не работали
  • Небольшой выбор предпочтений региона
  • Исправление стилей для мобильных устройств
  • Безопасная установка одного ключа/значения в bulkInvites
  • Предупреждение об устаревании с pluginId

Изменения UX

  • Исправление наложения полей даты
  • Добавление вкладок для фильтрации между различными типами гостей, подтвердивших участие (RSVP)
  • Исправление внешнего вида ползунка
  • Исправление проблем с переполнением и переносом для длинных имен пользователей

Data Explorer

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

  • Добавление параметров Data Explorer в URL при запуске

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

  • Назначение запросов

Изменения UX

  • Исправление выравнивания кнопок после изменений в ядре

Ssolved

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

  • Улучшение синдрома пустой страницы
  • Включение решения для тем с определенными тегами.

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

  • Правильный импорт вспомогательных функций тестирования
  • Опечатка в миксине и неправильное описание настройки

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

  • Использование UserAction для подсчета принятых ответов

Encrypt

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

  • Изменение поиска для полного совпадения с запросом
  • Выдача ошибки при загрузке огромных файлов
  • Улучшение поиска в зашифрованных постах
  • Улучшение поиска в зашифрованных темах
  • Использование уникального pluginId для modifyClass
  • Расшифровка черновиков в потоке пользователя
  • Раскодирование эмодзи в заголовках из быстрого меню личных сообщений
  • Предупреждение об устаревании с pluginId

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

  • Предварительная загрузка ключей шифрования в списках тем

BCC

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

  • Использование API modifyClass вместо вызова reopen

Ad Plugin

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

  • Использование импортов вместо глобального объекта Discourse

SAML

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

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

Github

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

  • Проверка возможности использования значка в качестве заголовка

Code Review

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

  • Шаблон Topic-list должен соответствовать изменениям в ядре
  • Исправление предупреждения об устаревании путем добавления pluginId

RSS Polling

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

  • Разрешение установки тегов Discourse для каждой ленты

Подписки (Subscriptions)

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

  • Правильная установка поля интервала в корне объекта для повторяющихся планов.

Политика (Policy)

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

  • Предупреждение об устаревании из-за отсутствующего pluginId

Zoom

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

  • Создание поста было сломано, когда также установлен плагин «Эксперты категории»
  • Проблема CSP, видимость анонимных вебинаров

Совместное редактирование (Shared Edits)

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

  • Улучшение локализации и состояния отключения
  • Предупреждения об устаревании с modifyClass

Реакции (Reactions)

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

  • Обновление версии до 0.2
  • Предупреждение об устаревании modifyClass для pluginId

Изменения безопасности

  • Утечка личных сообщений и тем защищенных категорий

Сохраненные поиски (Saved Searches)

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

  • Нам нужно импортировать visit, иначе тесты не пройдут

OpenID Connect

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

  • Аутентификация client_secret_post в точке доступа токенов и явные claims

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

  • Отправка параметра claims только если он установлен
  • Правильная обработка end_session_endpoint с параметрами запроса

Эксперты категории (Category Experts)

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

  • Задача для маркировки исторических постов как постов экспертов категории

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

  • Пропуск обработки постов для нерегулярных постов
  • Не пытаться отображать кнопки, если нет данных
  • Переключение обработки постов на DiscourseEvent
  • Пропуск постов, вызвавших ошибку в исторической задаче
  • Получение всех групп для выбора групп в настройках категории

Заметки пользователя (User Notes)

Изменения UX

  • Исправление выравнивания кнопок профиля пользователя

Вход через Apple (Sign in with Apple)

Изменения UX

  • Небольшая правка текста для кнопки входа в мобильном представлении.

Документация (Docs)

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

  • Добавление фильтра и сортировки по алфавиту и цифрам для категорий и тегов в боковой панели документации

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

  • Игнорирование фильтра категорий при неправильном параметре

Изменения UX

  • Добавление подсказки «в:документация» в виджет поиска

Готовые ответы (Canned Replies)

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

  • isVisible конфликтует с устаревшим свойством ember

Интеграция чата (Chat Integration)

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

  • Обновление ссылки на предупреждение панели инструментов для указания нового URL chat-integration

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

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

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

  • Изменение всего ядра для использования uppy-image-uploader
  • Добавление атрибутов reversed и type в разрешенные атрибуты
  • Кэширование предварительных запросов CORS для MessageBus
  • Кэширование предварительных запросов CORS на 2 часа
  • Добавление downloadCalendar в API плагинов
  • Добавление API для исключения тега из запроса TopicQuery
  • Сохранение локальной даты в календарь
  • Возврат подкатегорий в конечной точке категорий
  • Заставить предложателя имен пользователей предлагать user1, user2 и т. д. для ввода, содержащего только недопустимые символы
  • Добавление баннера обновления в представление категорий и последних тем
  • Локальный диапазон дат по клику
  • Удаление дублирующихся сообщений о новых советах
  • Делание пути конфигурации multisite настраиваемым
  • Публикация событий отслеживания прочитанных тем для личных сообщений.
  • Разрешение плагинам расширять группы

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

  • Отключение настройки verbose_auth_token_logging по умолчанию
  • Отображение контекста поиска только в маршрутах тем
  • Сломанный быстрый поиск на iPadOS
  • Сброс email SSO и полезной нагрузки, когда пользователь уходит
  • Строка «None» не имеет значения, используйте класс для её выбора
  • Таймлайн тем не обновляется в мега-темах.
  • Не выполнять запрос к бэкенду при поиске «в этой теме»
  • Удаление настройки сайта ‘crawl_images’
  • Заменяет только двойные кавычки и использует Unicode
  • Не показывать пользователя-получателя в списке участников email
  • Уточнение опции «Ничего не нужно» при редактировании закладок
  • Скрытие кнопки переключения полноэкранного режима, когда текстовое поле отключено
  • Выравнивание выбора категории и тега на мобильных устройствах
  • Исправление версии API после минорного обновления
  • Улучшение скорости быстрого поиска и подсветки результатов
  • Разрешение сотрудникам просматривать ожидающие/истекшие приглашения других пользователей
  • Отслеживание также мутаций textContent
  • Оформление постов, загруженных после первоначального рендеринга в потоке постов
  • Улучшения для загрузки локальных дат
  • Обеспечение открытия встроенных ответов/ссылок «ответить» в _blank
  • Группы, использующие иконку пользователя, не имели отступа в поиске
  • Попытки наблюдать за мутацией предпросмотра как можно скорее
  • Попытки принудительно установить положение курсора в фильтре
  • Использование абсолютных URL в ярлыке поиска
  • Ошибки BackupRestore::DatabaseRestorer с Ruby 3
  • Отображение фильтра групп только когда пользователь авторизован и группы присутствуют
  • Извлечение фильтра PM и категорий из UserAction
  • Обнуление встроенной версии после перемещения постов.
  • Использование сортировки по умолчанию категории только в фильтрах «последние» и «непросмотренные».
  • Отсутствие отрывка для небольших действий с постом в таймлайне темы.
  • Удаление заголовка email List-Post
  • Перемещение проверки на приостановку пользователя позже
  • Обновление ключа перевода для соответствия причине флага.
  • Импорт Phpbb — вложения не внедрены в посты
  • Раздельная обработка приглашения в тему и на форум
  • Topic_tracking_state не выдаёт ошибку при отсутствии user_stat
  • Ruby 3 не замораживает интерполированные строки
  • Исправление локальных дат в контекстах, не являющихся постами, и в длинных темах
  • Исправление пути смены пароля для менеджеров паролей
  • Решение проблем с кавычками путем отката новых ярлыков
  • Отключение предпросмотров, если включен diffhtml
  • Применение обходного пути для выбора цитаты ко всем браузерам
  • Исчезновение выделения в Safari
  • Ошибка JS при отображении результатов поиска по теме
  • Удаление заголовка discourse-logged-in во время force_anonymous!
  • Не сохранять параметр запроса тегов
  • Всплывающая подсказка в быстром поиске не работала
  • Проверка окружения для пути конфигурации multisite даже если файл конфигурации существует
  • Отключение «Показать результаты», если никто не голосовал
  • Скрытие формы после сброса пароля
  • Парсинг списков адресов во встроенных письмах
  • Обрезка локальной даты, когда время недоступно
  • Кнопка «Выбрать все» на странице групповых назначений
  • Включение глобальной поддержки HTML
  • Отображение поста хоста, который можно встраивать, в категорию.
  • Поддержка ключевых аргументов Ruby 3
  • Ember CLI всегда загружал полезную нагрузку администратора в режиме разработки
  • Приватные видео Vimeo oneboxes были сломаны
  • Использование адресов для сравнения заголовков email
  • Прекращение отслеживания входящих сообщений после перехода (часть 2).
  • Прекращение отслеживания входящих сообщений после перехода.
  • Более явное построение ссылки на причину оценки
  • Сообщение о пустом состоянии на странице закладок пользователя
  • Исключение PM, отправленных пользователем самому себе.
  • Topic.similar_to приводит к недопустимому запросу для определенных локалей.
  • Не показывать «новые или обновленные темы» для страницы категорий на мобильных устройствах
  • Следование каноническому URL при импорте удаленной темы.
  • Ошибка загрузки предложенных тем для анонимных пользователей.
  • Уведомление о входящих сообщениях конкретно для представления категорий и последних тем.
  • Ограничение маршрутов уведомлений других пользователей
  • Неправильная интерполяция ограничивала 1 диспетчером/компонентом
  • Не публиковать пост для отслеживания тем PM, если он не новый для пользователя.
  • Поддержка ключевых аргументов Ruby 3 для DiscourseRedis
  • Обходной путь для бага Safari 15 createImageBitmap
  • Не отображать userColorSchemeId в интерфейсе
  • Сделать баннер обновления всегда доступным на представлении категорий
  • Более строгое ограничение tabindex на предпросмотре
  • Обеспечение скрытия списка подкатегорий, когда это не требуется
  • Не выдавать ошибку _removeDeleteOnOwnerReplyBookmarks при навигации
  • Не пытаться запустить приложение ember на старых браузерах
  • Правильное определение data-атрибутов, используемых локальными датами
  • Обнаружение функции globalThis
  • Методы сериализатора include_ должны заканчиваться на ?
  • Использование отрывка непрочитанного поста для отрывка закладки на уровне темы
  • Использование update_attribute активного записи вместо mini sql.
  • Не перезагружать карточку, если она уже загружена
  • Обработка кавычек пересланных писем вокруг отображаемого имени Reply-To
  • Возврат пустого массива, когда нет родителя для диапазона
  • Gem Rss является встроенным с Ruby 3
  • Сообщение о пустом состоянии на страницах групповых сообщений
  • Обновление только переданных пользовательских полей
  • Поднятие переносов строк не должно приводить к ошибке для элементов HTML5
  • Предложение site_logo_dark_url как опции для тем в темном режиме
  • Добавление локалей для вариантов PM с упоминанием групп
  • Удаление входящих сообщений для событий прочтения.
  • Решение ArgumentError для поддержки ключевых аргументов Ruby 3
  • Предотвращение переполнения в исключительных случаях в выбранном содержании
  • Не предлагать эмодзи, когда находитесь в открытых блоках кода
  • Обновление только присутствующих полей в запросе
  • Оптимистичное исправление проблем состояния таймлайна темы
  • Использование <textarea> для переводов тем
  • Не выдавать ошибку кнопку загрузки на мобильных, если !allowUpload
  • Стилизация мобильной навигации
  • Дать уникальные ключи состояния для таймлайна темы
  • Убедиться, что заголовки объектов S3 сохраняются при копировании
  • Не публиковать события архива PM для действующего пользователя.
  • Не пытаться мигрировать тестовую БД multisite, удерживая мьютекс
  • Разрешение коротких URL после загрузки diffHTML
  • Исправление положения иконки воспроизведения
  • Не заменять в упоминаниях и хештегах
  • Отображение ссылок на непрочитанные/новые PM только при просмотре собственного пользователя.
  • Удаление отклоненных новых тем из состояния отслеживания тем PM.
  • Удаление отклоненных прочитанных тем из состояния отслеживания тем PM.
  • Лучшее позиционирование кнопки «Перейти к основному содержанию»
  • Ember CLI был перехвачен до возможных ошибок
  • Проблема с высотой композера в Safari на iOS 15
  • Игнорирование канонической ссылки для oneboxes medium.com
  • Не показывать содержимое спойлера в RSS
  • Всегда показывать дату создания постов в представлении ползунка
  • Исправление номера самого высокого поста для состояния отслеживания прочитанных тем.
  • Лучший фильтр для поиска групп
  • Ошибка в окружении Ember CLI
  • Захват адресов CC для пересланных писем
  • Выполнение действия agree_and_keep только если это возможно.
  • Исправление небольшого поста «переслано пользователем» для группового почтового ящика
  • Использование случайного имени файла для временных загрузок
  • Поиск не инициализировался правильно.
  • Мы не сбрасывали должным образом мобильное состояние между тестами.
  • Не пытаться мигрировать одновременно с другими миграциями
  • Разрешение одиночных строковых значений в пользовательских полях множественного выбора, а не только массивов
  • Увеличение размера блока для правильного получения тега заголовка

Изменения UX

  • Корректировка ширины поля быстрого поиска
  • Улучшенный опыт поиска по темам
  • Отображение меньшего количества значков панели инструментов в композере на мобильных устройствах
  • Отображение поиска пользователей на всю страницу в виде сетки
  • Лучшая видимость для контекстного поиска
  • Добавление подсказки Enter в выпадающем списке поиска
  • Добавление недостающего перевода
  • Удаление aria-label для кнопок, если существует атрибут title.
  • Улучшение иерархии маршрутов для приглашений пользователей
  • Восстановление кнопки новых сообщений на мобильных устройствах на маршруте PM.
  • Добавление ярлыков для цитаты (q) и быстрого редактирования (e)
  • Добавление клавиатурного ярлыка для быстрого редактирования
  • Более последовательные метки ярлыков для macOS
  • Исправление выравнивания композера, когда теги отключены
  • Переработка быстрого поиска
  • Изменение макета страницы приглашений для соответствия другим страницам пользователей
  • Глобальное уведомление больше не принимает HTML.
  • Заглавная буква в локале письма об отписке
  • Использование последовательного размера шрифта значка категории в выпадающих списках
  • Исправление метки в поиске, когда теги отключены
  • Входящие сообщения PM неправильно расширяются при просмотре тегов.
  • Не отображать ссылку на групповые сообщения для группы без сообщений.
  • Отображение полосы прокрутки только при необходимости в выпадающих списках
  • Корректировка отступов на мобильных устройствах для поиска на всю страницу
  • Обеспечение того, чтобы липкие элементы не переполняли заголовок
  • Лучшее размещение кнопки действий массового выбора
  • Перемещение быстрого редактирования перед обменом
  • Корректировка положения кнопки цитаты на мобильных устройствах
  • Добавление второй кнопки поиска на мобильных устройствах
  • Согласованность отступов кнопки обмена
  • Исправление отступов кнопки профиля
  • Улучшение панели кнопок композера на мобильных устройствах
  • Предотвращение изменения размера полей формы приглашения
  • Исправление проблем с отображением иконки ввода даты
  • Небольшие тонкие настройки быстрого редактирования
  • Улучшение обработки запасного варианта быстрого редактирования
  • Опциональное отображение кнопки «Резюмировать» в таймлайне темы
  • Исправление проблем с макетом редактирования групп вкладок на мобильных устройствах
  • Использование стандартного размера шрифта для кнопок в конце страницы /top
  • Исправление стилей для мобильных устройств в цветовых схемах администратора
  • Исправление выравнивания элементов управления администратора на мобильных устройствах
  • Исправление отображения ввода даты в iOS
  • Небольшие правки макета в выпадающих списках
  • Нормализация размеров для полей ввода, кнопок, выпадающих списков
  • Корректировка отступов кнопок
  • Ограничение ширины выбора тегов в select-kit
  • Удаление :empty на topic-statuses, очистка

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

  • Уменьшение работы, когда внешние источники разрешены в InlineUploads
  • Использование подзапроса при исключении тега из запроса темы.
  • Избегание выполнения запроса к БД игнорируемых пользователей для анонимных пользователей.
  • Возврат всех почтовых ящиков из маршрута сообщений.
  • Улучшение производительности запросов к БД при загрузке тем для категории.
  • Исправление N+1 запросов в SiteSerialier.
  • Улучшение производительности запросов для всех личных сообщений почтового ящика.
  • Избегание ненужного выполнения запроса при обновлении закладки.
  • Избегание дополнительного запроса к БД при просмотре собственного пользователя.
  • Улучшение производительности запросов при получении непрочитанных для состояния отслеживания тем PM.
20 лайков