Discourse Version 2.4

Focus

Codename

Start date

June 18th, 2019

Release date

Feb 25th, 2020

49 лайков

НОВЫЕ ФУНКЦИИ

  • Ограничение количества уведомлений на пользователя до 10 000
  • Публикация сообщения при изменении пользователя, назначенного для проверки заявки (#9019)
  • Администраторы могут настроить окно задержки перед повторным пометкой и решить, будут ли сообщения, помеченные как спам пользователями с уровнем доверия 3 и выше, автоматически скрываться (#9010)
  • Добавление точки расширения плагинов под формой входа/создания аккаунта, добавление точки расширения для мобильной версии
  • Поддержка загрузки CSV-файла с электронными адресами или именами пользователей (#8971)
  • Пользователи не могут повторно пометить недавно обработанные элементы по той же причине, если только сообщение не было отредактировано или оно не было проверено более 24 часов назад (#8969)
  • Добавлен новый API плагинов для оформления точек расширения (#8937)
  • Улучшение закладок, часть 2 — Закладки тем (#8954)
  • Экспорт функции defaultRenderTag (#8941)
  • Добавление небольшого сообщения действия для обозначения пересланного электронного письма
  • Ожидающие сообщения в очереди включаются даже если они не проходят порог минимального приоритета (#8925)
  • Добавление логирования при назначении и снятии заявки на проверку помеченных сообщений (#8920)
  • Поддержка тегов и атрибутов для подписей к видео (#8914)
  • Добавлен отчет о росте уровня доверия (#8878)
  • Добавлена настройка сайта для конкретных хостов с использованием пользовательского агента при одном боксинге
  • Разрешение опросов с одним вариантом ответа (#8853)
  • Гарантированное заполнение поля short_name в веб-манифесте
  • Добавление функции выхода в протокол провайдера SSO (#8816)
  • Добавление тактильной обратной связи при лайках
  • Отправка подозрительных пользователей в очередь проверки (#8811)
  • Пользователи могут выделять любую публичную тему на своем профиле (#8809)
  • Добавление опции «группы» в опросах (#8469)
  • Добавление сообщения в лог при автоматической деактивации администраторов
  • Разрешение одновременного поиска по публичным темам и личным сообщениям (#8784)
  • Использование API выбора контактов для приглашений
  • Замена существующих владельцев значков при использовании функции массового награждения (#8770)
  • Обновление статуса безопасности загрузки при перемещении сообщения, конвертации темы или изменении категории (#8731)
  • Использование короткого URL upload:// для видео и аудио в редакторе (#8760)
  • Экспорт всех типов отчетов (#8748)
  • Удаление схемы «backup» через 7 дней после восстановления
  • Строка, содержащая только от 1 до 3 эмодзи, теперь будет отображаться как крупные эмодзи
  • Безопасные медиа: разрешение дублированных загрузок с настройками конфиденциальности на уровне категории и правилами доступа на основе сообщений (#8664)
  • Возможность установки длительности отклонения для глобальных уведомлений (#8715)
  • Добавление скрытой настройки для отключения конфигурации ведра инвентаря
  • Массовое награждение значками (#8694)
  • Передача исключенных имен пользователей в селектор пользователей (#8695)
  • Использование нового API значков
  • Добавление задачи Rake для отключения безопасных медиа (#8669)
  • Включение CSP по умолчанию (#8665)
  • Поддержка загрузки баз данных MaxMind с использованием лицензионного ключа
  • Глобальное уведомление о прекращении поддержки Internet Explorer (#8577)
  • Меню администратора темы фиксируется внизу на мобильных устройствах (#8620)
  • Разрешение плагинам добавлять глобальные уведомления (#8552)
  • Разрешение повышения уровня доверия до TL3 при отмене штрафов
  • Разрешение передачи сложных параметров сообщения из плагина (#8598)
  • Добавление скрипта импорта mybb.ru (#8609)
  • Горячая клавиша для открытия меню администратора темы (#8568)
  • Функция «Изменить порядок категорий» теперь работает с вложенными категориями (#8578)
  • Модальное окно для выделенной темы профиля и рефакторинг административного ключа (#8545)
  • Полное удаление unsafe-eval из CSP
  • Добавление сообщения при несовпадении паролей в задаче rake admin:create (#8543)
  • Хэширование ключей API в базе данных (#8438)
  • Создание плагина поддержки IE (#8520)
  • Предупреждение при добавлении компонента без назначения (#8482)
  • Выделенная тема для профиля и карточки пользователя (#8461)
  • Добавление настройки сайта для удаления заголовка X-Frame-Options
  • Синонимы тегов
  • Добавление атрибута topic_filtered_posts_count в сериализатор веб-хука сообщений
  • Возможность добавления всех активных компонентов в тему (#8447)
  • Добавление скрытой настройки для разрешения unsafe-eval в CSP
  • Точка расширения плагина рядом с кнопкой создания новой темы (#8443)
  • Поддержка вставки списка имен пользователей в личное сообщение
  • Улучшение обнаружения подозрительных пользователей
  • Контроллер текстов сайта теперь обрабатывает страницы и локали (#8408)
  • Возможность добавления компонентов во все темы (#8404)
  • Объединение уведомлений о запросах вступления в группу
  • Ограничение количества активных сессий для пользователя (#8411)
  • Скрытие сообщений из входящей электронной почты на основе вердикта DMARC (#8333)
  • Опция круговой диаграммы для результатов опроса (#8352)
  • Добавление часового пояса в основные настройки пользователя (#8380)
  • Новый API для применения пользовательских фильтров к очереди проверки (#8392)
  • Добавление кнопки экспорта опроса (#8370)
  • Поддержка алгоритма RS256 для WebAuthn (#8385)
  • Улучшение рабочего процесса смены электронной почты
  • Нормализация маршрута сервисного работника (#8359)
  • Удаление поддержки настройки категории ‘suppress_from_latest’ (#8308)
  • Блокировка паука Screaming Frog SEO по умолчанию
  • Введение стандартного ограничения скорости на уровне приложения по IP
  • Добавление поддержки безопасных медиа (#7888)
  • Фильтрация заявок по диапазону дат (#8354)
  • Разрешение ограничения поиска по тегу (#8345)
  • Отклонение новых заявок по категории (#8330)
  • Отправка сообщения новым пользователям уровня TL2 с указанием на расширенный учебник (#8335)
  • Автоматическое перенаправление на аутентификатор, если он только один
  • Подключение возможности отключения всех категорий по умолчанию (#8295)
  • Разрешение FinalDestination использовать пользовательский агент для конкретных хостов
  • Уведомление наблюдателей за тегами при добавлении тега к сообщению (#8299)
  • Загрузка переопределений переводов без использования JS eval
  • Полная переработка системы ключей API администратора (#8284)
  • Добавление приветственного сообщения для администраторов (#8293)
  • Добавление метода «init» для дополнительных элементов навигации
  • Разрешение публикации Docker-версии разработки локально или в сети
  • Использование alt-текста изображения вместо имени файла, если в лайтбоксах нет заголовка (#8286)
  • Кнопка «Создать новую тему» на встроенной странице с параметрами (#8280)
  • Новые настройки сайта для тегов по умолчанию в предпочтениях пользователя (#8283)
  • Категории могут требовать, чтобы темы имели тег из группы тегов
  • Опция обновления предпочтений всех пользователей при изменении настройки сайта по умолчанию
  • Прекращение обновления last_posted_at для пользователей в сообщениях и шепотах
  • Разрешение массовой отправки приглашений пользователям в стадии ожидания
  • Удаление вложений и усечение поля raw для входящих электронных писем (#8253)
  • Настройка сайта/интерфейс для разрешения пользователям устанавливать свою основную группу (#8244)
  • Добавление заголовка SES спам в распознаваемые заголовки спама (#8254)
  • Приветственное сообщение модераторам — добавьте копию! (#8246)
  • Добавление запоминания списка тем для групповых личных сообщений (#8235)
  • Поддержка SCSS в пользовательском стиле электронной почты
  • Редакторам вики разрешено редактировать теги для тем вики
  • Включение URL изображения в сериализатор темы
  • Запоминание позиции прокрутки в списках личных сообщений (#8212)
  • Запоминание позиции в списках личных сообщений
  • Экспериментальная скрытая настройка для резервных копий черновиков
  • Разрешение персоналу использовать topic_url для настройки шаблона электронной почты
  • Улучшение логики медоупота и проверки
  • Опция обновления предпочтений категорий всех пользователей при изменении настройки сайта (#8180)
  • Использование атрибута rel «ugc» вместе с «nofollow»
  • Добавление краткого описания сайта в заголовок страницы входа
  • Поиск тем при добавлении ссылки в редакторе (#8178)
  • Поддержка флага --fast-fail в bin/turbo_rspec
  • Загрузка плейсхолдеров также в плагинах (#8173)
  • Отображение дат создания и последнего использования для ключей API
  • Переработанные однобоксы GitHub
  • Добавление настройки сайта для отображения более подробных ошибок 404 (#8014)
  • Использование полного перенаправления страницы для всех методов внешней аутентификации (#8092)
  • Улучшение отображения коммитов, PR и проблем GitHub в однобоксах
  • Взвешенная точность пользователя при проверке заявок (#8156)
  • Неточные пользователи имеют отрицательную точность проверки
  • Добавлено поле ввода имени при создании нового аутентификатора в предпочтениях пользователя
  • Добавлены плейсхолдеры для полей ввода аутентификатора
  • Добавлен дополнительный слой защиты при распаковке файлов
  • Разрешение выполнения UploadRecovery для одного сообщения (#8094)
  • Управление аутентификатором WebAuthn с входом через 2FA (ключи безопасности) (#8099)
  • Добавление контекста темы и категории в полезную нагрузку веб-хука сообщения (#8110)
  • Заголовок темы проверяется на наличие запрещенных слов (#8127)
  • Поддержка маскируемых иконок в манифесте PWA
  • Кнопка «Поделиться» теперь поддерживает пользовательский JavaScript (#8090)
  • Включение атрибута allowfullscreen для iframe (#8086)
  • Обновление mini_scheduler для поддержки фильтрации истории
  • Разрешение встроенным страницам игнорировать HTTP REFERER
  • Панели быстрого доступа в меню пользователя (#8073)
  • Новый период редактирования сообщения для пользователей >= tl2 (#8070)
  • Добавление порога tl2 для редактирования новых сообщений
  • Добавление имени пользователя создателя темы в встроенный список тем
  • Добавление точки расширения плагина перед прогрессом темы
  • Добавление всплывающего окна с более подробным счетом для заявок (#8035)
  • Улучшение производительности анонимного кэша
  • Поддержка точки расширения data-explorer в навигации группы (#8063)
  • Отслеживание даты последнего использования ключа API
  • Встроенный список тем с подробными метаданными (#8062)
  • Анонимный кэш отправляет данные в логгеры
  • Новый HTTP-заголовок «Discourse-Render»
  • Уведомление авторов при восстановлении помеченных сообщений
  • Вход через Discord (#8053)
  • Не заменять ↔ на эмодзи
  • Настройки сайта для связи с нативными приложениями iOS/Android
  • Добавление хука после всех инициализаторов
  • Разрешение темам загружать JS-файлы как ресурсы
  • Добавление атрибута обратного отсчета к тегу [date] (#8037)
  • Защита от атак повторного воспроизведения при использовании TLS 1.3 0-RTT (#8020)
  • Разрешение плагинам изменять настройки сайта во время восстановления резервной копии
  • Рассмотрение theme_uploads как настроек в JavaScript
  • Публикация состояния прочтения в групповых сообщениях (#7989)
  • Интеграция приглашения к установке PWA в интерфейс Discourse (#8013)
  • Избранные эмодзи также отображаются в автодополнении редактора (#8011)
  • Добавление веб-хука для уведомлений пользователей
  • Результаты опроса только для персонала (#7984)
  • Встраивание списка тем на удаленные сайты через JavaScript API (#8008)
  • Поддержка уровня видимости участников группы (#8004)
  • Добавление предварительного просмотра в конструкторе опросов (#7988)
  • Разрешение темам переопределять переменные преобразования цвета (#7987)
  • Внешняя аутентификация при использовании приглашений
  • Добавление настройки для отображения содержимого пересланных электронных писем в темах (#7935)
  • Опция всегда отправлять выдержки в электронных письмах
  • Отправка уведомления при принятии участника в группу (#7614)
  • Упоминание в безопасной категории для приоритета групп
  • Разрешение удержания мьютекса обработки сообщения дольше
  • Добавление тестовой функции в административный интерфейс отслеживаемых слов
  • Улучшение статистики, предоставляемой задачей rake db:stats
  • Список модераторов категорий на странице «О нас» (#7916)
  • Настройка HTML-писем (#7934)
  • Генерация новых ключей VAPID при изменении base_url
  • Синхронизация состояния непрочитанных сообщений в списках тем в реальном времени (#7933)
  • Добавление вложений во исходящие электронные письма
  • Добавление оператора поиска для просмотра всех прямых сообщений от пользователя (#7913)
  • Улучшения отслеживаемых слов (#7899)
  • Разрешение загрузки отслеживаемых слов
  • Разрешение массовой очистки отслеживаемых слов
  • Список всех заблокированных слов, содержащихся в сообщении, когда оно заблокировано
  • Разрешение просмотра исходных электронных писем для проверенных сообщений в очереди (#7910)
  • Разрешение выбора категории при публикации личного сообщения (#7907)
  • Разрешение пользователям без штрафов за последние 6 месяцев достигать уровня TL3 (#7892)
  • Отправка максимум 200 электронных писем в минуту для массовых приглашений (#7875)
  • Создание задачи Rake для удаления категорий
  • Новые компоненты даты/времени (#7898)
  • Преобразование Gz в zip для экспорта (#7889)
  • Экспорт администратора/пользователя сжимается в формате zip (#7784)
  • Создание задачи Rake для удаления категорий
  • Разрешение настройки robots.txt (#7884)
  • Работа Discourse в автономном режиме с использованием WorkboxJS (#7870)
  • Использование настроенных кавычек в красивом заголовке темы
  • Настройка сайта для типографских кавычек
  • Экспорт администратора/пользователя сжимается в формате zip (#7784)
  • Переназначение загрузок во время восстановления при изменении S3 или CDN
  • Добавление скрытой настройки для включения загрузок S3 в резервные копии
  • Разрешение Markdown в уведомлениях о сообщениях (#7864)
  • Отображение кнопок входа и регистрации в макете без Ember (#7867)
  • Добавление «Владельцев групп» в параметры публикации для групп
  • Добавление новой опции видимости группы для «зарегистрированных пользователей» (#7814)
  • Установщик тем через Rake (#7848)
  • Добавление белорусского языка
  • Руководство по выбору тем для пользователей без доступа (#7852)
  • Поддержка параметров запроса при перенаправлении на внутреннюю ссылку при входе (#7829)
  • Разрешение отключения компонентов темы (#7812)
  • Добавление CSS-классов к строкам связанных учетных записей
  • Отключение поиска при экстремальной нагрузке
  • Предзаполнение заголовка для прямых сообщений из темы
  • Добавление бесконечной прокрутки на странице списка пользователей администратора (#8212)
  • Поиск по тегу In:tagged (на стороне сервера) (#7822)
  • Расширенные фильтры поиска In:tagged и In:untagged
  • Экспорт любого типа отчета, поддерживающего табличный режим (#7662)
  • Отображение тегов в результатах меню поиска при включении (#7819)
  • Добавление поддержки поиска по группам тегов
  • Добавление возможности иметь несколько факторов TOTP (#7626)
  • Добавление конечной точки для индивидуального обновления настройки темы (#7789)
  • Применение небольшого штрафа к закрытым темам при поиске (#7782)
  • Добавлена ранняя поддержка новых эмодзи (#7785)
7 лайков

BUG FIXES

  • Make reviewable claiming work with deleted topics (#9040)
  • Sync Ember and non-Ember layouts (#9028)
  • Ensures topic count is correctly showing in box category badges (#9034)
  • Translate none-tag and all-tags labels in tag filter (#9030)
  • Ensures scoped search category is searching in all categories (#9031)
  • Ensures we don’t attempt to create a new PM on an existing topic (#9029)
  • Blank popular posts in summary emails due to lightbox images
  • Ensures group automatic membership dropdown works (#9022)
  • Muted was not working in topic timeline (#9021)
  • Ensure web hooks are retried at most 5 times
  • Correctly shows suggested topics label (#9017)
  • Ensures mini-tag-chooser is respecting max_tags_per_topic (#9018)
  • Use dedicated site attribute in category + tag filtered pages too.
  • Consider webp a supported image format for upload (#9015)
  • Only mark attachments as secure media if SiteSetting.secure_media? (#9009)
  • TOTP could not be used on sites with colons in their names
  • Restore initState() call within discourse-location for subfolder
  • Respect prioritize_username_in_ux setting in email
  • Correct upload statistics report for external storage
  • When admin changes staff email still enforce old email confirm (#9007)
  • When admin changes another user’s email auto-confirm the change (#9001)
  • Remove broken error dismiss button
  • Respect muted tags for mailing list mode
  • Minor linting issue for future rubocops
  • Disable save button for API key creation when invalid (#9005)
  • Patch ActiveRecord SchemaCache for safe concurrency support
  • Remove border-box from modal-body to avoid iOS fixed position bug
  • Makes setting-object capable of defining value/name properties itself (#9003)
  • Prevents setting default values on setting component to reload page
  • Prevents notifications button to be cutoff on mobile (#8998)
  • Enums should be treated as flat arrays (#8995)
  • Group members dropdown was broken on mobile (#8994)
  • Remove anchors from banner headings.
  • Mentions updater should work regardless of .notify
  • Group mentions were not being cooked the same was as previewed
  • Ensures report-filter/category is correctly filtering (#8992)
  • Use ‘hostname’ when Discourse.os_hostname is not available
  • Disable poll options if user groups do not allow them (#8987)
  • Strip video oneboxes from excerpts
  • Some select-kit dropdowns were cut-off by hidden overflow in modals
  • Use separate site attribute for single category “top tags” list.
  • Use correct translation string
  • Sk body should follow wrapper width (#8984)
  • Prevents error when loading tag groups (#8983)
  • Prevents expand post to trigger page routing (#8982)
  • Tweak upload security emoji check (#8981)
  • Improvements and fixes for update_upload_acl rake task (#8980)
  • Never mark uploads based on regular emoji secure (#8973)
  • Invalid syntax in elsif in Theme importer
  • Toolbar menu specificity
  • Username mentions lost styling
  • If a group is unmentionable, don’t render it as mentionable
  • Tag topic counts wrong after adding synonyms
  • Value-list choices when removing a value
  • Confirm draft_key is present on GET
  • Return a 404 when the draft_key is missing
  • Prevents everyone group to show as group option for polls (#8957)
  • Brings back castInteger as a safer migration path for sk2 (#8966)
  • When unread reply notification exists don’t create new (#8921)
  • Dont create new notification if already exists
  • Update Site.top_tags in “categories” route if topic list available.
  • Never allow custom emoji to be marked secure (#8965)
  • Displays selection text when no default_notification_level is set (#8962)
  • Don’t remove the topic image if posts don’t have them
  • Ensures shortcuts work correctly with topic-notifications-button (#8956)
  • Ensures select-kit can select a row with 0 as value (#8955)
  • Handle SSO Provider Parse exception
  • Linking to a category via hashtag had a broken URL.
  • Correctly compile theme template overrides (#8946)
  • Use plain text if available instead of image upload.
  • Regression with wizard canvas elements
  • Don’t count ignored, missing uploads in migration to S3
  • Remove pie draw animation (#8940)
  • Avoid highlight mention to groups that are not public.
  • Make inline oneboxes work with secured topics in secured contexts (#8895)
  • Subfolder sites rewriting URLs to root domain on initial load (#8932)
  • Date was not mutated when changing it in change-timestamp modal (#8935)
  • Avoid highlight mention to groups that are not public
  • Don’t use theme colors for digest unsubscribe footer links
  • Correctly excludes current user in user-chooser (#8928)
  • Makes user-selector use real booleans (#8909)
  • Render HTML for pie chart options (#8912)
  • Polyfill String.startsWith function for IE11
  • Make category slug validation less strict (#8915)
  • Disable preloading audio + video when secure media enabled (#8922)
  • Ignore group mentions inside quotes (#8905)
  • Removes limit for trust level growth report (#8908)
  • Makes tag-{info,list} more specific to avoid styling other elements (#8902)
  • Flair icon being removed when updating other profile info
  • Skip absolutizing URLs when source URI is invalid
  • Properly convert quotes to Markdown (#8808)
  • Ensure s2 is working with wizard (#8886)
  • Reset edit_reason in posts when creating a new version.
  • Strip audio/video content from excerpt (#8881)
  • Prevents ac wrap to overflow on group-add-member modal (#8882)
  • Remove post/topic image_url on post edits
  • Spoiler logic should live inside of spoiler plugin
  • Ensures we have a proper component name (#8876)
  • Recovered posts with no user will be taken over by system user (#8834)
  • Replaces fake null value by clearable option (#8875)
  • Show detailed error messages for category pages. (#8832)
  • Tag info misleading message saying it’s not restricted
  • Opening new topic draft never creates post (#8828)
  • Corrects min/max logic for mini-tag-chooser (#8871)
  • Simplify maximum/minimum logic in sk2 to avoid chicken/egg (#8868)
  • Allow submitting various forms via keyboard (#8866)
  • Don’t leak event listeners (bug introduced in 999e2ff)
  • Add support for sub-sub-categories in base_importer
  • Allow both meta_data and custom_fields when creating a topic
  • Topic progress bar shouldn’t show up on desktop (#8854)
  • Edit title respects min trust to edit post
  • Prevents firefox to generate a click event on space (#8856)
  • Ensures tags-admin-dropdown is working correctly with sk2 (#8852)
  • Links in category box descriptions should be clickable
  • Labels were switched in the wizard for privacy options
  • Warn users of overwriting new topic draft (#8841)
  • Featured topic title on profile HTML parsed (#8850)
  • Prevents exception on /admin/badges page when model is not set (#8849)
  • Email attachments with a size of 0 bytes caused error
  • Sort out the route navigation in admin/email-style (#8837)
  • Better error messages when name is too long
  • Restore up/down icons in period-chooser
  • Never return the same reply more than once via reply_ids
  • Make dropdown custom user fields compatible with select-kit 2
  • Don’t return post replies from other topics
  • Off-by-one error setting the distributed mutex key to expire
  • Check parameter types
  • Admin user list not showing 2FA icon for only security keys enabled (#8839)
  • Suppress notification flood when post is edited (#8838)
  • We don’t want to update the post read count and user stats if the post timing wasn’t created due to a conflict. (#8824)
  • Use updated_at in the S3 inventory job (#8823)
  • Serve .ico files without nginx 404 for secure media uploads (#8826)
  • Stop encoding presigned URLs with UrlHelper (#8818)
  • Import sub-sub-categories (#8810)
  • Ensure ‘unless’ helper resolves variable name once (#8820)
  • Disallow featuring hidden topics (#8814)
  • Stop secure media URLs being censored too liberally in emails (#8817)
  • Customized email subjects was ignored for some notifications
  • Set showFooter to true on group topic list (#8795)
  • Wrap markdown videos with video-container class to stop post height jumping (#8806)
  • Blank cooked markdown could raise an exception in logs
  • Mitigate issue where legacy pre-secure hotlinked media would not be redownloaded (#8802)
  • Correct notification when tag or category is added (#8801)
  • Award “User of the month” badge at the beginning of month
  • Uploads:s3_migration_status rake task was broken
  • Export all category names in user archives (#8790)
  • Apply like based badge based off grant date
  • Undefined method ‘title’ for nil:NilClass in PostAlerter#create_notification
  • GetURL on a subfolder site should ignore prefix in middle of URL (#8794)
  • Post reviser picking up edits for hidden posts (#8792)
  • Improve downsize_uploads (#8409)
  • Adjust the broken image placeholder border (#8781)
  • Failed to notify user after restoring backup
  • Add ‘noindex’ header to rss feed responses.
  • Resolve pull hotlinked image and broken link issues for secure media URLs (#8777)
  • Topics sorting in tag pages is broken.
  • Ensure sourcemap’s source is correct. Uses the full assets path this time. (#8774)
  • Redis fallback handler refactoring (#8771)
  • A separate FallbackHandler should be used for each redis pair
  • Create frozen copies of passed in config where possible
  • Extract start_reset method and remove method used by tests
  • Use presigned URL to avoid 403 when pulling hotlinked images for secure media (#8764)
  • Re-apply sourceURL in development mode
  • Featuring topic on other users profile shows their topics (#8769)
  • Notify staged users about private categories (#8765)
  • Show category list on subcategory page if it has subcategories too (#8768)
  • Ensure sourcemap’s source is correct
  • Show all parent categories on topic page (#8767)
  • Quoting a quote preserves the original post information (#8746)
  • Ensure only edited badge titles update a users title
  • Use schema.org’s BreadcrumList
  • Categories_breadcrumb helper to support more than 2 levels of categories.
  • Use new tag routes (#8683)
  • Workaround limitation in jquery.autoellipsis (#8747)
  • Higher z-index for usercards in the header
  • Do not extract dates from quotes and Oneboxes (#8754)
  • Allow the app to generate and accept longer backup codes (#8761)
  • Incorrect locale in badge granter (#8749)
  • When tag or category is added notify users that topic was modified (#8750)
  • Do not error in excerpts when aside tag has no class attribute
  • Make topic query include topics from sub-sub-categories (#8709)
  • Make category-chooser show all parent categories (#8706)
  • Users should be able to remove their primary group
  • Don’t override timezone on every visit of profile preferences
  • Don’t cause exceptions due to rename of reply_id column
  • Show PM icon in docked header
  • Applies correct styles to icon and attempts to dry code (#8739)
  • Do not increase size of emojis in markdown tables (#8742)
  • Reload the ReviewableScore types when extending flags (#8740)
  • Include sub-sub-categories in new/unread counts (#8710)
  • Change additional public uploads to not be secure (#8738)
  • Groups pagination was broken
  • Change rootNone behavior in category-chooser (#8692)
  • Add missing translation key for narrative bot Italian locale.
  • Styling for feature topic on profile modal (#8727)
  • Show error message if the topic deletion fails (#8723)
  • Correctly wrap image and resize controls inside paragraph (#8718)
  • Better error message when topic deletion fails
  • Create post notices only for public posts (#8708)
  • Group membership leak
  • Raised a proper NotFound exception when filtering groups by username with invalid username.
  • Properly filter the groups based on current user visibility when viewing another user’s groups.
  • Spec for groups_controller#index when group directory is disabled for logged in user.
  • Groups_controller.sortable specs to actually test all sorting combinations.
  • Rewrote the “view another user’s groups” specs to test all group_visibility and members_group_visibility combinations.
  • Ensures group-navigation states changes when route changes (#8724)
  • Ensures secondary menu of user notifications mobile nav reloads (#8716)
  • Update user-selector excluded usernames after insert (#8711)
  • Update featured badge ranking when mass-awarding badges
  • Moves back padStart/padEnd to core polyfills (#8714)
  • Specs with old filename
  • Use CDN for the discourse-internet-explorer
  • Remove padding while composer is saving
  • Ran prettier on user-selector-test (#8700)
  • Make ‘findBySlugPathWithID’ when URL ends with a slash (#8699)
  • Prevents url of file from being pasted when pasting file on iOS (#8693)
  • Don’t log a claimed topic database error during tests
  • Stop logging errors in postgres on reviewable conflict
  • Decompressing lots of small files triggered error
  • Allow users to change title in locales other than English
  • Do not redirect to /auth/* urls after authentication
  • If the admin sso sync has no external ID, don’t throw an error
  • Don’t leak event listeners in user-activity-drafts (#8682)
  • Allow omniauth confirmation page to pass through GET parameters
  • Add noindex header to user profile pages.
  • Make scrolling to bottom post in topic more consistent (#8671)
  • Ensure we consistently pick the same topic for bench
  • OnScroll method was not defined on mobile discovery (#8672)
  • Topic_tracking_state when mute_all_categories_by_default is enabled
  • Only agree with the first post when using the ‘Delete post + replies and agree’ option
  • Cached new topic data should not be deleted after dismiss new (#8660)
  • New/unread count after dismissing new topics in a regular category (#8659)
  • Allows scroll on load for discovery topic list (#8661)
  • Bulk insert to create application requests
  • Bulk insert to create topics
  • No need to create separate user for each topic, post etc.
  • Another bulk_insert of ApplicationRequests
  • Dont create user and topic instances when not neccessary
  • Merge examples with expensive setup into one example
  • MaxMind DB file not downloading correctly
  • Keep ‘rb’ & ‘rp’ tags in html to markdown conversion.
  • Ensure CSP is off for qunit
  • Show uncategorized description on categories page
  • Descriptions were blank for uncategorized in hamburger menu
  • Add a blank poll options validation (#8652)
  • Don’t give error 500 when invalid date param is given to admin reports (#8658)
  • Allow underscore in file extension while downloading the uploads.
  • Correctly account for onebox height when lazy loading images
  • Any global notice text can contain HTML (#8655)
  • Bots accuracy should be zero (#8654)
  • Allow any protocol in wildcard url checker (#8651)
  • Avoid superflous logging when mime type is bad
  • Under rare conditions saving a new draft could error temporarily
  • Catch error when unknown COSE algorithm is supplied for Security Key (#8649)
  • Trigger commands are different for each locale, account for that.
  • Only show admin wrench when there are actions on mobile
  • Don’t display cloak on admin tool when the right wrench is clicked (#8641)
  • Visual improvements to admin topic menu (#8638)
  • Use cached MaxMind DB for longer
  • Open a card on click even if the mention has extra elements (#8626)
  • The ‘reviewed’ status filter should include deleted elements (#8630)
  • Update topic/post counter correctly when category has zero topics (#8600)
  • Makes highlighting last viewed topic more resilient (#8624)
  • Correctly styles pwa consent banner (#8623)
  • Allows global_notice site setting to contain html (#8622)
  • Cache_critical_dns was erroring without IPAddr
  • Correctlt styles notification-consent-banner (#8621)
  • Track correct site setting
  • English and US date/time formats
  • Better error message when forum is in read-only mode
  • Update normalize css from 3.0.1 to 8.0.1 (#8591)
  • Correct description for out of love badge (#8615)
  • Everyone can see poll results when on_vote and closed (#8613)
  • Bug when revoking badge as title (#8616)
  • Category routes model params should decode their URL parts (#8612)
  • Ensure that we encode a slug only once if slug generation method is encoded
  • Give expanded CSS/HTML editor >`0 height
  • Label helpers on sign up form are not hidden (#8603)
  • Remove rerenderTriggers
  • Remove full nested quotes on direct reply (#8581)
  • Show signup input tips and improve spacing
  • Limit requests and include data when reporting deprecated icons
  • Correct user serializer user method for extended serializer (#8590)
  • Include Symbol polyfill for IE11
  • IE11 compatibility for readonly check
  • Show parent and subcategories for 2nd level categories (#8579)
  • Prevent errors in IE11 following AJAX request
  • Add missing Object.entries polyfill for IE11
  • Show new/unread button when a new topic or post is created (#8576)
  • Parallel spec system needs a dedicated upload folder for each worker. (#8547)
  • Move IE specific CSS rules to discourse-internet-explorer plugin (#8567)
  • Remove ‘staff_only’ results option for non-staff (#8565)
  • Fix choose-topic component to search by url (#8574)
  • Avoid String.matchAll for IE11 support
  • Use updated_at date to denote expired invites (#8521)
  • Prevents crash in discourse_tagging with empty term (#8548)
  • If a prettified slug is a number, return defaultt (#8554)
  • Require: false for rotp gem (#8540)
  • Category id in filterCategory (#8555)
  • Ensure currentUser exists before getting ID
  • If we run db:migrate on its own, it should load the environment
  • Migration paths were being forgotten
  • Allow IE script to load with a CDN
  • Granting staff status should auto-approve users waiting approval (#8533)
  • Granting staff status should auto-approve users waiting approval
  • Constraint error when inserting the same topic group twice
  • Cache short upload URL (#8541)
  • Disallow c as a tag
  • Disallow none as a category slug
  • Hide old bookmark button on post-menu if SiteSetting.enable_bookmarks_with_reminders
  • Replace deprecated URI.encode, URI.escape, URI.unescape and URI.unencode (#8528)
  • Update S3 stubs for more aws-sdk API changes (#8534)
  • Add new content type for theme/component
  • Don’t raise an error if the user is not present
  • Prevent scientific notation in free space check (#8473)
  • Always add username span in quick access item (#8526)
  • Reorder categories not working
  • Alphabetical tag sorting in mini-tag-chooser
  • Tag input doesn’t show all top 5 permitted tags
  • Ensures slug and id are not arrays (#8495)
  • Muted tags are respected by TopicTrackingState (#8467)
  • Don’t try to create an empty tag when updating a topic (#8481)
  • Default draft key in openComposerWithTopicParams (#8496)
  • Optimize images in Onebox (#8471)
  • Do not autocomplete categories or emojis in code blocks (#8459)
  • Crawler requests not tracked for non UTF-8 user agents
  • Skip validation on enforcing second factor change if the value is “no”
  • Avoid unpinning composer on iOS when invoking emojis
  • Ignore DMARC for emails sent to mailing list mirror
  • Image file names with dots were showing incorrectly in composer markdown (#8465)
  • Login page that redirects to preferences was broken
  • Redirect to /login-preferences didn’t work for subfolders
  • Anonymous cache regression
  • Export poll UI should only show for admins
  • Keep ruby & rt tags in html to markdown conversion.
  • Secure Upload URLs in lightbox (#8451)
  • BufferedValuesString.split is not a function (#8463)
  • Prevents multiple jumps to happen with LockOn (#8460)
  • Allow for nil upload record when migrating to S3
  • Ensures the element is on the page before scroll with lockon (#8458)
  • Use filtered posts when determining the next page
  • Add a component to all themes takes only active ones
  • Move select components/themes to top
  • Improve defaultIsAvailable
  • Add filter(Boolean) and remove btn class
  • Inbound link when the only slug available (#8457)
  • Don’t allow category slugs to be entirely digits
  • Respect enable_inline_emoji_translation setting in titles
  • Prepends whitespace when inserting via emoji picker
  • Filter readers avatars correctly when the post is a whisper
  • Guarantee order to correctly defer replies in review queue (#8426)
  • 500 error for missing badge grouping (#8446)
  • Hide pie legend when results are grouped (#8445)
  • Poll pie container was too large (#8444)
  • Do not autocomplete categories or emojis in code blocks (#8433)
  • Generate redirect URL correctly when using a subdirectory
  • Handle none path correctly with three levels
  • Ensures censor has always at least an empty string to handle (#8442)
  • Delay the ‘send_advanced_tutorial_message’ job to prevent race conditions
  • Optimize quoted images (#8427)
  • Add a unique index to developers table (#8436)
  • Make sure the suspended status is up to date (#8432)
  • Adds data-topic-id to quick-access-item (#8430)
  • Use mapBy and filterBy directly
  • Make Google Groups scraper work for G Suite users
  • Cache failed onebox URL request server-side (#8421)
  • Mark secure media upload insecure automatically if used for theme component (#8413)
  • Serve crawler view to Google PageSpeed
  • Correctly ignore/approve replies when acting on a flagged post (#8425)
  • Do not start the login flow when logging out from SSO/Authenticator (#8423)
  • Use dedicated Vimeo onebox for all video types
  • Correctly resize lazy loaded images in Oneboxes
  • Correct hostname in vimeo.com
  • Bypass finaldestination check for Vimeo links.
  • Do not validate topic when resetting bumped_at
  • Show updated_at for invite sent date.
  • Draft not clearing when replying to new topic
  • Oneboxer.js infinitely retrying failed requests (#8414)
  • Improves recurring by ensuring DST is computed correctly (#8410)
  • Don’t error when the empty current value in dif (#8406)
  • The build; ran prettier (#8412)
  • Update site data when we receive a list of categories
  • Only trigger upload ACL update when needed
  • Show quoted images correctly. (#8391)
  • Be more tactical with replacing markdown chars
  • Replace %20 with space in markdown file name for uploads (#8405)
  • When dismissing category inform via MessageBus (#8371)
  • Prevents exception and more duplicates (#8396)
  • Prevents timezone to show duplicated zones in preview
  • Method names incorrect (#8393)
  • Always return secure_proxy_without_cdn url for secure media (#8394)
  • Remove uneeded from discourse loader (#8390)
  • Aliases for require functioning (#8387)
  • Allow private media uploads to be reused in login_required sites
  • Replace this.get(“foo”) with this.foo to fix linting checks
  • Handle german quotes in discourse local-dates (#8386)
  • Mobile top topic list with a period and a category or tag
  • Do not log if an invalid mime type is passed to app
  • Add skip_validations in one more place for narrative bot plugin
  • Allow advanced tutorial when title emojis are disabled
  • Use correct MIME type for theme exports (#8379)
  • Abort CensoredWordsValidator early if censored_words_regexp nil (#8375)
  • Amazon video oneboxes were not working.
  • Allow secure uploads if global s3 setting active and enable_s3_uploads validations (#8373)
  • More Promise uses that were not imported
  • For a single authenticator, do not interrupt registration flow
  • Email excerpts for posts starting with a quote were displaying a username
  • Turn off auto bumping for topics with scheduled bumps
  • Parallel spec system needs needs a dedicated upload folder for each worker. (#8372)
  • ‘default_categories_muted’ site setting not working for anonymous users.
  • Do not insert conflict rows into category user
  • Automatically recover from bad sprockets cache in development (#8364)
  • Unable to remove required tag group from a category
  • Errors when using tags with colons in their name
  • Ensure load-more considers current position (#8357)
  • Better handling of Group model state (#8356)
  • Enter key should submit password reset form, not refresh the page
  • PM glyph in user-menu should always be shown to staff
  • We don’t need to refresh dates so often (#8367)
  • Attempts to be correct about dst when using recurrence (#8366)
  • A pmOnly tag should link to messages (#8361)
  • Don’t error CleanUpInactiveUserJob when user is missing (#8362)
  • Ensure revisions are made to store edit reasons and no reasons get wiped (#8363)
  • Support for rake db:rollback with plugins
  • Include 5 participants in topic summary
  • Use this.content.category instead of this.category on navigation-item
  • Confirm new email with backup codes enabled
  • Don’t show bots as post readers
  • Revert mobile jump to last post behaviour
  • SVG Sprite version hash should be based on bundle result
  • Tag topic lists should pass on noSubcategories when building the top menu
  • Tracking Topic State know about category_seen_at (#8351)
  • Need to require open-uri for discourse-narrative-bot plugin
  • Allow importing themes with subdirectories in extra_js
  • Missing User objects in Utilities
  • Computed is part of @ember/object not @ember/object/computed
  • Allow forceActive without a customHref
  • Do not deactivate admin accounts with recent posts or api keys (#8342)
  • Update quotes after moving posts (#8326)
  • Topic lists filtered by tag and a specified filter don’t work
  • Tag and category watchers regression (#8336)
  • Better error handling for invalid locale bundle versions
  • In case @ember/object hasn’t been loaded yet
  • Do not skip some emails in user search (#8317)
  • Keep emoji images in group bio excerpt (#8329)
  • More missing RSVP imports
  • Was using a native browser Promise instead of RSVP
  • Use correct class variable to get notification levels.
  • Remove magic numbers in notification levels.
  • Update api_key rake task for recent changes
  • Return a deprecation for Discourse.Session
  • Add deprecation for Discourse.NavItem in case themes are using it
  • Alias modules that are required AND imported (#8315)
  • Count current penalty if it started more than 6 months ago (#8313)
  • Use ‘about.json’ endpoint instead of using ember model to get the data.
  • Badge and user title interaction fixes (#8282)
  • Ensure enforce 2FA for staff satisfied by security keys (#8316)
  • Drafts are unique by draft_key and user_id
  • Correct display of last used date in API key details UI
  • Downcase SSO external email before checking against Discourse email (#8306)
  • Include onebox default options in development environment
  • The internal position on the topic timeline is a scroll position
  • Regression not showing excerpts in mobile timeline
  • Use long version of month names in date formats
  • Unicode group names encoded for url (#8302)
  • Too much blank padding in video oneboxes
  • Correct translation key for api key revoke button
  • Skip invalid URLs when checking for audio/video in search blurbs
  • Add <img> alt attribute for Summary emails
  • Tweak restorer spec to make it stableish (#8300)
  • Display tags topic list correctly when none is selected for subcategories
  • Build with prettier for imports (#8298)
  • Allow theme translations to be accessed in initializers (#8285)
  • FilterQueryParams mutates state that is essentially global
  • Improve regex used for image sizing controls (#8291)
  • On mobile setting active on navItem would not work
  • Skip composer blur event when switching apps in iOS
  • Do not update created_at date when resending invites
  • Do not consider mobile app traffic as crawler visits
  • No need to pass cache option in onebox
  • Dropbox videos were not loading
  • Ensure menu not too tall on desktop only
  • Prevents whitelisted_generic_onebox_spec to fail with zeitwerk (#8288)
  • Update action should be in setting-component mixin (#8287)
  • Ensures menu panel is not too tall for screen (#8248)
  • TopicQuery doesn’t react well to subcategories without definitions
  • Do not add personal message link in user menu if they are disabled
  • Move makeArray to discourse-common
  • Missing run import
  • Do not load plugin CSS/JS assets when disabled (#8275)
  • Unread topics not clearing when whisper is last post (#8271)
  • Hide muted subcategories for mobile (#8273)
  • Enter key on forms submits rather than refresh (#8274)
  • Make notification consent banner usable via keyboard and screenreader (#8255)
  • Move attachment_css_class constant out of upload-short-url for discourse-markdown-it
  • Cache Discourse.system_user separately for each multisite tenant (#8276)
  • Under some conditions draft would say it was saving when not
  • Tags can be filtered on categoryId without a q param (#8264)
  • Default user preferenced categories are not updating in admin site setting UI.
  • Prettier on importing mixin (#8270)
  • Ensure there’s an excerpt before showing the bio
  • Correct slug validation
  • Account for empty uploads directory upon backup restore (#8262)
  • Generate category url correctly when slugs are empty
  • Require q param in /tags/filter/search route (#8263)
  • Don’t use ember imports in pretty text
  • Use modules for Ember.run.debounce hack in testing
  • Upserting custom fields using keywords converts the array key to a string
  • More flaky jobs_base_spec.rb (#8259)
  • Flaky jobs_base_spec.rb (#8258)
  • Place image scale buttons unconditionally
  • Close modals on ESC key and clicking outside
  • Correct error when sending PM to email address
  • Prefer Category.find_by_slug over Category.find_by(slug: …)
  • TopicQuery category lookup by slug
  • Respond to user search correctly when category_id is blank
  • Theme component setting was not getting updated in the UI (#8247)
  • Reload plugin translations in development (#8243)
  • When running the wizard and using a custom theme, fallback to the color_scheme name if the base_scheme_id is nil (#8236)
  • Allow storage of non unique rows in oauth2_user_infos
  • Update rack-mini-profiler
  • Hide muted subcategories (#8239)
  • Handle nil case for avatar, just in case
  • Allow avatar downloads to follow redirects
  • Show poll voters in Oneboxed posts. (#7768)
  • Check for presence of liked post before creating notification
  • Rubocop rule on restorer spec (#8238)
  • Restore for non-multisite is not raising an error on reconnect step (#8237)
  • Backwards compatibility for uncompiled email style css
  • Do not load group members when user can’t see it.
  • Should not disable topic inputs while creating new topic.
  • Wizard tests were broken with new loader
  • Sortable controller var conflict
  • Correct path to ImportExport module (#8227)
  • Reconnect in restore process connects to correct DB (#8218)
  • Notifications are missing under certain conditions
  • Respect tl3 links no follow setting (#8232)
  • Return blank avatar when downloading an avatar is not possible due to file size
  • Exclude image_url from web_hook_topic_view_serializer
  • Prevent null-byte searches causing 500 error (#8226)
  • Follow redirect returns url if response code is 200
  • Do not resize xkcd image
  • Include user id in notification webhook (#8195)
  • Load user model when some attributes are missing.
  • Make category updates slug validation idempotent
  • Reload only notifications when refreshing notification count (#8221)
  • Zeitwerk-related fixes for jobs. (#8219)
  • Rate limit and hijack certificate generation. (#8215)
  • Add common HTML5 media extensions to onebox audio and video tags (#8216)
  • Correct mention autocomplete in new topics in unsecured categories
  • ‘only_hidden_tags_changed?’ method returned ‘true’ even when tags are not changed.
  • Id is always true since it’s been to_i’d
  • D-button should default type to button (#8217)
  • Fixes plugin generator with zeitwerk (#8220)
  • Various fixes to draft system
  • Update Redis gem to version 4.1.3
  • Polyfills forEach support on NodeList for IE11 (#8213)
  • Handle encoded slugs for subcategories
  • Do not truncate encoded slugs
  • Display site text overrides for non ‘_MF’ keys (#8189)
  • Transform pluralized keys to .other, to check valid interpolation
  • Update Redis gem to version 4.1.3 (#8197)
  • Get rid of redis freedom patch
  • More encoded slug fixes (#8191)
  • Do not encode the URL twice
  • More places do deal with encoded slugs
  • Handle the nil slug on /categories
  • Account for nil when looking up subcategories
  • Correct topic timeline position calculation
  • Tag cannot be used if it belongs to two tag groups with parent tag
  • Use the quote generator in the example text
  • Do not send notification to empty push_url
  • Do not make notification API call if push_url is blank
  • Add migrations to fix index on category slugs
  • Prevents trash button to get focus when submiting input on profile (#8198)
  • Respect private_email setting for user invited notification email
  • Include topic link when inviting existing users to a topic/PM
  • Correct line count link in GitHub commit onebox
  • Public_file_server.enabled is false in test (#8192)
  • Add unique index to prevent duplicate slugs for categories
  • Do not unpin reply box in iOS when selecting Emoji
  • Remove hiredis gem which is no longer needed
  • Subcategory permissions validation
  • Validation of category tree depth
  • Move notification level only when user posted
  • Zeitwerk-related fixes for jobs. (#8187)
  • Ensure that scheduled jobs are loaded. (#8183)
  • ‘local_cdn_url’ method should work for local relative urls too.
  • Allow themes to upload and serve js files (#8188)
  • Use upload’s cdn url in composer preview if available.
  • Allow change password with TOTP
  • Allows scrolling of search menu panel when showing more results (#8186)
  • Accurate sub_total calculation for reviewable_scores (#8184)
  • Properly encoded slugs when configured to (#8158)
  • Ensure we remove tempfiles from disk when creating an upload
  • Show a correct diff when editing consecutive paragraphs (#8177)
  • Prevent from creation of duplicated TopicAllowedUsers (#8169)
  • Minor Github onebox layout issues
  • Mobile adjustments for reviewable list
  • Downsize_uploads script
  • Don’t fail when there’s no directory to strip
  • During concurrent emails generation renderer should not be reused
  • Order UserFields by position, by default (#8176)
  • Site user_fields sorted by position
  • Sort UserField by position for Site
  • Don’t swallow the original error when moving posts
  • Narrative Bot certificates are ERB templates (#8174)
  • Topic timeline placement on iPad
  • Existing post timings could prevent moving posts
  • Decrement posts read count when destroying post timings (#8172)
  • Remove site setting ‘shadowed-by-global’ option (#8061)
  • Do not reset original scroll position in iOS to zero
  • Downsize_uploads script to support external storage
  • Store user_accuracy_bonus to clarify explanations (#8165)
  • Fix rake db:create after zeitwerk changes
  • Solution for pending migrations for bin/turbo_rspec
  • Updates discourse-ember-source gem (#8167)
  • Add mobile padding to bottom of user preferences screen
  • Check for category conflicts in SiteSetting validations (#8137)
  • Disallow negative reviewable score even if the accuracy would make it negative
  • Ensure push_url exists before making push notification API call
  • Properly downsize image on upload
  • Maxminddb:get task no longer working
  • Errors due to confusion between trustLevel and trust_level (#8149)
  • Update user vote count on topic trash/recover (#8144)
  • Correct position of topic progress in iOS when composer is visible
  • Broken rubocop by empty line in application.rb (#8148)
  • Autoload lib/ path for Sidekiq (#8147)
  • Ensures chart parent element is still present before render (#8145)
  • EmojiOne is now JoyPixels (#8142)
  • First post true if user creates topic first (#8139)
  • Show composer above DiscourseHub app nav on iPad
  • Apply Visual Viewport composer height calc in iOS only
  • Harden DistributedMutex
  • Exception with triggerRefresh and subcat listing (#8131)
  • Use migrations path for post_migrate (#8133)
  • Revert Demon::DemonBase back to Demon::Base (#8132)
  • Try to match advanced tutorial reset first (#8048)
  • Prevents trigger post read count update on non existing post (#8128)
  • Reset watched site settings when default locale changes
  • Respect unicode whitelist when suggesting username
  • Correctly escape category description text (#8107)
  • Change focus when application resumes in android
  • Include video tags and short urls in ‘have_uploads’ method.
  • Include ‘short_path’ as src in each_upload_url method.
  • PWA install was broken due to missing basic logo
  • Cleanup DiscoursePluginRegistry state after tests that use it
  • Fix options given to per-minute rate limiter
  • Properly render server side plugin outlets (#8106)
  • Require a min amount of reviewables before calculating thresholds
  • Sensitivity did not work by default
  • Remove versions from Active Record warm up (#8105)
  • Ignore min_trust_to_send_messages when messaging groups (#8104)
  • Proper jumpToPost with whispers/small-actions
  • By default, don’t abort Google Groups crawling on error
  • Split migration into two steps in developer guide (#8103)
  • Only apply post hide logic to flag actions
  • Google Groups crawler failed to login
  • Preview up to ‘max_oneboxes_per_post’ oneboxes
  • Put back the TL3 ->` TL0 spam thing
  • Ignored flags should not count in your accuracy score
  • Correct theme SCSS error handling
  • Live reload plugin stylesheets when editing in development
  • Live reload plugin stylesheets when the color scheme changes
  • Do not include theme variables in plugin SCSS, and fix register_css
  • Do not allow posting of category topic template without any changes
  • Escape $ in translations before interpolating (#8100)
  • Open drafts for PMs from Activity >` Drafts screen.
  • Ensure page is reloaded correctly when a hash is present (#8096)
  • Don’t show non-members as readers when the post is a whisper
  • Improve protection against problematic usernames (#8097)
  • Load raw hbs templates correctly from theme javascripts folder
  • Explicitly specify the format when loading /associate/{{token}}
  • Add support for version query parameter in InlineUploads
  • Do not escape fancy_title again. (#8095)
  • Do not show latest count in tabs on tag lists
  • Rails 6 multisite migrations and plugin migrations
  • Support <img> in code blocks when inlining uploads
  • Make markdown regexp patterns case insensitive.
  • Do not log ‘pull_hotlinked_images’ edits in the staff action log
  • Change admin dashboard sort caret icon color on hover
  • Let mailgun_api_key also support their “HTTP webhook signing key” (#8091)
  • Cast all numerical values in reports (#8087)
  • Clear authentication data from session after create account (#8040)
  • User directory should not include unapproved users
  • POP3 doesn’t work with TLS 1.3
  • Switch to full screen external login for Safari
  • Inline_uploads and subfolder (#8076)
  • Migrate_to_s3 task and subfolder
  • Errors in qunit tests when version check info is missing
  • Do not show staged users avatars when expanding the read count indicator
  • Display emojis in search result blurbs
  • Improve Onebox detection (#8019)
  • Modify frozen String and profile_db_generator uses category id (#8080)
  • Migrate post_edit_time_limit to tl2_post_edit_time_limit (#8082)
  • Move read state when moving posts
  • Topics with muted tag didn’t show up when filtering by category and tag
  • Post editing period specs
  • Inline_uploads not working on subfolder setups
  • :reject_user_delete action can only be handled by ReviewableUser (#8068)
  • Mobile Safari composer improvements (#8069)
  • Make ‘group membership requests’ feature compatible with visibility level option ‘logged_on_users’.
  • Adjust composer size for iPhone Xs Max and Xʀ
  • Report cached controller and action to loggers
  • Ensures google classic has correct man_facepalming emoji (#8065)
  • Include ‘short_url’ as src if upload url not exist
  • Close user card after clicking Message button
  • Auth popup handling for Safari same-site cookie quirks
  • Flagged posts user notifications (#8041)
  • User should get notified when a post is deleted
  • Broken scheduler when changing per_host <-> global
  • Allow accessing nested objects within theme settings
  • In case of orphan user records skip badge
  • Heartbeat should be per host
  • Notifications not updating correctly from background tab
  • Remote theme record not saved when checking for updates (#8054)
  • Avoid publishing changes if the topic was deleted
  • Include read indicator when the publish_group_state is enabled
  • An overridden text of a non-existent plural key resulted in error
  • Ensure live-reloading of theme CSS works first time (#8052)
  • Made turbo_rspec display errors in shared groups correctly
  • Race condition during deploys creating stylesheets
  • Don’t search for tags when editing topic title
  • Don’t blow up if the topic does not exists anymore
  • When activating via omniauth, create tokens after password reset
  • When activating a user, ensure the change is reflected immediately
  • Allow dashboard to load even when git version cannot be found
  • Display actual readers on the first post
  • Ensure avatar sizes are integers
  • Only use app argument for official iOS app banner
  • Show who read only if the attribute is enabled
  • Update topic groups correctly
  • Overriding _MF texts didn’t work for en_US
  • When using a custom authenticator URL, send request using GET
  • Add_to_serializer not correctly accounting for inheritance chains
  • Don’t display PWA banner when using native app
  • Remove duplicate %-sign from error messages
  • Heartbeat check per sidekiq process (#7873)
  • Allows mini-tag-chooser to fetch tags in background (#8033)
  • Filter out hidden posts for wordpress
  • Do not set destination_url cookie after deleting own account. (#8028)
  • Infinite loop when mentioning in IE11
  • Properly load desktop and mobile only plugin css assets.
  • Allow topic edits when using a hidden tag
  • Race-condition in fallback handlers (#8005)
  • Don’t try to delete staged, unused admins and mods
  • Regularly reset unknown extension of uploads
  • Limit PWA install banner to Android for now
  • Read indicator only appears when the group setting is enabled
  • Ensure extra locales are only available to staff
  • Ensure offset is always positive
  • Prevents mobile nav to create an error when unregistering click events (#8016)
  • Uses simpler pattern for custom href on extra nav items (#8015)
  • Rack-mini-profiler not showing plugin frames
  • J/K navigation resets current selection when scrolling fast.
  • Properly set notification levels on group invite
  • When inviting groups to message respect tracking state
  • Explicitly require topic_query_params
  • Clear banner topic cache after remapping
  • Ensures reports can’t modify records (#8006)
  • Correct race condition loading library
  • Hold s3 related distributed locks longer
  • Store custom attributes that are needed by plugins in queuedpost payload (#8009)
  • Attempts to use params from addDiscoveryQueryParam (#8007)
  • Convert omniauth authenticator names to symbols before comparing
  • Do not raise exception if the authenticator email is missing
  • Downcase email coming back from auth-provider
  • Replace model usage with SQL query
  • Correct ordering for post_edits report, and remove query limit
  • Correct query for post_edits dashboard report
  • Remove the tmp inventory files after the s3 uploads check.
  • RIP swipe-in menus on Android (#7997)
  • Don’t update watching_first_post notifications when moving first post
  • Trusted users might cause content to be hidden with one flag
  • Prevent failed remaps during restores
  • Truncate topic_links.url to 500 chars during remap
  • Do not create a double like notification. (#7999)
  • Blank second factor gets default name
  • Polyfills String.prototype.repeat for IE (#7994)
  • Disallow user self-delete when user posted in PMs
  • Use #dup instead of #+@ since content could be an instance of Nokogiri::XML::Element.
  • Drop readonly function when dropping table
  • Create readonly functions during backup
  • Detect DiscourseHub user agent.
  • Award ‘First Onebox’ badge just for Oneboxed URLs. (#7974)
  • Correct OmniAuth route ordering
  • Notify on Reviewable update. (#7980)
  • Wrong discobot tutorial started for certain locales.
  • Remove dependency on present? in distributed_mutex lib
  • Correctly encode non-ASCII filenames in HTTP header
  • Do not follow redirect on same host with path /login or /session
  • Allows replacement of digits and symbols emojis (#7978)
  • Embedding topics would fail with some HTML
  • Don’t hide/close topics if they don’t meet minimum visibility
  • Use unescaped title as combo-box id (#7979)
  • S3 uploads were missing a cache-control header (#7902)
  • Ensures flag-ratio report shows users with disagreed >` agreed (#7977)
  • Show membership requests link just for group owners. (#7543)
  • Generated controller should be in an underscored folder (#7975)
  • Ensures pikaday picker is showing in UTC (#7968)
  • Allows copy pasting file in composer with chrome (#7969)
  • Syntax error in b1f5949
  • Make the workbox path compatible with multisite
  • Composer preview on IE11 (#7970)
  • Rename deprecated “refresh” icon to “sync” (#7966)
  • Better detection of Apple browsers (#7961)
  • Various watched words improvements
  • Don’t include multisite upload path to source URL if already exist.
  • Make uploads recovery compatible with multisite.
  • Correctly update replies when first post gets moved
  • Modal onClose was being called repeatedly
  • Rollback when multisite tests raise exceptions
  • Don’t reuse redis connections in different threads in tests
  • Gravatar uploads being dependent on authorized_extensions.
  • DistributedMutex (#7953)
  • Better error message on username update from Admin user page.
  • Add back verbose option to DbHelper.remap
  • Add frozen_string_literal: true in the migration
  • Prevent user-notifications-dropdown from causing unintended changes
  • Post#each_upload_url yields incorrect path to block when CDN is enabled.
  • Make initializer work on first db:migrate
  • Correctly identify Chromium-based Edge
  • Support multi-file stylesheets in theme components (#7950)
  • Better error when SSO fails due to blank secret (#7946)
  • Include default label when exporting reports
  • Provide an error message if no valid tags were selected
  • Frozen string error in TopicEmbed.import (#7938)
  • Hide live-loaded posts from ignored users
  • Reverts #18e2816 (#7940)
  • Use same id for both original & optimized inventories in multisite setup.
  • Apply defaults constraints to routes format (take 2) (#7920)
  • Keep query params present in auth_redirect (#7923)
  • Ensure that jobs don’t run immediately after migrate_to_s3
  • Improves tags checking when updating category of topic (#7921)
  • Removes uncategorized context if not allowed in composer (#7922)
  • Send featuredLink as featured_link to backend to update correct … (#7915)
  • Use uniq instead of uniq! when checking for uncompressed root path. Use rails naming convention for ZipUtils
  • Migrations tried to change frozen string
  • Update reply count when moving posts
  • Delete notifications users can’t see after moving posts
  • Old notifications didn’t link to correct post after moving post
  • Allows to specify camelCased attributes in wrap component (#7919)
  • Set a minimum reading time per post. (#7842)
  • Always backup local uploads in addition to files stored on S3
  • Do not request refresh on ‘log out all’ request
  • Show same username or name for post notices. (#7862)
  • URL encode usernames in user profile links in RSS feeds
  • Remove post upload record creation inside ‘find_missing_uploads’ method.
  • Bugs preventing to close delete account modal with button (#7904)
  • String that can’t be translated in watched words UI
  • Empty backup names with unicode site titles
  • Respect logout_redirect setting on ‘Log out all’
  • When ‘raw’ started with non-image upload url it’s not converted to short-url.
  • Convert hotlinked non-image urls to short url.
  • Remove all service workers from Apple devices again
  • Rename deprecated icons, allow custom icons in badges
  • Recompile extra_js theme assets when COMPILER_VERSION changes (#7897)
  • Fallback to gzip compression if brotli isn’t supported (#7895)
  • Skip markdown conversion for hotlinked non image urls
  • Backups taken by pg_dump >`= 11 are nonportable (#7893)
  • Apply defaults constraints to routes format (#7890)
  • Ensure suppressed categories do not produce any featured topics. (#7863)
  • Allow ampersand in site_texts routes
  • Recalculate settings when dependent settings change
  • Use default locale for flag reasons
  • Do not show bootbox if post has no replies. (#7866)
  • Turn off search logging when read-only (#7877)
  • Ensures spinner is showing on tags/show when loading more (#7876)
  • Ensures routing with hash doesn’t stuck history (#7872)
  • Ensures routin with hash doesnt stuck history
  • Latest Selenium gem broke Google Groups import script
  • Remapping during restore was wrong for CDN URLs
  • Remap differently when backup comes from multisite
  • Turbo tests exit codes
  • Clear theme editor content on switching tabs
  • Remap shouldn’t try to change read-only columns
  • Show category name in title for crawler view
  • Use correct timezone for manual SQL
  • Don’t use exceptions to catch conflicts
  • Back button would go to previous topic instead of list
  • Only add image size when with & height are in pixels
  • IE grid layout issue on user’s own activity page
  • Fail if none of our tags could be updated
  • Do not show invite button if local logins are disabled
  • Ensures routing to / with query string works (#7859)
  • Don’t disable download_remote_images_to_local if site uses S3 (#7861)
  • Upsert a custom field if a unique constraint fails
  • Ensure lightbox image download has correct content disposition in S3 (#7845)
  • Prevent emoji-picker from not showing (#7856)
  • Respect the full_screen_login parameter from plugin auth providers (#7855)
  • Use title attribute for notification items. (#7840)
  • Remove misplaced save button
  • Show ‘Export’ button for all tabular reports. (#7838)
  • Logs for enabling/disabling components should show up in the staff actions logs
  • Ensures emoji helper is working with custom emojis (#7843)
  • Ensures /t/TOPIC_ID/POST_NUMBER is correctly routing (#7841)
  • Page starts at 1 (#7844)
  • Remove misplaced outlet
  • Creating new badge is failing on empty SQL query (#7837)
  • Only show remove timer button to users with permission to do so
  • Use normal title instead of fancy title for prefilled composer
  • Don’t send notification email when user isn’t allowed to see topic
  • Ensures static pages are using absolute path (#7828)
  • Copy local theme changes to correct temp folder when diffing updates to remote theme
  • Fix a navigation bug
  • FakeExceptions should have the original class name
  • An exception cause is itself an exception
  • Mark topics in sub categories as unread when dismissing parent
  • Turbo_rspec doesn’t accept these options
  • Only include pending/agreed scores in the total score
  • Provides an emoji helper to replace codes by images (#7802)
  • Prevents failure when TL was mutated on internal object (#7808)
  • Do not allow creation of topic if there is no category available for posting (#7786)
  • Calling action with a string is deprecated (#7807)
  • Closes search-menu on escape (#7804)
  • Do not include uncategorized_category_id in topic_create_allowed if posting in uncategorized is disabled
  • Ensure topic exists before making a banner. (#7781)
  • Don’t use DistributedCache to store redis readonly state
  • CategoryUser#batch_set (#7787)
  • Remove notification_level from category_users unique indexes
  • CategoryUser#batch_set wasn’t updating pre-existing records
  • Changed was being reported incorrectly
  • Iterate when clearing watched words cache
  • Multisite upload urls must have either db name or the word ‘short-url’.
  • Mobile overflow for tall fixed modals
  • Ensures url to full reviewable conversation works on subfolder
  • Category-chooser search should be scoped to category (#7794)
  • Ensure :after_auth event is triggered. (#7791)
  • Back button shenanigans when redirecting from index routes
  • Support carriage return in InlineUploads.
  • Don’t replace img tags within anchor tags with markdown format.
  • Edge case with anchor tag in InlineUploads.
  • Some toolbar operations weren’t triggering the change event
  • If a user deletes a hidden post, it should not lose history
  • Do not refresh all settings on save for all settings, limit to only a few
  • ‘status’ param change not filtering the topics in tag route.
  • BBcode edge case for InlineUploads.
  • Use correct name for selectable_avatars_enabled site setting
  • InlineUploads should replace attachment links with markdown text.
  • Upload#short_url generates incorrect URL when extension is nil.
  • Don’t allow users to edit topic information when the OP is locked
  • Couldn’t modify a widget that wasn’t in the registry
  • Remove temporary hack for fixed iOS bug (#7773)
7 лайков

ИЗМЕНЕНИЯ В UX

  • Скрыт выборщик эмодзи во вкладке редактирования категории шаблона темы (#9036)
  • Скрыт выборщик локальной даты при использовании вне основного редактора
  • Ограничена высота иконок в кнопках btn-small для предотвращения несоответствия высоты
  • Устранен двойной скролл модального окна в длинных мобильных формах создания аккаунта
  • Применены одинаковые стили для username и user-name
  • Гиперссылкой должен быть только первый атрибут
  • Добавлены отступы в зависимости от позиции атрибута
  • Улучшен внешний вид маленьких кнопок (#8990)
  • Упоминания корректно отображаются в коротких сообщениях постов
  • Отрегулирована ширина выпадающего списка уведомлений о темах на мобильных устройствах
  • Поля ввода категории и тегов в мобильном редакторе остаются на одной строке
  • Незначительные правки в интерфейсе конструктора опросов (#8985)
  • Ограничена высота полей пользователя на карточках пользователей на мобильных устройствах, добавлен миксин line-clamp
  • Ограничена высота деталей действий персонала
  • Предотвращен перенос на новую строку количества тем в выпадающем списке категорий (#8943)
  • Применено размерное моделирование border-box для выпадающих списков SK2
  • Показаны все родительские категории для целевой темы
  • Автодополнение в редакторе предложит все видимые названия групп
  • Не увеличивать размер эмодзи в опросах (#8934)
  • Отображается статус целевой темы при перемещении поста(ов) в существующую тему
  • Обновлено выезжающее меню настроек мобильного сайта для RTL
  • Исправление макета для оспариваемых обзоров на мобильных устройствах
  • Предотвращено сиротство новых значков на мобильных устройствах
  • Кнопка создания аккаунта всегда отключается, если поля пользователя некорректны
  • Игнорирование параметра имени от IDP, если он равен email (#8869)
  • Улучшена копия composer.saved_draft (#8863)
  • Кэшируется полный список иконок в выборщике иконок (#8862)
  • Устранена задержка рендеринга с кнопкой уведомления о временной шкале (#8860)
  • Отрегулирован алгоритм выбора количества уведомлений
  • Индикатор прогресса темы не должен мигать на десктопе
  • Введен компонент выборщика иконок для значков (#8844)
  • Предотвращен перенос заголовка мини-выборщика тегов (#8858)
  • Добавлена поддержка навигации стрелками в мини-выборщике тегов (#8857)
  • Заголовки центрируются в зафиксированном заголовке, если нет двух строк
  • Описание опции закрепления не отображается на мобильных устройствах (#8846)
  • Убедитесь, что иконка опции закрепления не переносится на новую строку (#8845)
  • По умолчанию включены отключенные категории на странице категорий (#8842)
  • Добавлена иконка для Google Map onebox.
  • Скрыто настройка allow_embedding_site_in_an_iframe
  • Отображается вертикальная временная шкала темы во время написания (#8813)
  • Введена автоматическая настройка ‘категории темы’ (#8804)
  • Администраторы видят только свои личные сообщения при поиске в:all
  • Сообщение об ошибке некорректного CSV теперь включает информацию о некорректной строке (#8773)
  • В качестве слогана категории по умолчанию используется ‘-’ (#8607)
  • Добавлено подтверждение при добавлении синонимов тегов
  • Пользователи должны подтверждать выход из закрытой группы
  • Незначительные корректировки модального окна выбора темы
  • Улучшен внешний вид редактирования заголовка ЛС
  • Улучшен внешний вид списков и полей пользователя в биографиях на мобильных устройствах
  • Убедитесь, что все сгенерированные резервные коды отображаются на экране
  • Возвращается более дружелюбная ошибка при некорректном CSV. Добавлена кнопка отмены для возврата к представлению /badges
  • Обновлено предупреждение об устаревании IE11 и включено по умолчанию
  • Центрирование избранной темы в профилях на мобильных устройствах
  • Устранена зависимость от JS для ссылок в блоках категорий
  • Подкатегории в «Блоках с подкатегориями» + согласованность
  • Исправлено сообщение об ошибке валидации приоритета поиска категорий
  • Некоторые правки стиля страницы категорий для подкатегорий
  • Не использовать аватары как запасные изображения opengraph для ответов (#8605)
  • Invites#show нельзя запросить с json и он не настроен должным образом (#8570)
  • Новые иконки колокольчика для статусов уведомлений/отслеживания
  • Улучшено стилирование подкатегорий в списке категорий (#8593)
  • Показаны внуки в списке категорий (#8592)
  • Предотвращено появление меню администратора постов под заголовком на OP
  • Уменьшена непрозрачность скрытого содержимого темы, но не элементов управления
  • Незначительные правки страницы администратора пользователей, учитывающие длинные названия групп
  • Незначительная корректировка для придания полю ввода получателя ЛС большей гибкости.
  • Увеличена область нажатия комбобокса для мобильных устройств
  • Множественное число для «лайки/прочитали это»
  • Улучшено выравнивание кнопок входа/регистрации через социальные сети в Firefox
  • Z-index лайтбокса изображения должен быть выше, чем z-index модального окна
  • Улучшен текст в модальных окнах «Переместить в тему» и «Переместить в сообщение»
  • Включены публичные группы в набор упоминаемых групп (#8516)
  • Небольшие исправления модального окна регистрации для iOS
  • Стили комбобокса тегов должны соответствовать тегам в темах
  • Незначительные обновления стиля информации о теге
  • Попытки сделать загрузку диаграмм менее лагающей (#8529)
  • Удалено «показать еще» из модальных окон загрузки (#8470)
  • Удалена анимация аватара для мобильных карточек пользователей (#8483)
  • Удалено двойное кодирование заголовков пользователей.
  • Предотвращены полосы прокрутки при первоначальной загрузке панели (#8456)
  • Отрегулированы отступы шагов мастера (#8452)
  • Пропущены ведущие пробелы в выделении при добавлении ссылки.
  • Показывается полное название группы, даже если заголовок совпадает. (#8437)
  • Не показывать тень при наведении на изображения на сенсорных устройствах (#8429)
  • Показывается очевидное сообщение, когда восстановление резервной копии отключено
  • Добавлен эффект наведения на изображения в лайтбоксе (#8416)
  • Переименовано «Скрыть результаты» в «Показать голос» в опросах (#8403)
  • Выбранная шкала устанавливается на 100%, если шкала не определена
  • Иконки общего доступа имеют одинаковый цвет для темных тем
  • Увеличено затухание на длинном содержимом формы регистрации для более очевидной прокрутки
  • Более очевидная ссылка на альтернативную аутентификацию
  • Разрешено нажатие клавиши Enter для отправки тестового письма в панели администратора
  • Вместо общего количества пользователей отображается только количество пользователей, которые будут затронуты.
  • Добавлен индикатор +n в списке тем ЛС (#8353)
  • Добавлена ссылка на документацию CSP в настройку content_security_policy_script_src
  • Не добавлять ведущие/конечные пробелы при копировании API-ключа в Firefox
  • Ввод тегов предлагает обязательные теги, если ни один не выбран
  • Показывается адрес электронной почты пользователя в письме и интерфейсе «Предоставить доступ администратора»
  • Уширено поле ввода названия группы тегов и добавлен текст-заполнитель
  • Конвертированы alert и закрытие модального окна в кнопки для улучшения доступности
  • Применен правильный фон для <select> в темных темах (#8234)
  • Улучшено цитирование на iOS
  • Исправлена регрессия с редактором iOS
  • Обновлен стиль отключенных выпадающих списков с использованием переменных цвета
  • Стандартизировано отображение тегов в результатах меню поиска
  • Ссылки на панели управления ведут к списку коммитов git, а не к сравнению git
  • Сделан интерфейс членства в группах более понятным (#8210)
  • Подчеркнуто, что локальные даты указаны в UTC в выдержках (#8208)
  • Убедитесь, что информация GitHub onebox не переносится без необходимости
  • Улучшен рендеринг нового GitHub onebox в письмах
  • Добавлена новая строка после закрывающего тега опроса для конструктора опросов
  • Футер сводного письма обернут в таблицу для лучших вариантов выравнивания
  • Включены метаданные в результаты поиска модального окна ссылки в редакторе
  • Добавлены CSS-классы в шаблон сводного письма для упрощения стилизации
  • Добавлен глиф на кнопку «Помощь» в модальном окне сброса пароля
  • Основной вызов в модальных окнах активируется клавишей Enter
  • Цвета темы используются для меток проблем GitHub
  • Улучшено модальное окно гиперссылки в редакторе (#8160)
  • Рефакторинг макета редактора iOS
  • Прекращено использование шрифта фиксированной ширины для отображения описания проблемы GitHub
  • Уменьшен размер иконок GitHub onebox
  • Удалена настройка клавиатуры iPad для iOS 13
  • Исправлено размещение индикатора прогресса темы в приложении iOS
  • Ввод имени при создании нового аутентификатора (#8153)
  • Добавлено «Черновики» во вкладку быстрого доступа профиля. (#8155)
  • Ограничена высота высоких модальных окон в процентах от viewport
  • Исправлен макет редактора в Android
  • Вызов изменения размера редактора при скрытии клавиатуры на iPad
  • Обход автозаполнения Chrome при редактировании текстовых полей администратора
  • Отображаются прочтения/лайки в том же порядке, что и кнопки меню постов (#8140)
  • Макет редактора на весь viewport на iPad
  • Исправлено размещение индикатора прогресса темы
  • Исправлено выравнивание на полосе прогресса темы и удалены некоторые магические числа
  • Улучшен макет редактора на iPad
  • Ссылка на причину редактирования в редакторе изменена на иконку
  • Используется Visual Viewport API для высоты редактора iOS
  • Добавлен класс для различения конкретных категорий модераторов на странице «О нас»
  • Используется средний формат для отображения времени в уведомлениях о постах. (#8074)
  • Показывается установленная версия с SHA вместо количества коммитов
  • Отрегулировано выравнивание аватара присутствия редактора RTL
  • Лучшее изображение пользователя для встраивания/тем
  • Элементы управления временной шкалой выровнены по верху
  • Скрыт индикатор прочтения, если счетчик прочтения равен нулю
  • Используется Flexbox для встраивания списка тем
  • Используется vertical-align: middle вместо единиц em
  • Используется переменная цветового кода
  • Конвертирована структура HTML встраиваемого списка тем из таблицы в div
  • Улучшения индикатора прочтения. (#8049)
  • Удалены неиспользуемые строки о десктопных уведомлениях
  • Небольшое продолжение #8047
  • Лучшее выравнивание тегов в заголовке (#8047)
  • Обход бага автозаполнения Chrome в поиске
  • Исправление макета для блоков категорий с длинными названиями подкатегорий
  • Предотвращено растягивание/сжатие не лайтбоксированных изображений в цитатах (#8021)
  • Скрыта опция «Создать тег», если пользователь не может создать тег. (#7723)
  • Согласованное размещение плагина category-title-before (#8010)
  • Добавлена ссылка на редактор robots.txt в описании настройки сайта
  • Резервный вариант на не локализованное имя провайдера аутентификации, если требуется
  • Предотвращены iframe Twitter onebox, которые выше мобильного viewport
  • Улучшена обработка ошибок для распространенных исключений OmniAuth (#7991)
  • Изменен шаблон письма администратора для большего пространства формы (#7993)
  • Очистка имени пользователя при открытии модального окна длительности игнорирования
  • Скрыты кнопки заголовка входа/регистрации во время процессов аутентификации
  • Добавлена иконка кнопки входа на страницу no_ember (#7982)
  • Улучшен макет модального окна конструктора опросов
  • Улучшены даты в интерфейсе экспорта отчетов (#7971)
  • Использованы более короткие метки дней недели в плагине локальных дат
  • Использованы более короткие метки дней недели в выборщике дат
  • Переименовано «Сохранить пост» в «Сохранить пост скрытым», когда он скрыт (#7767)
  • Исправления стиля на странице предпросмотра сводного письма администратора (#7959)
  • Удален запутывающий бордер в списке игнорируемых пользователей
  • Просмотры профиля согласованы с другими элементами (#7956)
  • Предотвращен перенос обработанных дат (#7954)
  • Показывается предупреждение, когда администратор нажимает «Сохранить», не добавив группу при изменении прав доступа к категории (#7947)
  • Увеличен контраст текста причины закрепления/отслеживания, улучшен макет
  • Улучшена ассоциация аккаунта, если описание аккаунта отсутствует
  • Добавлены классы expanded/collapsed к post-controls (#7932)
  • Исправлено вертикальное выравнивание favicon onebox (#7926)
  • Улучшен макет длинных заголовков тегов на мобильных устройствах
  • Рефакторинг модального окна загрузки аватара для лучшего отступа на мобильных устройствах
  • Обновлено сообщение «не найдено» для приглашений
  • Исправлены отступы управления загрузкой изображения профиля на мобильных устройствах
  • Добавлен тег <a> с href в заголовки блоков категорий (#7901)
  • Удалено дублирование текста в настройках двухфакторной аутентификации
  • Использованы переменные цвета SCSS
  • Системные уведомления об редактировании отключены по умолчанию (#7896)
  • Поменяны местами разделы игнорирования и отключения, чтобы переместить кнопку «Сохранить изменения» вниз
  • Использована высота, относительная к viewport, для текстового поля robots.txt
  • Перестроены элементы управления в модальных окнах редактирования
  • Убедитесь, что всплывающая подсказка отображается над выпадающими списками (#7891)
  • Исправления стиля мобильного редактора (#7878)
  • Обновлен текст-заполнитель для групп тегов
  • Добавлен атрибут title и aria-label для ссылки на иконку ЛС
  • Отклонен выбранный пост, если он не в viewport. (#7869)
  • Исправлено выравнивание кнопки разворачивания поста (#7865)
  • Высота логотипа сайта по умолчанию установлена в ровные 40 пикселей
  • Добавлена ширина иконкам значков для размещения SVG без размеров
  • Улучшен статус Twitter onebox с разрывами строк
  • Добавлено стилирование для цитируемых твитов (#7832)
  • Улучшено стилирование результатов похожих тем в редакторе (#839)
  • Теги и категории помещены на одну строку в результатах меню поиска (#7830)
  • Улучшено мобильное позиционирование кнопки удаления таймера темы
  • Каждая информация выводится на отдельную строку в результатах меню поиска (#7825)
  • Обновлен текст ignored_user_summary (#7748)
  • Перемещена ссылка для показа отслеживаемых тем, упрощен перевод
  • Изменена иконка для плейсхолдера видео
  • Скрыта подсказка «пост не прочитан» после прочтения поста (#7813)
  • Иконка плейсхолдера видео onebox сделана серой
  • Требуется подтверждение при одобрении поста в закрытой теме
  • Новая встроенная кнопка для удаления таймера темы (#7790)
  • Добавлена горячая клавиша для откладывания тем (#7798)
  • Улучшен выборщик дат в модальном окне изменения временной метки (#7771)
  • Показывается иконка лайка на архивированных постах (#7775)

ИЗМЕНЕНИЯ БЕЗОПАСНОСТИ

  • 2FA с U2F / TOTP
  • Используется строгий парсинг JSON при парсинге метаданных резервной копии
  • Улучшена логика аутентификации второго фактора
  • Исправлена проверка прав при отзыве API-ключей пользователя
  • Уязвимость в WildcardUrlChecker
  • Обновлен rack-mini-profiler для избежания возможного XSS (#8537)
  • Удалены обработчики событий из SVG-файлов
  • Убедитесь, что встроенными могут быть только загрузки изображений
  • Обновлен puma с 3.12.1 до 3.12.2 (#8464)
  • Проверка прав при автодополнении упоминаний
  • Безопасная декомпрессия резервных копий при восстановлении. (#8166)
  • Mini profiler был включен неправильно для администраторов
  • Безопасная декомпрессия файлов. (#8124)
  • Обновлена зависимость rubyzip
  • Обновлен rack-mini-profiler до последней версии для исправления XSS
  • Не разрешать base_uri как хост для встраивания, если их нет
  • XSS при oneboxing поля местоположения профиля пользователя
  • Сброс пароля при активации аккаунта через провайдера аутентификации
  • Не отправлять CSRF-токен в строке запроса
  • Обновлен nokogiri
  • Добавлено ограничение скорости для анонимного отчета об ошибках JS
  • Не раскрывать детали категорий пользователям, у которых нет доступа
  • Ограничен доступ к message-bus на сайтах с требованием входа
  • Требуется POST с CSRF-токеном для фазы запроса OmniAuth
  • Санитизация email id для использования в качестве ключа мьютекса
  • Добавлен экран подтверждения при подключении связанных аккаунтов
  • Валидация идентификатора фрагмента резервной копии
  • XSS при отображении отслеживаемых слов в панели администратора.
  • SQL-инъекция с категориями по умолчанию
  • Обновлен lodash
  • XSS с селектором заголовка на странице настроек
  • Удален HTML из писем с приглашениями
  • XSS в маршрутах
  • Экранирование текста email для постов, содержащих [details].

ПРОИЗВОДИТЕЛЬНОСТЬ

  • Избежание агрессивного вызова shell для получения имени хоста
  • Более эффективное мемоизирование разрешенных полей пользователя (#8968)
  • Мемоизация PostRevisor#diff_size (#8939)
  • Оптимизация редактирования постов
  • Загрузка пользователей партиями при генерации уведомлений (#8870)
  • Ускорение перемещения постов в больших базах данных
  • Использован отдельный маршрут для карточек пользователей и разделен сериализатор пользователей (#8789)
  • Кэширование рангов для избранных значков для упрощения сериализации пользователей (#8698)
  • Уменьшено количество запросов к БД при сериализации информации об игнорировании/отключении (#8629)
  • Кэширование идентификаторов игнорируемых и отключенных пользователей в объекте current_user
  • Избежание запросов к БД при проверке прав игнорирования/отключения в guardian
  • Кэширование счетчика значков пользователя в таблице user_stats (#8610)
  • Меньше запросов при конвертации постов. (#8358)
  • Кэширование статических активов в NGINX дольше
  • Добавлен отфильтрованный индекс для баннеров
  • Добавлен индекс в уведомления для ускорения перемещения постов
  • Прекращено уничтожение черновиков на клиенте при отправке ответов
  • Дорогостоящая очистка загрузок выполняется реже
  • Кэширование количества новых пользователей в сводных письмах
  • Добавлен индекс на группу в category_groups (#8231)
  • Добавлен уникальный индекс oauth2_user_infos(user_id, provider) (#8230)
  • Ускорено перемещение состояния прочтения
  • Избежание регулярных выражений для горячего пути
  • Повторное использование рендерера при рендеринге шаблонов писем
  • Ускорено время рендеринга страницы «О нас» и ограничены модераторы категорий (#8112)
  • Убедитесь, что кэш схемы прогревается во всем мульти-сайте
  • Избежание запуска потока каждый раз при закрытии соединения
  • Обновление счетчика читателей при прочтении поста от другого пользователя. Не извлекать данные поста снова только для обновления счетчика. (#8078)
  • Использован URL CDN для прокси favicon
  • Запуск нескольких потоков для регулярных расписаний задач
  • Уменьшен окно согласованности действий пользователя
  • Избежание фильтрации общих черновиков, когда они не используются
  • Выбирается только поле, которое мы используем
  • Предварительный расчет последнего прочитанного поста участником группы
  • Ускоренный расчет длины тела редактора
  • Избежание N+1 при просмотре темы
  • Rake posts:rebake_uncooked_posts выполняется встроенно
  • Message_bus будет отложен сервером при переполнении
  • Добавлено больше ограничений на использование хранилища кэша
  • Ускоренный поиск прямых ЛС
  • Использован Oj для сериализации JSON. (#7820)
  • Ограничено время, затрачиваемое на сравнение больших блоков текста
  • Использован Oj для сериализации JSON. (#7780)
11 лайков