# 3.4.3: Исправление ошибок и релиз UX

**URL:** https://meta.discourse.org/t/3-4-3-bug-fix-and-ux-release/362895
**Category:** Announcements
**Tags:** release-notes
**Created:** [29.Апрель.2025 04:43:02 UTC](https://meta.discourse.org/t/3-4-3-bug-fix-and-ux-release/362895 "2025-04-29T04:43:02Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![hugh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hugh/32/336717_2.png) [@hugh](https://meta.discourse.org/u/hugh)
#### Post date: [29.Апрель.2025 04:43:02 UTC](https://meta.discourse.org/t/3-4-3-bug-fix-and-ux-release/362895/1 "2025-04-29T04:43:02Z")

</div>

## Стабильный выпуск Discourse 3.4.3

Discourse настоятельно рекомендует всем сайтам использовать ветку `tests-passed` по умолчанию. Ветка «stable» больше ориентирована на _отсутствие изменений_, а не на _отсутствие ошибок_ — все выпуски, включая те, что находятся в ветках `tests-passed` и `beta`, готовы к использованию в продакшене.

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

Этот выпуск включает исправления следующих проблем безопасности, сообщенных нашим сообществом и [HackerOne](https://hackerone.com/discourse).

- [DM limits aren’t always properly enforced · Advisory · discourse/discourse · GitHub](https://github.com/discourse/discourse/security/advisories/GHSA-mqqq-h2x3-46fr)

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [29.Апрель.2025 04:43:02 UTC](https://meta.discourse.org/t/3-4-3-bug-fix-and-ux-release/362895/3 "2025-04-29T04:43:02Z")

</div>

### Еще больше!

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

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

### discourse-activity-pub

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

- Предотвращение попытки ActorHandler применять обновления к категориям или тегам ([208](https://github.com/discourse/discourse-activity-pub/pull/208))
- Обновление актеров на доступные только если они были недоступны ([204](https://github.com/discourse/discourse-activity-pub/pull/204))
- Блокировка потока трекера доставки ([203](https://github.com/discourse/discourse-activity-pub/pull/203))
- Исправления на странице «О нас» ([201](https://github.com/discourse/discourse-activity-pub/pull/201))

#### Изменения UX

- Улучшение добавления актера в админ-панели ActivityPub ([209](https://github.com/discourse/discourse-activity-pub/pull/209))

### discourse-ai

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

- Возможность выбора персонажа и LLM на странице чата с ботами ([1276](https://github.com/discourse/discourse-ai/pull/1276))
- Отображение большего количества мест, где используется ИИ / Стриминг чата ([1278](https://github.com/discourse/discourse-ai/pull/1278))
- Главная страница чата с ботами ([1273](https://github.com/discourse/discourse-ai/pull/1273))
- Экспериментальная главная страница приватных сообщений бота (#1159) ([1272](https://github.com/discourse/discourse-ai/pull/1272))
- Экспериментальная главная страница приватных сообщений бота ([1159](https://github.com/discourse/discourse-ai/pull/1159))
- Добавление метрик расходов к использованию ИИ ([1268](https://github.com/discourse/discourse-ai/pull/1268))
- Улучшение настроек контекстного окна LLM ([1271](https://github.com/discourse/discourse-ai/pull/1271))
- Обновление имен и спецификаций моделей ([1262](https://github.com/discourse/discourse-ai/pull/1262))
- Добавление стриминга в помощник композитора ([1256](https://github.com/discourse/discourse-ai/pull/1256))
- Улучшение управления контекстом ([1260](https://github.com/discourse/discourse-ai/pull/1260))
- Доступность токенизатора Mixtral для эмбеддингов ([1258](https://github.com/discourse/discourse-ai/pull/1258))
- Настройка функций, поддерживаемых персонажами, в админ-панели ([1245](https://github.com/discourse/discourse-ai/pull/1245))
- Разрешение инструментам изменять персонажей ([1250](https://github.com/discourse/discourse-ai/pull/1250))
- Отправка отчетов LLM группам ([1246](https://github.com/discourse/discourse-ai/pull/1246))
- Резюме, генерируемые персонажами ([1232](https://github.com/discourse/discourse-ai/pull/1232))
- Продолжение разговора из обнаружения Discobot ([1234](https://github.com/discourse/discourse-ai/pull/1234))
- Гибкая обработка изображений внутри сообщений ([1214](https://github.com/discourse/discourse-ai/pull/1214))

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

- Удаление всех ведущих пробелов, предоставляемых LLM при стриминге ([1280](https://github.com/discourse/discourse-ai/pull/1280))
- Защита от ситуаций, когда нет ответа, передача ID потока ([1279](https://github.com/discourse/discourse-ai/pull/1279))
- Таблицы должны группироваться только по своему ключу на странице использования ([1277](https://github.com/discourse/discourse-ai/pull/1277))
- Перерисовка боковой панели чатов при навигации отключена ([1274](https://github.com/discourse/discourse-ai/pull/1274))
- Исключение токенов размышлений из чата ([1264](https://github.com/discourse/discourse-ai/pull/1264))
- Неверное построение контекста для ответчиков ([1257](https://github.com/discourse/discourse-ai/pull/1257))
- Обнаружение не должно повторно запускаться при отсутствии поиска ([1255](https://github.com/discourse/discourse-ai/pull/1255))
- Исправления для предложателя тем ([1253](https://github.com/discourse/discourse-ai/pull/1253))
- Особенности обнаружения поиска ([1249](https://github.com/discourse/discourse-ai/pull/1249))
- Восстановление предыдущего поведения доступа к гистам группой ([1247](https://github.com/discourse/discourse-ai/pull/1247))
- Менее общие имена анимаций ([1243](https://github.com/discourse/discourse-ai/pull/1243))
- Корректное сохранение новых загрузок при построении контекста ([1242](https://github.com/discourse/discourse-ai/pull/1242))
- Возврат false, если у текущего пользователя нет персонажей ([1241](https://github.com/discourse/discourse-ai/pull/1241))
- Настройка персонажа должна сравнивать целочисленное значение ([1239](https://github.com/discourse/discourse-ai/pull/1239))
- Улучшения обнаружения поиска ([1228](https://github.com/discourse/discourse-ai/pull/1228))
- Принудительные инструменты не устанавливались корректно, когда у инструмента нет опций ([1231](https://github.com/discourse/discourse-ai/pull/1231))
- Попытка исправить нестабильность ([1226](https://github.com/discourse/discourse-ai/pull/1226))
- Обеспечение наличия значков категорий в отчетах о настроении ([1222](https://github.com/discourse/discourse-ai/pull/1222))
- Редактор персонажей сохраняет некорректные данные после сохранения одного поля ([1219](https://github.com/discourse/discourse-ai/pull/1219))
- Результаты меню помощника поста должны быть выбираемыми ([1221](https://github.com/discourse/discourse-ai/pull/1221))
- Ошибка не возникает, когда инструменты пусты ([1218](https://github.com/discourse/discourse-ai/pull/1218))

#### Изменения UX

- Сохранение действий композитора над иконками ввода ИИ ([1291](https://github.com/discourse/discourse-ai/pull/1291))
- Прокрутка только при превышении максимальной высоты ввода ([1288](https://github.com/discourse/discourse-ai/pull/1288))
- Небольшие корректировки выравнивания для экспериментального UI бота ([1285](https://github.com/discourse/discourse-ai/pull/1285))
- Возврат кнопки «Новый разговор» в боковую панель на мобильных устройствах ([1283](https://github.com/discourse/discourse-ai/pull/1283))
- Согласование стилей с конвенциями ([1275](https://github.com/discourse/discourse-ai/pull/1275))
- Улучшение списка групп в таблице функций при большом количестве групп ([1254](https://github.com/discourse/discourse-ai/pull/1254))
- Корректировка стилей UI артефактов ([1240](https://github.com/discourse/discourse-ai/pull/1240))
- Более широкая панель поиска, границы, уменьшенный размер шрифта ([1238](https://github.com/discourse/discourse-ai/pull/1238))
- Отображение переключателей ИИ-бота в разделе опций ИИ-бота ([1229](https://github.com/discourse/discourse-ai/pull/1229))

### discourse-akismet

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

- Отправка email пользователю, а не администратору, об удалении ([168](https://github.com/discourse/discourse-akismet/pull/168))

### discourse-calendar

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

- Добавлена поддержка предпросмотра события в богатом редакторе ([708](https://github.com/discourse/discourse-calendar/pull/708))

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

- Удаление символа двойной кавычки `"` при построении события ([716](https://github.com/discourse/discourse-calendar/pull/716))

### discourse-category-experts

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

- Обновление пользовательских полей при изменении владения постом ([197](https://github.com/discourse/discourse-category-experts/pull/197))

### discourse-data-explorer

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

- Добавлена возможность отправки индивидуального отчета PM участникам группы ([369](https://github.com/discourse/discourse-data-explorer/pull/369))

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

- Возможность объяснения запроса ([371](https://github.com/discourse/discourse-data-explorer/pull/371))

### discourse-follow

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

- Добавление ленты подписок в `/filter` ([148](https://github.com/discourse/discourse-follow/pull/148))

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

- Регрессия при сохранении пользовательских настроек ([149](https://github.com/discourse/discourse-follow/pull/149))

### discourse-gamification

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

- Отключение подсчета решений, когда плагин решения отключен ([199](https://github.com/discourse/discourse-gamification/pull/199))
- Обновление подсчета на основе таблицы ([198](https://github.com/discourse/discourse-gamification/pull/198))

### discourse-just-chat

#### Изменения UX

- Скрытие поиска ([2](https://github.com/discourse/discourse-just-chat/pull/2))

### discourse-login-client

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

- Получение аватара пользователя ([6](https://github.com/discourse/discourse-login-client/pull/6))

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

- Использование «nickname» вместо «username» в OAuth-полезной нагрузке ([7](https://github.com/discourse/discourse-login-client/pull/7))

### discourse-open-graph

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

- Добавление переопределения Open Graph в Discourse через плагин ([1](https://github.com/discourse/discourse-open-graph/pull/1))

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

- Обеспечение того, что URL не переопределяется плагином ([2](https://github.com/discourse/discourse-open-graph/pull/2))

### discourse-prometheus

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

- Обновление гистограммных ведер для `http_requests_queue_duration_seconds` ([147](https://github.com/discourse/discourse-prometheus/pull/147))
- Введение метрик `http_requests_<type>_duration_seconds` ([142](https://github.com/discourse/discourse-prometheus/pull/142))
- Добавление метрики `sidekiq_queue_latency_seconds` ([139](https://github.com/discourse/discourse-prometheus/pull/139))
- Добавление метки `success` к `(sidekiq|scheduled)_job_count` ([137](https://github.com/discourse/discourse-prometheus/pull/137))
- Добавление метрики `process_cpu_seconds_total` ([138](https://github.com/discourse/discourse-prometheus/pull/138))

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

- Сломанная метрика `scheduled_job_ran` ([140](https://github.com/discourse/discourse-prometheus/pull/140))

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

- Удаление пользовательских меток из метрик длительности очереди HTTP ([146](https://github.com/discourse/discourse-prometheus/pull/146))

### discourse-ratings

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

- Удаление зависимости от Handlebars ([24](https://github.com/discourse/discourse-ratings/pull/24))

### discourse-reactions

#### Изменения UX

- Расширение реакции Discourse на 100% высоты для правильного выравнивания на действиях поста ([359](https://github.com/discourse/discourse-reactions/pull/359))

### discourse-signatures

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

- Переопределение контроллера настроек после изменения ядра ([85](https://github.com/discourse/discourse-signatures/pull/85))

### discourse-solved

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

- Элемент каталога решений использовал создание поста вместо создания решения ([361](https://github.com/discourse/discourse-solved/pull/361))
- Принятие другого ответа не сохраняется ([360](https://github.com/discourse/discourse-solved/pull/360))
- Ошибка 500 из-за отсутствующего модуля ([359](https://github.com/discourse/discourse-solved/pull/359))
- Исключение удаленных тем и постов как решений в сводке пользователя ([358](https://github.com/discourse/discourse-solved/pull/358))
- Стандартизация определения того, что является решением ([352](https://github.com/discourse/discourse-solved/pull/352))
- Некоторые решенные темы не имеют ответов ([350](https://github.com/discourse/discourse-solved/pull/350))
- Несколько тем могут иметь один и тот же пост как решение ([348](https://github.com/discourse/discourse-solved/pull/348))

#### Изменения UX

- Исправление неверного выравнивания для неадминистраторов и анонимов + переход к использованию переменных ([349](https://github.com/discourse/discourse-solved/pull/349))

### discourse-solved-reminders-plugin

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

- Исправление минимального значения для настройки remind\_mark\_solution\_after\_days ([24](https://github.com/discourse/discourse-solved-reminders-plugin/pull/24))
- Возврат с 1 дня на 14 дней ([23](https://github.com/discourse/discourse-solved-reminders-plugin/pull/23))
- Переопределение контроллера настроек после изменения ядра ([21](https://github.com/discourse/discourse-solved-reminders-plugin/pull/21))
- Оптимизация и обновление запросов, более короткая частота ([20](https://github.com/discourse/discourse-solved-reminders-plugin/pull/20))

### discourse-subscriptions

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

- Размер баннера кампании при активной боковой панели ([274](https://github.com/discourse/discourse-subscriptions/pull/274))

#### Изменения UX

- Улучшения макета баннера кампании ([273](https://github.com/discourse/discourse-subscriptions/pull/273))

### discourse-templates

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

- Ошибка, когда разрешенная группа для частного шаблона — все ([103](https://github.com/discourse/discourse-templates/pull/103))
- Отображение модального окна, если предпросмотр композитора скрыт ([101](https://github.com/discourse/discourse-templates/pull/101))

### discourse-theme-creator

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

- Удаление предварительного добавления переопределения ([109](https://github.com/discourse/discourse-theme-creator/pull/109))
- Удаление сломанного расширения extra-locales-controller ([108](https://github.com/discourse/discourse-theme-creator/pull/108))

### discourse-translator

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

- Перевод категорий с выбранным провайдером ([282](https://github.com/discourse/discourse-translator/pull/282))
- Отображение индикатора для постов, изначально написанных не на языке пользователя ([274](https://github.com/discourse/discourse-translator/pull/274))

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

- Обеспечение исключения ID непереведенных постов, уже переведенных на целевую локаль ([285](https://github.com/discourse/discourse-translator/pull/285))
- Обновление локализации вместо категории ([283](https://github.com/discourse/discourse-translator/pull/283))
- Включение части содержимого поста при определении языка заголовка ([277](https://github.com/discourse/discourse-translator/pull/277))
- Отображение кнопки переключения даже при отображении оригинального содержимого ([275](https://github.com/discourse/discourse-translator/pull/275))
- Не переводить новые посты, если show=original ([271](https://github.com/discourse/discourse-translator/pull/271))
- Пропуск региона локали для API Google Translate ([263](https://github.com/discourse/discourse-translator/pull/263))

#### Изменения UX

- Исправление масштабирования кнопки переводчика в полосе прогресса темы ([270](https://github.com/discourse/discourse-translator/pull/270))
- Отображение дополнительных деталей во всплывающем окне при сбое перевода ([262](https://github.com/discourse/discourse-translator/pull/262))

### discourse-video

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

- Максимальная длительность видео в зависимости от уровня доверия ([80](https://github.com/discourse/discourse-video/pull/80))
- Предпросмотр заполнителя композитора ([79](https://github.com/discourse/discourse-video/pull/79))
- Пост может быть неопределенным ([78](https://github.com/discourse/discourse-video/pull/78))
- Пост может быть неопределенным ([77](https://github.com/discourse/discourse-video/pull/77))

## Все функции и исправления

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

- Правильное принудительное применение лимитов DM
