2.8.0.beta8: Улучшения API-ключей, редактирование alt-текста изображений, полноэкранные таблицы и многое другое

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

Улучшения работы с ключами API

Новая роль «только для чтения»: теперь ключи API можно создавать с ролью «только для чтения», что позволяет использовать их для любых запросов GET к API. Это дополнение к существующим ролям: «глобальная» (неограниченный доступ) и «детальная» (администраторы могут указывать, к каким группам маршрутов ключ предоставляет доступ).

Пагинация ключей API: страница ключей API теперь корректно обрабатывает большое количество ключей, поддерживая автоматическую подгрузку при прокрутке.

Упрощённое редактирование альтернативного текста изображений

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

Таблицы на весь экран

Часто ли на вашем сайте встречаются таблицы? Бывают ли они настолько большими, что требуется прокрутка как по вертикали, так и по горизонтали?

Теперь таблицы можно разворачивать на весь экран, аналогично большим изображениям. Наведите курсор на таблицу, чтобы увидеть новую кнопку Развернуть таблицу.

Таблица в посте:

Таблица, развёрнутая на весь экран

Доступность

  • Установка ширины модальных окон в единицах EM; улучшает масштабирование
  • Добавлена поддержка предпочтения «уменьшенное движение»
26 лайков

Еще больше!

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

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

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

  • Запрет кэширования ошибок MIME/Content-Type
  • Обеспечение того, чтобы куки _forum_session нельзя было переиспользовать между сайтами

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

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

  • Переводы
    • Мы обновили переводы во многих наших плагинах

Assign

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

  • Рабочий процесс повторного назначения
  • Действие с небольшой ссылкой на пост
  • Отображение косвенных назначений в первом посте
  • Назначение поста

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

  • Возврат правильных aria-label
  • Корректное обновление интерфейса при назначении/снятии назначения поста
  • Переименование action_code_href в action_code_path
  • Отсутствующая иконка назначенного в поиске
  • Перемещение назначения поста при перемещении поста
  • Фиксация версии плагина при запуске discourse <= 2.8.0.beta1
  • Устаревание TopicAssigner

Unhandled Tagger

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

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

Calendar

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

  • Обеспечение наличия ключа во всплывающем окне уведомлений

Encrypt

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

  • Замена fancy_title на расшифрованный заголовок

SAML

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

  • Добавлена поддержка синхронизации администраторов
  • Введено параметр saml_groups_ldap_leafcn

RSS Polling

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

  • Возможность фильтрации по частичным совпадениям подстрок категории ленты

Subscriptions

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

  • Ошибка 500 при редактировании тарифного плана

Category Experts

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

  • Добавление баллов при создании reviewable
  • Ссылка на категорию в reviewable
  • Использование предварительно загруженного пользовательского поля поста
  • Предварительная загрузка пользовательских полей постов

Docs

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

  • Скрытие элементов навигации при печати темы Docs

Изменения UX

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

Chat Integration

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

  • Удаление использования библиотеки InputValidation

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

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

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

  • Прямая загрузка multipart на S3 для резервных копий
  • Использование uppy для загрузчика тегов
  • Небольшое действие поста принимает href
  • Использование uppy для загрузчика отслеживаемых слов
  • Перемещение загрузчика аватара на uppy
  • Перемещение загрузчика эмодзи на использование uppy
  • Добавление параметра для отключения уведомлений об изменениях тегов темы
  • Загрузка изображений по прямым ссылкам в био пользователя
  • Игнорирование поднятия темы при включенном disable_category_edit_notifications
  • Пометка сбоев omniauth как безопасных для HTML
  • Включение пользовательских полей пользователя в базовый экспортер

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

  • Регрессия screen-track/appEvents в #14929
  • Сообщение об образовании в композиторе для упоминаний групп было нерабочим
  • Использование предыдущего фрагмента для проверки завершения загрузки локального фрагмента резервной копии
  • Установка null для группы, если параметр groupAttrs недоступен.
  • Использование одной и той же версии hljs в продакшене и тестах
  • Предотвращение вызова PreloadStore поиска, когда значение ложно
  • Использование Map вместо Object для кэширования
  • Обеспечение корректности и совместного использования логики минимального количества тегов
  • Отображение топовых постов из приватных категорий, если у пользователя есть доступ.
  • Параметр запроса темы удаляется из состояния истории при прокрутке.
  • LocalJumpError в задачах rake
  • Вызов _clearFlash() при отображении модального окна
  • Не допускать сбоев, если s3_install_cors_rule выключен
  • Использование 127.0.0.1 вместо localhost для ember CLI
  • Отключение событий прокрутки при работе в полноэкранном режиме
  • Разрешение использования массовых приглашений с DiscourseConnect
  • В Ember CLI некоторые тесты плагинов ссылались на неправильный контейнер
  • Делание PostRevisor более последовательным
  • Отображение перманентного удаления в меню без обновления
  • Удаление xlink:href в пользу href из-за устаревания
  • Использование правильного метода атрибута для получения ID поста из набора данных.
  • Регрессия, внесенная в #14715
  • Сохранение контекста темы при перенаправлении на полный поиск
  • Генерация корректных ID заголовков
  • Восстановление анимации действия лайка на мобильных устройствах
  • Сохранение уведомлений в OS X
  • Включение администраторов в права канала присутствия для ответов
  • Переименование action_code_href в action_code_path
  • Пропуск проверок поста для системных ревизий, когда автор удаляет пост
  • Обеспечение существования правил CORS для S3 с помощью задачи rake
  • Канонические URL могут быть относительными
  • Остановка сохранения закладки при нажатии ESC в модальном окне
  • Обеспечение того, чтобы required_tag_group_name был null, если значение отсутствует
  • Исключение тем подавленных категорий в дайджесте, даже если они не отключены.
  • Задача rake categories:move_topics не должна перемещать тему описания категории
  • Отображение Oneboxes Instagram во фрейме
  • Использование события нажатия мыши при отмене поиска
  • Вставка запятых даже при null значении поля
  • Предотвращение дублирующих запросов поиска к бэкенду
  • Удаление закладки for_topic вызывало ошибку JS
  • Использование одного и того же режима для китайского поиска при индексации и запросе.
  • Ответы с кодом 103 должны повторяться с использованием small_get
  • Включение деталей темы при отправке ЛС
  • Allowed_theme_ids не должен сохраняться в GlobalSettings
  • Не заменять слова в хэштегах и упоминаниях
  • Скрытие ссылок на отключенные темы и в списке категорий
  • Избежание еще одного запроса N+1 в Site.json_for
  • Обновление группы flair всех участников, если изменено основное групповое значение.
  • Не должно получать приглашения в темы от игнорируемых пользователей.
  • Не выполнять поиск ссылок для замененных ссылок
  • Включение новых тегов в проверку, если пользователь может создать один.
  • Очистка экземпляров PresenceChannel при закрытии композитора
  • Предотвращение ошибки циклического JSON в тестах
  • Исправления импортера Vanilla
  • Избегание запроса N+1 в Site.json_for
  • Корректное предотвращение одновременных запросов в PresenceChannel get
  • Не отправлять маяк присутствия, если его нет ни в одном канале
  • Отображение правильного сообщения при постоянном удалении темы
  • Корректный контекст отслеживания для некоторых маршрутов категорий
  • Включение заголовка Vary:Accept во все ответы, основанные на Accept
  • Разрешение любого тега для отслеживаемых слов
  • Удаление лишних разрешенных пользователей темы при групповом приглашении
  • Исправление имени настройки сайта
  • Не раскрывать нехэшированные API-ключи пользователей в redis
  • 2N+1 SQL в административном эндпоинте /api/keys

Изменения UX

  • Исправление стилей модального окна поделиться/уведомить
  • Нумерация шагов в README установки в облаке
  • Исправления макета для страницы административных постоянных ссылок
  • Удаление выбора тегов в ЛС для нештатных пользователей
  • Исправление нескольких проблем с рефакторингом прогресса темы
  • Исправление выпадающего списка категорий в стиле полосы
  • Лучшая адаптация композитора ЛС с тегами
  • Исправление ширины короткого поста на мобильных устройствах
  • Более последовательное отображение подсказки быстрого поиска
  • Удаление анимации в списке тем администратора
  • Изменение tabindex входа, продолжение 6aa6275
  • Изменение tabindex на входе для пропуска ссылки входа по электронной почте
  • Применение тегов при создании ЛС
  • Делание изменений PresenceChannel более отзывчивыми
  • Никогда не показывать кнопку назад, если меньше текущей позиции
  • Не показывать значок якоря на сенсорных устройствах
  • Перестановка настроек сайта, связанных с авторизацией, для ясности
  • Добавление специального случая для поиска пользователя, когда он находится в теме
  • Иногда футер появлялся при обновлении маршрута списка

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

  • Обновление количества лайков в видимых постах без дополнительного GET на каждый лайк
  • Использование другого столбца для лучшего плана запроса
  • Была значительная регрессия производительности в Logster
  • Оптимизация поиска в запросе личных сообщений
13 лайков