Отчетный период: 2026-03-08 → 2026-03-15, как отражено в активных темах, таких как обсуждение по наведению порядка в FAQ/Правилах (подробнее) и отчетах о UX/браузерах в конце недели (подробнее).
Всего новых сообщений:426
Всего новых тем:72
Лучшие пользователи (сообщения + лаймы за последние 7 дней)
d>Решение с компонентом темы для вводного текста /groups (подробнее)
Объявление о вебинаре: программы модераторов (подробнее)
Интересные темы
#Announcements
Discourse AI получил выбор «уровня сервиса» OpenAI/Azure, позволяющий администраторам балансировать стоимость, задержку и надежность в настройках провайдера (ai, #Announcements) — подробнее
Был объявлен новый вебинар: «Создание и развитие программы модераторов» (с обещанным повтором для зарегистрированных участников) (webinar, #Announcements) — подробнее
Лимиты мощности хостинга AI были значительно увеличены (плюс улучшения моделей и пропускной способности), с обновленными квотами, отраженными на странице ценообразования (ai, #Announcements) — подробнее
Команда Discourse опубликовала подробный отчет о системе предстоящих изменений и о том, как она поддерживает постепенное внедрение в различных конфигурациях сайтов (blog) — подробнее
#community-building Развитие сообщества
В увлекательной и познавательной теме был задан вопрос: «Сколько лет вашему форуму?» — что побудило пользователей поделиться историями миграции из Yahoo Groups, phpBB, Ning, vBulletin и других (#community-building Развитие сообщества) — подробнее
Операционная деятельность кроссплатформенных сообществ снова поднялась в теме «Проблемы с WhatsApp»: один из практических подходов заключался в записи ключевых выводов из чатов в общую категорию Discourse (#community-building Развитие сообщества) — подробнее
Вечная энергия «Discourse — это здорово» на Meta продолжилась, участники сообщества делились достижениями и поддерживали друг друга (#community-building:praise) — подробнее
Сложный пограничный случай: после объединения тем одно сообщение больше не могло быть отмечено как Решенное ответ — в итоге проблема была отследена до существующей записи о решении в исходной теме и исправлена вручную, планируется фикс (solved, Поддержка) — подробнее
Многоязычные администраторы спросили, как локализовать пользовательские значки и группы; ключевой вывод: встроенные значки уже переведены, но для пользовательских значков нужны переопределения перевода (пока зависят от консоли) (translation, badges, Поддержка) — подробнее
Вопрос о «покупке форума» исследовал, как перенести темы из одного Discourse в другой без полного восстановления, указывая на устоявшиеся рабочие процессы миграции (Поддержка) — подробнее
Чистый запрос на кастомизацию с минимальным кодом: добавление пояснительного текста над /g (индекс групп) было решено с помощью крошечного компонента темы, используя After Header + CSS-ограничение (groups, Поддержка) — подробнее
Возникли вопросы о границах возможностей модераторов: модераторы могут удалять пользователей, поэтому рекомендуемый подход для более строгого контроля — Модераторы категорий + группы модераторов для каждой категории (Поддержка) — подробнее
Пост с тревогой о самостоятельном хостинге («установить на мой VPS») превратился в практическое мини-руководство: установщик одной строкой, мышление в духе резервного копирования и компромиссы между хостингом и самостоятельной установкой (#Self-hosting, Поддержка) — подробнее
Сбой Onebox/OpenGraph, который работал на Meta, но не на сайте пользователя, оказался проблемой цепочки сертификатов / доверия к серверному запросу, что подтверждает, что генерация Onebox происходит на стороне сервера и чувствительна к настройке TLS (onebox, Поддержка) — подробнее
Администраторы, пытающиеся «требовать принятия условий использования», использовали хитрый обходной путь: обязательный пользовательский флажок для блокировки сохранения профиля/настроек (Поддержка) — подробнее
Проблема UX/данных на панели управления: график трафика сайта становится бесполезным, когда доминируют сканеры, что побудило запрос на более умное масштабирование или элемент управления «перемасштабировать» (dashboard-reports, bug) — подробнее
Баг локализации контента: локализованные имена тегов не очищались/не преобразовывались в slug, что ломало классы тела и отображение тегов; выпущен фикс и миграция (content-localization, bug) — подробнее
Шаблоны форм: выбор нескольких шаблонов для каждой категории не сохранялся после обновления из-за отсутствия поведения сохранения в упрощенном потоке создания категории; предоставлен обходной путь и слитый фикс (form-templates, bug) — подробнее
Сложности с обновлением Discourse v2026.3.0: discourse-subscriptions не запускался из-за пограничного случая порядка загрузки/устаревания константы маршрута; PR ядра удалил точку устаревания (subscriptions, bug) — подробнее
Пугающий отчет: использование таймеров тем + планирование публикации в черновике с отсутствующей целевой категорией могло привести к тяжелому «катастрофическому» состоянию UI (topic-timers, bug) — подробнее
Панель инструментов мобильного редактора: когда кнопок слишком много (часто из-за компонентов темы), последние кнопки могут выглядеть «отсутствующими»; обсуждение перешло к тому, должны ли появляться элементы прокрутки (например, стрелки) на сенсорных устройствах (composer, ux) — подробнее
На некоторых планшетах/браузерах плавающий виджет поиска вызывал странное поведение ввода (обратный порядок символов), что в итоге было связано с функцией плавающей клавиатуры (search, Поддержка) — подробнее
Проблема полировки страницы входа: смещение выравнивания верхнего логотипа, когда присутствует переключатель языка или темы (login, ux) — подробнее
Заметный новый плагин: diskuz Call добавляет в Discourse P2P-голосовые/видеозвонки с использованием WebRTC (сигнализация на сервере, медиа P2P/TURN) (#customization:plugin) — подробнее
Еще один плагин: прототип Магазина очков Discourse (чеки-ин, магазин, заказы, журнал) с откровенными заметками о текущих багах и готовности (#customization:plugin) — подробнее
Тема по инструментам компонентов тем: Tag Style Tool быстро выпустил обновления после сообщений об исчезновении UI и странностях с подмножеством SVG Font Awesome (tags, #customization:theme компонент) — подробнее
Альтернатива плагинам сервера без пересборки: Встроенный плеер Bilibili как компонент темы, сравнение с существующим подходом плагина, требующим пересборки (onebox, #customization:theme компонент) — подробнее
«Banner Featured Links» получил обновление для устранения устаревания htmlSafe и другой очистки, закреплено на 2026.3.0-latest (#customization:theme компонент) — подробнее
Терминальный клиент Discourse «termcourse» добавил уведомления в реальном времени на базе MessageBus и начал согласование соглашений по сочетаниям клавиш (experimental, #customization:extras) — подробнее
Falco сосредоточился на практических исправлениях для администраторов и заметках по дорожной карте: объяснил поведение IP-адресов в Cloudflare, когда «всех забанили», и необходимость использования шаблона Cloudflare (читать далее), подтвердил работу над новым интерфейсом для отображения полного списка реакций «и еще N...» (читать далее), прояснил изменения в поведении API Data Explorer и рекомендации по лимитам/пагинации (читать далее), расширил лимиты мощности и возможности моделей для хостинга LLM (читать далее), а также описал замену отмененной интеграции Google Custom Search и будущую поддержку «нативных инструментов веб-поиска» (читать далее).
nat предоставил несколько уточнений и исправлений по «глубоким внутренним» вопросам: исправил реальное положение дел с i18n для пользовательских значков и предложил подход с использованием TranslationOverride через консоль (читать далее), исследовал вывод локализованных тегов и выпустил исправление очистки + миграцию (читать далее), отреагировал на отзывы о масштабировании графика трафика на панели управления, сообщив о «предстоящих изменениях» (читать далее), и направил пользователей на экспериментальную страницу настроек тегов для управления переведенными тегами после AI-перевода (читать далее).
sam выпустил и обсудил несколько улучшений для разработчиков в области AI/автоматизации: объявил о уровнях сервиса для провайдеров OpenAI/Azure и о том, как их настроить в параметрах LLM (читать далее), продвинул идею «конвейеров автоматизации» (триггер → фильтры → действия, наблюдаемость, расширяемость) (читать далее), отреагировал на проблемы обновления, связанные с USERNAME_ROUTE_FORMAT, предоставив PR в ядро для устранения точки устаревания (читать далее), и продолжил сортировку проблем с использованием ресурсов AI Search, ожидая непредвиденной нагрузки на ЦП (читать далее).
awesomerobot занимался широким спектром задач по UX администратора и сортировке багов: воспроизвел и подтвердил баг с сохранением нескольких шаблонов форм, предложил обходной путь и затем выпустил слитое исправление (читать далее); исследовал поведение переполнения панели инструментов и компромисс с «скрытой стрелкой на сенсорных устройствах» (читать далее); выявил сторонний плагин, вызывающий сбои «официальных» компонентов после обновления, и предложил шаги для изоляции в безопасном режиме (читать далее); а также предложил структурированные подходы для ограничения доступа через принятие правил с использованием паттернов Policy + Automation (читать далее).
Danielle координировала обновления для сообщества: объявила о вебинаре программы модераторов и подтвердила, что записи будут опубликованы после сессии (читать далее), и помогла направить процесс проверки/обновления ссылок на старую документацию FAQ/Правил (читать далее).
supermathie предоставил четкую диагностику и улучшения, соответствующие ожиданиям пользователей: тестировал проблемные мобильные браузеры на наличие проблем с UI выделения текста и пришел к выводу, что наиболее жизнеспособный путь — рекомендовать поддерживаемые браузеры (читать далее), задокументировал временный регресс электронной почты, вызванный обновлением гема (с коммитами поломки/исправления), для всех, кого это затронуло в тот день (читать далее), и предложил UX-подсказку для «гостевых» администраторов многосайтовых установок, которые не могут получить доступ к /sidekiq, чтобы уменьшить путаницу (читать далее).
chapoi занимался полировкой UX и поведением панели управления/отчетов: прояснил намерения за поведением оси Y трафика сайта и согласился, что оно должно быть умнее в сценариях с большим количеством краулеров (читать далее), направил разработчиков к документации Discourse, которая теперь включена непосредственно в репозиторий ядра (читать далее), и подтвердил, что баг наложения оглавления на планшетах должен быть исправлен PR в DiscoTOC upstream (читать далее).
martin работал как над устранением неполадок в production, так и над коммуникацией по продукту: диагностировал, почему «отметить как решение» может не сработать после слияния (предыдущая запись с решением в старой теме) и применил исправление, одновременно исследуя превентивное изменение (читать далее), и опубликовал сопутствующую тему обсуждения для блога «Система предстоящих изменений» (читать далее).
HAWK начал тему очистки по поводу путаницы со ссылками в FAQ/Правилах, которая быстро переросла в effort по пересмотру документации и процессов (читать далее).
pmusaraj поддерживал устранение неполадок Discourse ID: запросил трассировки стека для ошибок регистрации «can’t alloc thread» и помог сузить подозрения до ограничений памяти / воспроизводимости через чистые установки (читать далее), и предложил прямую очистку дублирующих URI перенаправления учетных данных как временное исправление, пока внедряются улучшения рабочих процессов (читать далее).
Спасибо, что читаете, и увидимся на следующей неделе!
Насыщенная неделя на Meta (15.03.2026 → 22.03.2026), с большим количеством активности вокруг экспериментального UX (вложенные ответы), изменений для разработчиков (инструменты сборки плагинов + устаревшие функции) и постоянным потоком решений проблем администраторов и поддержки в области хостинга, аутентификации и календарей (см. мега-тестовую тему: подробнее).
Ключевая статистика
Новые сообщения:644
Новые темы:82
Самые активные / самые благодаримые пользователи (сообщения + полученные лайки на этой неделе):
Новый тип категории «Поддержка» теперь значительно упрощает настройку потоков вопросов и ответов с использованием настроек по умолчанию для «Решено» (включая отметку решения) в теме Легкое создание категорий поддержки с помощью плагина discourse-solved — с последующими настройками значений по умолчанию и текста, обсуждаемыми в теме (подробнее).
Discourse добавил URL-адреса подписки на календарь (ICS-фиды) непосредственно в настройки пользователя, включая закладки с напоминаниями и опциональные фиды событий при включенном плагине календаря: URL-адреса подписки на календарь для внешних приложений.
Вышел мартский обзор «что мы строим», включающий увеличение лимитов ИИ и дайджест в стиле дорожной карты в теме Текущие проекты - Март 2026.
Новый экспериментальный плагин предлагает рабочий процесс в «стиле Википедии» для улучшения сообщений без предоставления широких прав редактирования: Предлагаемые правки в Discourse.
Разработчики плагинов получили крупное обновление с кэшированием, ES-модулями и возможностями препроцессинга в теме Представляем новую систему сборки для плагинов, и компилятор был вскоре включен по умолчанию в последней версии (подробнее).
Шаблоны Handlebars также постепенно выводятся из употребления в пользу современных .gjs (и существуют инструменты для автоматизации перехода): Устаревание расширения файлов .hbs в темах и плагинах (руководство по автоматизации приведено здесь: подробнее).
Подсказка очереди проверки «Это сообщение что-то другое или спам?» вызвала нюансированное обсуждение UX/формулировок о бинарных подсказках, семантике выпадающих списков и грамматической неоднозначности в теме «Это сообщение что-то другое или спам?».
Кнопка «отклонить», которая не отклоняет по-настоящему (поскольку базовое условие сохраняется), подняла более широкий вопрос о откладывании против очистки уведомлений администратора в теме Очистка совета не очищает его на самом деле.
Проблема онбординга Discourse ID: идентичность реферального сайта может выглядеть визуально «вторичной» по сравнению с самим Discourse ID, особенно когда локальные входы отключены — с предложениями по более сильному со-брендингу в теме Более заметное отображение логотипа и имени реферального сайта в Discourse ID.
Обнаруживаемость собственных «Руководств / FAQ» Meta вызвала обсуждение статических страниц против тем, ограниченных категорий и ожиданий поиска в теме Руководства/FAQ не появляются в результатах поиска?.
Люди не могли найти сайт релизов, и сообщество требовало лучшей информационной архитектуры/размещения ссылок — что привело к быстрым исправлениям, обсуждаемым в теме Где ссылка на релизы? (с изменениями, реализованными вскоре после: подробнее).
Текущая реорганизация категорий Meta продолжала выявлять крайние случаи вокруг индексных тем, кликабельных областей и поведения закрепления/открепления в теме Обновление организации категорий на Meta.
Администраторы обсуждали реагирование на инциденты с скомпрометированными учетными записями, включая управление электронной почтой/паролями/сессиями и то, что должно (или не должно) требовать доступа к консоли в теме Работа со взломанной учетной записью пользователя не должна требовать консоли (с связанными потребностями в контроле электронной почты администратора, приведенными здесь: подробнее).
Специалисты по Cloudflare поделились обновленными практическими рекомендациями по WAF/правилам и ограничениями планов (например, доступностью оператора regex) в вечной теме-руководстве Использование Discourse с Cloudflare: Лучшие практики.
Развертывание бесплатного плана застряло для нескольких пользователей («Почти готово…») в теме Застрял при создании сайта.
Discourse выпустил очень экспериментальный плагин для вложенного/ветвящегося вида темы для тестирования, явно представленный как обратная связь по ощущениям, а не отчет об ошибках: Тестирование вложенных ответов на Meta.
Чтобы уменьшить путаницу «куда делись другие сообщения?», когда глубокое вложение вызывает отсоединенный «контекстный вид», было предложено и продемонстрировано улучшение ясности UI в теме Улучшения UX для глубоко вложенного вида ветки.
Люди хотят UX перевода на пост, который менее хлопотен, чем выделение→Спросить ИИ→Перевести, плюс способ кэшировать/сохранять переводы, чтобы избежать повторных затрат на API: Перевести пост с помощью ИИ и сохранить перевод (развивая ранние идеи локализации: подробнее).
lindsey опубликовала ежемесячное обновление команды в стиле дорожной карты в теме Текущие проекты - Март 2026 и последовала за вопросами по рабочему процессу перевода, поднятыми в теме (подробнее).
Спасибо за чтение, и увидимся на следующей неделе!
Лучшие пользователи (сообщений / полученных лайков на этой неделе)
Moin — 34 сообщения / 75 лайков — помог в сортировке проблем, таких как пунктуация тега голосования за темы (читать далее) и прояснил поведение очистки загрузки после удаления (читать далее).
david — 20 сообщений / 70 лайков — отреагировал на вопросы о видимости релизов и анонсах на Meta (читать далее), выпустил исправление для зависших «письм о новой версии» (читать далее) и доработал сайт релизов (обратная связь по RSS и стилям) (читать далее).
Falco — 12 сообщений / 55 лайков — объяснил контекст волны исправлений безопасности (читать далее), продвинул обновление API Patreon v2 (читать далее) и обсудил цели перевода личных сообщений для Discourse AI (читать далее).
zogstrip — 12 сообщений / 29 лайков — подготовил ряд исправлений, включая валидацию алиасов эмодзи (читать далее) и улучшения UX модерации/очередей (читать далее).
merefield — 12 сообщений / 28 лайков — провел тщательный анализ рисков для плагинов «очистки остатков базы данных» (читать далее) и предложил поддерживаемые решения для конфиденциальности/получения ссылок (читать далее).
R23D_Printing — 21 сообщение / 28 лайков — быстро дорабатывал Discourse Challenges, добавив еженедельные интервалы + доступ модераторов, а затем ChallengeBot, управляемый через ЛС (читать далее).
awesomerobot — 9 сообщений / 27 лайков — исправил регрессии в интерфейсе, такие как пунктуация голосования за темы (читать далее) и предложил улучшения разрешений API для about.json (читать далее).
darkpixlz — 19 сообщений / 25 лайков — помог отладить проблему с плагинами CDN/CORS (читать далее) и правильно отреагировал на предложение скрыть «красные баннеры» сломанной темы (читать далее).
RGJ — 8 сообщений / 20 лайков — дал четкое объяснение того, когда загрузки удаляются после постоянного удаления (читать далее) и предложил более безопасные подходы к проксированию для получения ссылок/конфиденциальности (читать далее).
nathank — 16 сообщений / 20 лайков — предложил практические рекомендации для администраторов (например, видимость групп на странице «О нас») (читать далее) и исследовал функциональные/рабочие подходы вокруг событий и звонков (читать далее).
Ed_S выразил обеспокоенность по поводу «тихих» релизов и попросил вернуть посты о релизах в раздел Announcements; david признал проблему и сообщил, что команда обсуждает лучшие указатели обратно на Meta (читать далее).
Неясность в потреблении релизов продолжилась в сфокусированной теме об usability releases.discourse.org, с запросами на RSS и лучшую читаемость — в результате RSS-канал был запущен в кратчайшие сроки (читать далее).
Процесс регистрации на хостинге бесплатного плана столкнулся с ошибкой «слишком много сайтов предоставлено»; HAWK и pedro включились в расследование и подтвердили входные данные (читать далее).
Самостоятельные хостеры, отлаживающие Discourse ID, на собственном опыте узнали о жестком требовании: если ваш сайт сообщает Discourse ID, что URI перенаправления не является HTTPS, вам нужно исправить force_https / заголовки прокси — обсуждение включало распространенные заблуждения о обратных прокси (читать далее).
Практичная тема поддержки спрашивала, как удалить модераторов со страницы /about, не удаляя группу; простое решение «скрытых групп» (и опционально динамические группы) решило проблему (читать далее).
Вопрос о «большом красном баннере» превратился в напоминание: предупреждения о сломанной теме намеренно громкие, и правильное решение — устранить компонент, а не скрывать предупреждение (читать далее).
Администратор спросил, как переместить баннер/изображение в самый верх — ответы подчеркивали, что это лучше всего делать с помощью небольшого компонента темы/настройки CSS, а не взлома разметки (читать далее).
Долгоиграющая досадная проблема — отсутствие писем «доступна новая версия» — была связана с изменением в gem redis и получила основной PR для исправления сломанного задания (читать далее).
Острая проблема «выглядит как обычный HTML» в встроенном браузере Facebook на iPhone была связана с неверной классификацией MetaIAB при обнаружении краулера, и был открыт основной PR для настройки значений по умолчанию (читать далее).
Несколько администраторов сообщали о молчаливых сбоях плагинов после обновления из-за поведения CORS на стороне CDN; ранняя отладка указала на заголовки BunnyCDN и время регрессии (читать далее).
Небольшая, но реальная проблема интерфейса: при включенном голосовании за темы и скрытых «0 голосах» после последнего тега появляется запятая; была задействована кастомизация темы на Meta, и она была быстро исправлена (читать далее).
Болезненный инцидент с редактором: загрузка изображений HEIC вызывала ошибку и перезагрузку, теряя длинный черновик; расследование сосредоточилось на шагах воспроизведения и деталях ошибки (читать далее).
Отчет UX на Meta отметил выравнивание по левому краю полей ввода 2FA при входе через поток «вход по электронной почте»; был открыт PR с исправлением, и макет входа на Meta получил новое пристальное внимание (читать далее).
Корректность эмодзи получила внимание: :champagne: не существует, но алиас заставил его выглядеть так, будто он должен быть; в ответ добавлена валидация для предотвращения алиасов на несуществующие эмодзи (читать далее).
Запрос на мобильную подсказку: добавить ручку перетаскивания в нижнюю панель действий администратора поста (соответствующую UI действий администратора темы) для улучшения обнаружения и обработки (читать далее).
Запрос на UX функции предложил широкоэкранный просмотрщик «расширить таблицу» (только для чтения), чтобы большие таблицы markdown были читаемы без входа в режим редактирования (читать далее).
Продолжение экспериментов на Meta с вложенными ответами выявило как восторг, так и путаницу в навигации, особенно при переходе из уведомлений или плоского вида (читать далее).
Авторам тем/плагинов снова дали толчок: .hbs файлы устаревают (перейдите на .gjs), и тема также подчеркнула Ask Discourse как быстрого помощника для небольших конвертаций (читать далее).
Поддержка встроенных <script type="text/discourse-plugin"> теперь удалена; каноническая тема модернизации была обновлена с мартовским сроком удаления 2026 года (читать далее).
Обновление команды: доклад о новой системе сборки плагинов был опубликован за пределами сообщества (встреча Ember Europe), давая разработчикам путь к изучению нового рабочего процесса (читать далее).
#customization:plugin
Discourse Challenges быстро развивались: еженедельные интервалы, доступ модераторов, а затем ChallengeBot (подтверждения через ЛС, напоминания, команды вроде status/leaderboard/streak) выходили один за другим (читать далее).
Новая идея плагина, Plugin Cleaner, направлена на сканирование и удаление «остатков» от удаленных плагинов; обратная связь выделила присущий риск удаления неизвестных/теперь не мигрированных структур плагинов (читать далее).
Discourse Member Application представил структурированный поток приема /apply для сообществ по приглашениям/частных, заменив внешние формы/таблицы на процесс обзора + приглашения внутри Discourse (читать далее).
#customization:extras
Dexo, нативный клиент Discourse для iOS, построенный с использованием UIKit/Swift, продемонстрировал поддержку нескольких форумов, рендеринг HTML, потоки аутентификации и чистый подход к UI (читать далее).
#community-building Building
Новый владелец сообщества попросил обратную связь по свежему форуму Discourse для игрового сообщества; ответы охватили тему, полировку UX и то, как сделать Discourse менее «общим» из коробки (читать далее).
Менеджер португалоязычного сообщества спросил, хорошо ли организован их игровой форум; предложения включали переосмысление компромиссов между тегами/подкатегориями и улучшение маршрутов онбординга (например, прямая ссылка на предзаполненный редактор) (читать далее).
Запрос крупного масштаба искал эксперта по миграции phpBB → Discourse для ~870k сообщений с ивритом RTL и строгими требованиями SEO/перенаправлений, подчеркивая минимальное время простоя и отображение URL (читать далее).
david сосредоточился на опыте релизов и сигналах обновления: он ответил на опасения по поводу отсутствующих анонсов на Meta и путаницы на панели инструментов в теме исправлений безопасности (читать далее), переместил и организовал обратную связь по сайту релизов, быстро выпустив улучшения, такие как RSS (читать далее), и ответил на вопросы о фиксации версии для самостоятельного хостинга (и исправил, где устанавливать version:) (читать далее). Он также внедрил основные исправления/обновления, охватывающие доставку писем «новая версия» (читать далее) и определение UA для встроенного браузере Facebook на iPhone (читать далее), а также задокументировал удаление устаревших встроенных тегов скриптов (читать далее).
Falco смешал продуктовую обратную связь, интеграции и ИИ: он предоставил контекст о том, почему вместе было выпущено много исправлений безопасности (читать далее), обновил опыт встроенных комментариев в блоге Discourse и отметил проблемы тем/отступов для доработки (читать далее), и продвинул миграцию API v2 плагина Patreon — добавив пользовательский пользовательский агент по запросу (читать далее). Он также прояснил ожидания по поведению Чата/GIF (функция vs ошибка) (читать далее), указал запросы на функции календаря на новую работу с URL подписки (читать далее) и предложил улучшить управление переводом ИИ, чтобы администраторы могли явно выбирать, включать ли ЛС (читать далее).
zogstrip был в режиме исправления багов, последовательно связывая исправления с PR: активно обсуждались исправления очереди модерации/потока редактора (читать далее), поведение подбрасывания шепота получило план реализации (читать далее), проблемы onebox (включая сломанное поведение x.com) были поставлены в очередь для исправления (читать далее), и крайние случаи постоянного удаления были признаны с входящим исправлением (читать далее). Он также улучшил конвейер алиасов эмодзи, предотвратив алиасы на несуществующие эмодзи (читать далее) и продолжал полировать ожидания UX администратора/отчетности по переключателям «Предстоящие изменения» (читать далее).
awesomerobot сосредоточился на проблемах интерфейса/UX и прагматичных улучшениях: регрессия пунктуации голосования за темы/тегов была быстро исправлена на Meta (читать далее), проблема выравнивания 2FA при входе по электронной почте была отслежена до конкретного потока и поставлена в очередь для исправления (читать далее), и была добавлена ясность вокруг результатов семантического/ИИ-поиска против точных совпадений (читать далее). Со стороны API он открыл PR, позволяющий гранулярным пользователям API читать about.json (читать далее) и попросил лучшее воспроизведение ошибок в отчете о потере HEIC/черновика (читать далее).
supermathie помог разблокировать проблемы самохостинга идентичности/аутентификации: он объяснил, почему Discourse ID настаивает на HTTPS URI перенаправления (и что на самом деле делает force_https) (читать далее), и последовал за обсуждениями областей API/сообщений об ошибках вокруг доступа about.json с гранулярными ключами (читать далее).
sam высказался по поводу «трудновоспроизводимых» проблем хостинга и более широкого UX: он участвовал в сложной теме сбоя клонирования темы git (указав на сбои GitHub / ограничение частоты запросов как на вероятные причины) (читать далее), настаивал на целостном переосмыслении того, как «одобрение поста» ощущается конечными пользователями (прозрачность очереди, уведомления, поведение редактора) (читать далее) и обновил основную документацию, очистив устаревший материал (например, руководство «Эффективный поиск») (читать далее). Он также обновил документацию всплывающего окна редактора для администраторов (читать далее) и привлек внимание инженерии к ссылке интеграции Extras, которая возвращает 404 (читать далее).
pmusaraj расследовал проблемы интероперабельности ActivityPub: изменение параметра Mastodon (scope → scopes) было выявлено, и исправление предложено во внешнем репозитории/в плагине (читать далее), а последующие проблемы проверки Discourse↔Discourse AP были сужены до поведения актора Meta против других акторов (читать далее). Он также подтвердил улучшения Discourse ID для конфликтов URI перенаправления в будущем (читать далее) и последовал за поведением альтернативного электронной почты на сайтах Free tier (читать далее).
manuel дал прямое руководство конечным пользователям по настройкам уведомлений (наблюдение/отслеживание), когда кто-то сообщил, что «Meta больше не уведомляет меня» (читать далее).
HAWK признал и эскалировал ошибку предоставления хостинга бесплатного плана команде, поддерживая цикл поддержки в быстром движении (читать далее).
pedro включился в ту же проблему предоставления хостинга, чтобы собрать диагностические детали (точное введенное значение домена) и помочь подтвердить обходной путь (читать далее).
Спасибо за чтение, и я увижу вас снова на следующей неделе!
Значительная часть активности недели была сосредоточена вокруг новых возможностей взаимодействия (эксперимент с новыми Boosts: читать далее), встраивания Discourse в качестве полноценной системы комментариев (читать далее) и дальнейшей доработки рабочих процессов ИИ и локализации (например, обратная связь по качеству перевода тегов: читать далее, а также последующие исправления, такие как поддержка переведенных иконок тегов: читать далее).
Интересные темы
#announcements
Discourse экспериментирует с Boosts (реакция с коротким сообщением), и сообщество обсуждает пересечение функциональности с реакциями/лайками, последствия для модерации и названия (даже тема «названия вещей» получила упоминание). читать далее
Встраивание получило крупное обновление: «полноценный режим приложения» теперь загружает полное приложение Discourse внутри iframe, позволяя посетителям отвечать, ставить лайки и цитировать, не покидая сайт-хост. Обсуждались вопросы обнаружения полосы прокрутки и размещения кнопки «ответить на тему». читать далее
Агенты Discourse AI теперь могут подключаться к любому MCP-серверу («Принесите свой собственный MCP»), расширяя возможности автоматизации для ИИ-агентов через внешние инструменты. читать далее
Небольшое, но значимое улучшение поддержки: пользователи, отслеживающие/наблюдающие за темами в категориях решено, теперь получают уведомления, когда тема помечается как решенная, а также раннюю обратную связь по пограничным случаям настроек уведомлений. читать далее
Пост о ежемесячном релизе за март 2026 года появился со ссылками на списки изменений и патч-релизы, вызвав как минимум один плавный отчет о «переключении на ветку релизов». читать далее
Команда прояснила, как Meta будет организовывать вебинары и часы работы с сообществом, включая то, где будут размещаться записи и предстоящие сессии в будущем. читать далее
#site-feedback
ask.discourse.com временно перестал работать, что было подтверждено несколькими пользователями, и проблема была быстро устранена. читать далее
Переводы тегов, сгенерированные ИИ, вызвали подробную проверку качества (переводы без контекста, такие как composer → «Композитор»), а также обсуждение стратегий контекстуализации (описания тегов, контекст кода/глоссария). читать далее
Запрос на добавление украинского и русского языков в переключатель языков Meta получил позитивный сигнал от команды о скорых действиях. читать далее
Регрессия на мобильных устройствах привела к тому, что некоторые страницы Meta отображали только заголовок/название в браузерах iOS; расследование показало, что проблема вызвана недавним изменением в компоненте темы, после чего было выполнено откатывание. читать далее
Баннеры тегов временно потеряли отображение тегов (выглядели пустыми); проблема быстро была диагностирована как изменение доступности данных, а затем исправлена в компоненте темы. читать далее
Пограничный случай с числовыми тегами: старый шаблон URL /tag/#### вызывал ошибку 500 (плохо для поисковых роботов); команда подтвердила, что работает над исправлением, сохраняя при этом совместимость с /tag/name. читать далее
Плагин экспертов категорий вызывал сбой при слиянии пользователей из-за ограничений валидации; исправление было добавлено в очередь через PR плагина. читать далее
Регрессия в переводах привела к тому, что «мысли/комментарии» ИИ просачивались в немецкий вывод; агент был обновлен, а затронутые заголовки и сообщения очищены. читать далее
Резервное копирование в Cloudflare R2 перестало работать при multipart-загрузках с новой версией aws-sdk-s3; фиксация версий восстановила функциональность для затронутых установок. читать далее
Логика для архивированных тем и реакций была неверной: некоторые сообщения все еще можно было отмечать реакциями при определенных условиях; было подготовлено основное исправление. читать далее
#feature
Компонент иконки тега получил поддержку переведенных тегов (с упоминанием PR и скриншотами, демонстрирующими переведенные метки тегов и правильные иконки). читать далее
Интеграция с эмбеддингами Mistral столкнулась с несовпадением, совместимым с OpenAI (dimensions против output_dimension), что побудило к запросу о поддержке именования параметров Mistral. читать далее
Практический запрос по медиа: обнаружение или отклонение загрузок VP9 в MP4, которые тихо не работают в iOS Safari, с обсуждением безопасных и опциональных подходов к транскодированию. читать далее
Администраторы попросили разрешить входящую электронную почту для автоматических групп (чтобы избежать обходных путей «дублирование группы + синхронизация участников»), с замечаниями о существующих обходных путях только через консоль. читать далее
Кнопка «Отменить» в процессе редактирования в редакторе сообщений остается запутывающей: предложения включали изменение текста интерфейса на «Отменить редактирование» и отображение запроса только при наличии фактических изменений. читать далее
Принудительная MFA может «запереть пользователей» на экране безопасности с ограниченным руководством; в теме обсуждались лучшие шаблоны настройки (текст сайта против вставки компонента темы над выходным узлом обертки). читать далее
Отчет о регрессии показал, что права безопасности категорий сбрасываются при изменении отношений родитель/подкатегория в рамках «упрощенного создания категорий», при этом сотрудники подтвердили начало расследования. читать далее
Давно существующая проблема в рабочем процессе: пользователи не могут отписаться от приостановленных/заблокированных аккаунтов без временной отмены приостановки; был предоставлен ссылочный PR с исправлением. читать далее
Честная дискуссия о развитии сообщества без «притяжения» продукта/услуги вернулась к обсуждению маховиков активности, паттерна 99–9–1 и устойчивого участия, не зависящего от основателя. читать далее
Вопрос «Насколько минималистичен ваш форум?» побудил к конкретным инвентаризациям того, что администраторы выбирают не включать (категории, плагины, чат, реакции, LLM), и естественным образом перешел к обсуждению компромиссов вокруг тегов и уровней доверия. читать далее
lindsey выпустила два объявления для пользователей: новый эксперимент с Boosts (читать далее) и улучшенные уведомления о решении для наблюдающих/отслеживающих в категориях поддержки (читать далее). Она также проверила статус текущего проекта, связанного со стилями компонентов Crowdin (читать далее).
Falco вел несколько тем по продукту и платформе: он анонсировал новый полноценный режим приложения для встраивания и продолжил обсуждение упрощения интерфейса и деталей поведения (читать далее); подтвердил поведение push-уведомлений на домашнем экране iOS (и указал на корневую причину нестабильности) в теме о push-уведомлениях (читать далее); подтвердил, что Meta скоро сможет добавить украинский/русский в переключатель языков (читать далее); и обсудил стратегии смягчения загрузки VP9 со ссылкой на Video Stream как вариант (читать далее). Он также продолжил работу над рабочими процессами MCP и ИИ (например, оценивая подходы «триггер рабочего процесса» для ботов только с упоминаниями в читать далее, и выделяя поддержку редактирования постов в MCP в читать далее).
nat сосредоточилась на локализации и качестве перевода ИИ: она опубликовала длинную историю многоязычия «Создание для каждого языка» (читать далее, оперативно ответила на обратную связь «Переведенные ИИ теги лишены контекста» и обсудила улучшения промптов/инструментов (читать далее), а также подтвердила, что исправление для пограничного случая с URL числовых тегов и ошибкой 500 скоро будет выпущено (читать далее). Она также внедрила/добавила в очередь улучшения в области локализации, включая поддержку переведенных иконок тегов через PR (читать далее) и целевое исправление утечки «комментариев/мыслей ИИ» в немецкие переводы (читать далее). В части конфигурации она описала более детализированное будущее для области действия перевода ИИ (включая контроль переводов личных сообщений) с планом миграции и ссылкой на PR в теме (читать далее).
awesomerobot активно работал над UX продукта и обслуживанием: он прояснил, как Boosts вписываются в иерархию взаимодействия, и подтвердил, что функция будет опциональной, а также обсудил функции безопасности, такие как отслеживаемые слова и будущие возможности сканирования ИИ (читать далее); диагностировал и исправил регрессию в баннерах тегов с быстрой реакцией через PR (читать далее); и предложил конкретный подход с использованием компонента темы для добавления пользовательских руководств по принудительному MFA через вставку выходного узла (читать далее). Он также открыл/объединил улучшения рабочих процессов, такие как создание черновика для редактирования после отклонения в очереди модерации при отклонении (читать далее), скорректировал запутывающий системный текст о «ответить на это сообщение», когда пользователь или группа для контакта не настроены (читать далее), и признал странности интерфейса Ask Discourse, такие как избыточная ссылка «Вернуться на форум» на главной странице (читать далее).
zogstrip внедрил широкий набор исправлений и PR в ядро и официальные плагины/компоненты: он ответил на вопросы о Boosts и прояснил, что бусты не будут менять порядок постов (читать далее); исправил логику «лайков/реакций в архивированных темах» (читать далее); предоставил ссылку на PR с исправлением для отписки от приостановленных/заблокированных пользователей в плагине follow (читать далее); и решил несколько операционных проблем, таких как поведение «уведомить пользователей» при массовой отправке приглашений в группы (читать далее) и проблема RTL в поведении иконок внешних ссылок (читать далее). Он также прояснил неправильно понятую настройку, связанную с регистрацией, и обновил её описание, чтобы снизить путаницу у администраторов (читать далее), а также добавил в очередь исправление проблем со схемой acceptedAnswer, обнаруженных через Google Search Console (читать далее).
david предоставил глубокую техническую поддержку и коммуникацию по релизам: он объяснил, почему проблемы CORS возникли после недавних обновлений (модульные скрипты + заголовки) и направил администраторов на необходимость перестройки NGINX/CDN, включая указание точного пути исправления и поведения перестройки (читать далее); опубликовал объявление о релизе за март 2026 года со ссылками на списки изменений (читать далее); и отладил сценарий коллизии миграции с помощью ИИ в discourse-ai, включая детали порядка миграции и варианты смягчения (читать далее). Он также быстро объединил и выпустил PR зависимостей (поддержка Sidekiq 8 для mini_scheduler) сразу после подачи (читать далее).
sam продолжил продвижение Discourse AI + MCP: он анонсировал «Принесите свой собственный MCP» для агентов Discourse AI (читать далее) и опубликовал руководство администратора по подключению MCP-серверов к агентам (читать далее). Он также взвесил компромиссы вокруг логики ответов ботов только с упоминаниями (склоняясь к настройкам по умолчанию для уменьшения разрастания опций) (читать далее) и участвовал в теме о коллизиях миграции с идеями, такими как линтинг/навыки для обеспечения правильных миграций с временными метками при использовании инструментов ИИ (читать далее).
mcwumbly участвовал в нескольких точках касания «как мы управляем Meta» и «как мы выпускаем изменения»: он похвалил и добавил контекст к посту о многоязычной истории (читать далее), обсудил прототипный подход «рабочих пространств», который сопоставляет категории с командными пространствами (похожими на Slack) (читать далее), и поделился тем, как Meta настраивала лимиты TL3 с помощью Data Explorer, включая указание на точный пост с эталонным запросом (читать далее). Он также признал и добавил в очередь расследование регрессии сброса прав категорий при упрощенном создании категорий (читать далее), и продолжал следить за механикой и поведением боковой панели/тегов в экспериментальной теме «хаба по уходу за контентом» (читать далее).
Bas быстро обработал инцидент с эксплуатацией: он подтвердил и затем решил сбой ask.discourse.com, опубликовав обновление «исправлено», когда сервис вернулся (читать далее).
davidb определил вероятную корневую причину проблемы «испорченной страницы темы» на мобильных устройствах как конкретный коммит в компоненте discourse-tag-icons и инициировал временный откат во время расследования (читать далее).
Спасибо за прочтение, и увидимся снова на следующей неделе!
Заметные релизы и исправления, вызвавшие обсуждения
Значительно улучшена заметность закладок благодаря функции «перейти к сообщениям с закладками» в меню действий в нижней части темы: подробнее
Вышел переработанный брендированный стиль Meta (новая реализация + предварительный взгляд на API блоков), что вызвало множество отзывов по поводу интерфейса и иконок: подробнее
Принята серия быстрых PR по UX и исправлению ошибок (исключение тегов в RSS, форматирование календаря/iCal, строки редактора, крайние случаи локализации), часто с ответами «исправлено PR» прямо в теме, например, исключение тега в RSS: подробнее
Интересные темы
#Announcements
Boosts на Meta (#Announcements) — Текущий эксперимент с «Boosts» вызвал глубокое обсуждение соотношения сигнал/шум, последствий для модерации и плотности интерфейса (особенно на мобильных устройствах), с предложениями по сворачиванию/разворачиванию boosts и опасениями по поводу «негативных boosts»: подробнее
Более легкий доступ к закладкам (bookmarks, #Announcements) — В Discourse добавлен быстрый доступ ко всем сообщениям с закладками в теме через элемент управления закладками в нижней части темы, что значительно упростило поиск «где же я поставил закладку?»: подробнее
Мобильный редактор в 2026 году (composer, mobile, ux) — Canapin инициировал «проверку мобильной реальности» растущей сложности редактора; ответы сосредоточились на том, что нужно убрать, что должно остаться, и специфических проблемах надежности на iOS: подробнее
Как закрыть выборчик тегов на мобильных устройствах (composer, mobile, tags, ux) — Небольшая, но ежедневная раздражитель: у выбора тегов нет очевидного элемента «закрыть» на мобильных устройствах, заставляя пользователей запоминать неинтуитивную область нажатия: подробнее
Крайние случаи UI закладок на мобильных устройствах (bookmarks, #contribute:feature) — Нюансированная тема по UI/ментальной модели: как иконка закладки в футере должна сообщать о «закладке на тему» против «закладок на сообщения», и как сохранить согласованность действий, не скрывая возможность «перейти к закладкам»? подробнее
Обсуждения по развитию сообщества на Meta (#Site feedback) — mcwumbly спросил, как Meta лучше поощрять обсуждения по развитию/управлению сообществом после перестановок категорий (и какие изменения в поведении/структуре помогут): подробнее
Темы объявлений о функциях/исправлениях и ясность версий (#Site feedback) — Практический запрос по мета-процессам: указывать версии в темах объявлений, чтобы администраторы, которые не могут реалистично запускать тесты ежедневно, все равно могли планировать обновления: подробнее
#Site feedback
Перестройка брендированного стиля Meta + API блоков (meta-theme-feedback, meta-redesign-2026, #Site feedback) — Новая перестройка стиля Meta продемонстрировала иконки Lucide, более строгий контроль над стилем/палитрой, пользовательское направление главной страницы и объяснение того, чем блоки отличаются от PluginOutlets для более стабильных макетов: подробнее
Неточные заметки о доступности плагинов (#Site feedback) — В нескольких официальных темах о плагинах все еще утверждается «доступно на всех уровнях хостинга», несмотря на новые уровни тарифных планов; в теме обсуждалось прямое связывание с таблицами цен и уменьшение расхождения «двух источников истины»: подробнее
#customization:theme component
Иконки Discourse Lucide (#customization:theme component) — Появилась отдельная тема о компоненте стиля для Lucide, которая быстро собрала отзывы по маппингу иконок (например, путаница между reply/share, поведение заполненного сердца, отсутствие иконок вроде calendar-heart): подробнее
Карточки при наведении на тему (#customization:theme component) — Новый компонент предлагает предварительный просмотр в стиле всплывающей подсказки при наведении/нажатии на внутренние ссылки на темы; ранние отзывы просили более четкие скриншоты/превью перед внедрением: подробнее
Выделение для поиска (search, #customization:theme component) — Небольшой прирост производительности: выделите любой текст и сразу выполните по нему поиск, упакованный как новый компонент стиля с живым превью: подробнее
Настраиваемая кнопка «Печать в PDF» (#customization:theme component) — Новый компонент кнопки «чистой печати» в теме, направленный на улучшение экспорта/печати темы по сравнению со стандартным потоком печати: подробнее
Восстановить переключатель полноэкранного режима редактора для планшетов (composer, tablet, #customization:theme component) — Узкоспециализированный компонент для восстановления переключателя полноэкранного режима редактора на сенсорных устройствах с большими экранами, где он скрыт по умолчанию: подробнее
Ошибка входа OIDC на хостинг-форуме OpenAI (openid-connect, hosted-support, Support) — Пользователи сообщали об ошибках авторизации OIDC; эскалация и подтверждение решения последовали вскоре после этого: подробнее
Пугалка с разрешениями для частных тем / системы тикетов (решено) (Support) — Момент «это может быть инцидент безопасности» оказался недопониманием конфигурации плагина частных тем; исправление заключалось в удалении группы из «всегда показывать темы, созданные…», чтобы пользователи TL0 не видели все подряд: подробнее
Ожидания поддержки Windows (Support) — Появилось четкое заявление: Discourse не поддерживает версии Windows, которые не поддерживает Microsoft, хотя форки браузеров могут работать на практике для устаревших систем: подробнее
Регистрация нового сайта застряла на «Почти готово…» (решено) (free-plan, Support) — Онбординг новых клиентов временно не сработал; сотрудники подтвердили инцидент, а затем исправление: подробнее
Проблема со структурированными данными: пропущенные поля в mainEntity.suggestedAnswer (bug) — Регрессия схемы/микроданных была исследована и частично исправлена; последующие сообщения указывали на оставшиеся жалобы валидатора относительно отсутствующих полей text/datePublished: подробнее
Data Explorer не сохраняет запросы, содержащие точки с запятой в экранированных HTML-сущностях (data-explorer, bug) — Правило валидации блокировало безобидные точки с запятой внутри строковых литералов; запрос заключался в том, чтобы отклонять только реальные разделители запросов вне кавычек: подробнее
Вывод Data Explorer двойным образом экранирует HTML (data-explorer, bug) — Запутывающая ошибка отображения: Fish & Chips отображается как Fish & Chips в результатах запросов, что затрудняет работу с текстовыми выводами: подробнее
Exclude_tag не работает в RSS-лентах категорий (rss-polling, bug) — Исключение тегов из RSS категории не работало, но обходной путь /latest.rss?category=...&exclude_tag=... сработал; в теме было предложено исправление в ядре: подробнее
Сборки Highlight.js + проблемы с CORS S3/CDN после обновления (исправлено) (cdn, #Self-hosting) — Тонкая ошибка «активы загружены с неправильного CDN» вызвала сбои highlight-js в блоках кода; PR исправил поведение URL-адресов сборки highlightjs для этой конфигурации только для S3: подробнее
mcwumbly направлял разговоры «Meta о Meta»: спрашивал, как поощрять обсуждения по развитию сообщества после изменений категорий (обсуждение структуры развития сообщества), вдумчиво отвечал на опасения по поводу времени разработчиков и автономии в дебатах о эксперименте Boosts (ответ по философии Boosts) и сотрудничал в уменьшении путаницы вокруг заметок о доступности плагинов (заметки о доступности плагинов).
david прояснил логику Discourse относительно устаревания и согласованности платформы (особенно путаницу с расширением .js.es6 и влияние на инструменты) (обоснование устаревания) и диагностировал проблему CDN/CORS для самостийного хостинга, затрагивающую сборки highlightjs, с конкретным предложением по исправлению (исправление URL сборки highlightjs).
davidb исследовал и слил исправления структурированных данных для отсутствующих полей микроданных, одновременно выявляя крайние случаи, такие как посты только с эмодзи или только с изображениями, запутывающие валидаторы (обновление схемы/микроданных).
supermathie помог распутать пугалку с конфигурацией «частных тем» для тикетов, настаивая на более четких формулировках проблем и полезности для будущих читателей (запрос объяснения для истории), и внес практическое подтверждение относительно полей имени календаря в различных клиентах (ожидания Outlook) (подтверждение X-WR-CALNAME).
Спасибо за чтение, и увидимся на следующей неделе!
Discourse подтвердил свою позицию в пользу открытого исходного кода (и почему «безопасность через неясность» не работает) в статье «Discourse не станет проприетарным ПО» — своевременном ответе на тревогу в индустрии, связанную с обнаружением уязвимостей с помощью ИИ. читать далее
#Announcements
Создание категорий получило значительное улучшение пользовательского интерфейса: категории «Идеи» теперь можно создавать проще с помощью плагина Discourse Topic Voting, включая более понятный процесс настройки и значения по умолчанию. читать далее
Интеграция Discourse в качестве полной системы комментариев продолжает развиваться; в теме анонса появилось больше отзывов из реальной практики и дополнительных обсуждений, включая улучшения, такие как плавающая кнопка ответа и отображение хронологии. читать далее
Внедрение функции «Автоматически применять сетки к загруженным изображениям» получило уточнения: статус «Стабильный» в разделе «Предстоящие изменения» не всегда означает, что настройка будет удалена; иногда это просто изменение значения по умолчанию. читать далее
#contribute:feature
Долгожданная дискуссия о пользовательском опыте возобновилась: предупреждение о «ответе на старую тему» удалено, и администраторы хотят настраиваемую информационную замену вместо сдерживающего барьера. читать далее
Эргономика очереди модерации: модераторы попросили группировать элементы проверки по пользователям (или по более широкому контексту), чтобы избежать случайных действий «удалить пользователя», когда флаги и сообщения разделены в очереди. читать далее
Запросы на новые функции чата появились в двух тесно связанных темах: опросы внутри каналов чата и настройки каналов по умолчанию (например, предварительно настроенные потоки, разрешения и т.д.). читать далее и читать далее
Сложный случай при обновлении: плагины не могли сохранять настройки категорий, когда был включен параметр enable_simplified_category_creation; разработчикам были показаны паттерны миграции FormKit и рекомендовано временно отключить эту функцию через раздел «Предстоящие изменения». читать далее
Проблема масштабирования ИИ-перевода: язык португальский (pt) пропускался при переводе сразу на многие языки, что привело к расследованию сбоев на бэкенде, подробному логированию и поведению при повторных попытках. читать далее
В меню гаечного ключа административных сообщений сломались или отсутствовали всплывающие подсказки; был открыт основной PR для исправления ошибок копирования/вставки и добавления заголовков там, где это полезно. читать далее
Непоследовательность в работе с тегами: редактор иногда утверждал, что тег разрешён, а иногда нет, в зависимости от ввода автозаполнения; исправление потребовало более «умной» логики контроля ограничений. читать далее
Регрессия в календаре/событиях и сводке: отсутствующая ссылка на чат в виджете событий поста была найдена в изменениях системы сборки и быстро исправлена через PR. читать далее
Пользователи не могли видеть вкладки с деталями приглашения из-за ошибки маршрутизации (controllerFor вместо modelFor); исправление было выпущено через основной PR. читать далее
Автозаполнение хэштегов вызывало ошибки в консоли в безопасном режиме, одна из которых была связана с отсутствием вспомогательных функций для генерации иконок; исправления были применены, в то время как глубокое воспроизведение продолжалось для второго режима ошибки. читать далее
Улучшение редактора для RTL: поле «заголовок новой темы» оставалось с направлением слева направо (LTR), когда оно было пустым; было предложено и объединено исправление на основе разметки, которое меняет поведение направления в зависимости от наличия содержимого в поле. читать далее
Улучшение модального окна «Поделиться» на мобильных устройствах: расположение кнопки Копировать было неудачным на маленьких экранах; PR реорганизовал содержимое, сохранив видимость даты поста. читать далее
Прозрачность очереди модерации изменилась: детали оценки флагов были намеренно удалены из-за путаницы, что вызвало обсуждение того, что должно оставаться видимым и почему. читать далее
Продолжались крупные дискуссии об ограничениях написания сообщений на мобильных устройствах (доступность панели инструментов, тесная высота редактора и напряжение между ожиданиями веб-версии и приложения). читать далее
Путаница в сообщениях о бесплатном плане: пользователи сообщали о вводящих в заблуждение уведомлениях о времени отключения / перехода в режим только для чтения, что спровоцировало расследование со стороны сотрудников по поводу ясности временных рамок и поведения автоматизации. читать далее
Урок предостережения с Redis: очистка Redis «исправила» зависший интерфейс «Обновление…», но отвечающие подчеркнули роль Redis в сессиях и заданиях Sidekiq и посоветовали более целенаправленную диагностику. читать далее
Удалённые изображения: размещённый сайт начал неожиданно скачивать и заменять URL удалённых изображений; отладка указала на уже загруженные файлы (совпадающие по хешу) и время очистки. читать далее
Настройка текста администратором: изменение текста «С возвращением» на /login было решено путём поиска js.login.header_title (и напоминания нажать Enter в интерфейсе поиска). читать далее
#customization:theme component
Лёгкое улучшение интерфейса: Discourse Dynamic Sidebar Icon переключает иконку боковой панели в зависимости от её состояния (открыто/закрыто), с опциональным поведением для мобильных устройств. читать далее
Wikipedia Lookup выпущен как компонент темы, добавляющий всплывающие подсказки и настраиваемый базовый URL (поддержка языковых версий Википедии и других вики-доменов). читать далее
#customization:plugin
Новый экспериментальный плагин: Buffer — упрощение публикации тем в социальных сетях, добавляющий «Поделиться в Buffer» из модального окна «Поделиться» / меню администратора темы для рабочих процессов сотрудников. читать далее
Edge case при встраивании WP Discourse: посты WordPress «Только галерея» ломали извлечение превью из-за Readability (алгоритм Mozilla Reader View); тема описала практические способы обхода и соответствующие настройки селекторов встраивания. читать далее
sam задал тон самой большой мета-дискуссии недели четким заявлением о том, почему Discourse не станет проприетарным ПО, и почему открытость по-прежнему соответствует ценностям Discourse. читать далее Он также помог отладить проблему «реальные обновления не отображаются», проверив, не находятся ли экземпляры за прокси-сервером. читать далее
Falco провёл высокоинформативную дискуссию о производительности встраивания в реальных условиях с Tecnoblog, охватив заголовки кэширования, поведение аналитики встраивания и несколько итеративных исправлений (динамическая высота, ленивая загрузка и специфическая для встраивания обрезка запросов). читать далее Он также подтвердил поведение настройки языка для смешанных языковых сообщений в ИИ-переводе. читать далее И он продолжил работу над улучшениями встроенных комментариев (плавающие элементы ответа и хронологии). читать далее
awesomerobot реализовал (или запустил) несколько исправлений качества пользовательского интерфейса: исправил всплывающие подсказки в меню административных сообщений через PR. читать далее Он также объяснил корневую причину проблемы «плагины не могут сохранять настройки категорий» при использовании упрощённого создания категорий/пути FormKit, включая ссылку на миграцию и временное решение через «Предстоящие изменения». читать далее Кроме того, он исправил ошибку, из-за которой пользователи не видели детали приглашения. читать далее
pmusaraj предоставил глубокую диагностику по нескольким проблемам: помог отладить «ИИ-перевод пропускает португальский язык», перейдя от вопросов конфигурации к гипотезам о скорости/тайм-ауте, подробному логированию и ошибкам бэкенда. читать далее Он также запустил экспериментальный плагин Buffer для социальных рабочих процессов сотрудников. читать далее И он выявил сложную ошибку «тема не существует» при смене локали, вызванную устаревшим параметром URL ?preview_theme_id=. читать далее
chapoi внес вклад как в направление продукта, так и в сортировку обращений в поддержку: публично отреагировал на дискуссию о позиции открытого исходного кода и поддержал внутреннюю гордость этим решением. читать далее Он также направил дискуссии об UX очереди модерации в сторону конкретных действий (расширение области аналитики). читать далее И он привлек сотрудников для расследования сообщения о том, что в бесплатном плане «нельзя отключить режим только для чтения». читать далее
nat оставался активным в поддержке ИИ и плагинов: консультировал по отладке сбоев ИИ-перевода (подробные логи, ограничения размера сообщений, контекстные окна LLM и заметки о качестве моделей). читать далее Он также отследил и исправил проблему восстановления/индексации категорий Документации, вероятно, вызванную побочными эффектами Календаря. читать далее И он исправил edge case в плагине Livestream, где группа «все» не работала как настоящая группа при проверке разрешений. читать далее
manuel выделил улучшения экосистемного инструментария (в частности, улучшенный интерфейс релизов) в теме об открытом исходном коде. читать далее Он также возродил практический проект генератора статических архивов для Discourse, поделившись репозиторием и демо-архивом для оценки. читать далее
jomaxro прояснил архитектуру аутентификации и ограничения, связанные с 2FA при внешних входах (включая Discourse ID), исправив начальную деталь протокола и подтвердив, что принуждение осуществляется внешним провайдером. читать далее Он также прояснил текущую позицию по бесплатным пробным периодам и требованиям к кредитным картам, и помог разрешить путаницу вокруг очень старых рекомендаций. читать далее
zogstrip выпустил исправления и объяснения по основному поведению: признал и исправил проблему с подсказкой ограничения тегов в редакторе. читать далее Он также указал на исправление отсутствующего помощника иконок для автозаполнения хэштегов. читать далее И он объяснил внутренний механизм «бюджета diff» за сообщением «Diff слишком сложен для отображения», напрямую связавшись с реализацией. читать далее
martin прояснил, как работает сообщение о статусе «Предстоящие изменения» (и что на самом деле означает «Стабильный»), включая рекомендации для будущих типов воздействия «установка значения по умолчанию». читать далее Он также помог закрыть вопрос по теме «плагины не могут сохранять настройки категорий», указав, где были сообщены предупреждения, и подтвердив, что официальные исправления плагины были объединены. читать далее
Спасибо за чтение, и до встречи на следующей неделе!
Несколько тем, вызвавших активное обсуждение на этой неделе (выборка)
Домашняя страница темы Meta получила обновление с использованием блоков (Blocks), а также последующее устранение неполадок по вопросу «почему я не вижу её при входе в систему?» (читать далее)
Продолжалось развитие изменений в UX реакций/лайков, включая исправления и доработки поведения на мобильных устройствах и сенсорных экранах (читать далее)
Тестирование вложенных ответов продолжало выявлять реальные проблемы с навигацией и уведомлениями (а также дебаты по функционалу) (читать далее)
Ряд улучшений для администраторов был внедрен в быстрой последовательности: диаграммы в Data Explorer (читать далее), гибкость одобрения категорий (читать далее), улучшения UX голосования за темы (читать далее) и массовые действия по закреплению/откреплению (читать далее)
Локализация и SEO получили ощутимые улучшения: локализированный поиск эмодзи (читать далее) и исправление canonical/hreflang для страниц с ?tl= (читать далее)
Интересные темы
#announcements
Текущие проекты (апрель 2026): опубликован свежий обзор «что мы сейчас строим», описывающий недавние релизы, такие как улучшения встраивания, и текущие приоритеты платформы (читать далее)
Data Explorer получил больше вариантов диаграмм: nat рассказал, как плагин теперь автоматически выбирает более подходящие типы диаграмм на основе «формы» результатов, что упрощает интерпретацию запросов без необходимости экспорта данных в другие места (data-explorer) (читать далее)
Одобрение категорий стало более гибким: новые средства модерации категорий позволяют требовать одобрения «от всех, кроме определенных групп» или «только от определенных групп», что снижает нагрузку на модераторов, сохраняя при этом контроль (#announcements) (читать далее)
Внедрены улучшения UX голосования за темы: возможность голосовать при прокрутке, подсказки подписаться после голосования и улучшенная сортировка «Популярное» сделали категории идей более отзывчивыми и продуманными (topic-voting) (читать далее)
Массовое закрепление/открепление доступно: администраторы теперь могут закреплять или откреплять несколько тем одновременно через массовые действия в списке тем — небольшое изменение, которое значительно экономит время при текущей модерации (#announcements) (читать далее)
Упрощенные темы электронных писем: lindsey описала изменения, убирающие избыточное/техническое форматирование из тем писем, чтобы сообщества выглядели в почтовых ящиках менее «разработчески» (email) (читать далее)
Поиск эмодзи теперь работает на вашем языке: поиск по ключевым словам эмодзи расширен за пределы английского языка на 48 локалей — давняя потребность многоязычных сообществ (localization) (читать далее)
#contribute:site-feedback
Домашняя страница Meta получила обновление в стиле панели управления: derek внедрил макет домашней страницы на основе блоков (события, популярные темы, участники), с обсуждением того, почему показывается образовательное видеоконтент и как личные настройки домашней страницы взаимодействуют с новой ссылкой «Домой» (meta-redesign-2026) (читать далее)
Куда следует размещать посты «покажи и расскажи»?mcwumbly предложил легковесное соглашение: публиковать в General и добавлять тег show-and-tell — а затем позволить паттернам сформироваться самостоятельно, прежде чем добавлять структуру (и сама тема стала мини-примером «покажи и расскажи») (читать далее)
Продолжались отзывы по организации категорий: пользователи указали на неудобства при длинных встроенных ссылках на категории (например, пути родитель/подкатегория), эргономике автодополнения тегов и компромиссах в обнаружимости после обновления категорий Meta (meta-redesign-2026) (читать далее)
Ограниченные/частные теги просачиваются в UX: тема «очистки тегов» вновь подняла вопрос о том, должны ли ограниченные теги быть видимы для несанкционированных пользователей вообще — что привело к расследованию и исправлению в ядре (tags) (читать далее)
Возможное замедление рендеринга с disco-toc и множеством заголовков: Moin сообщил о заметных задержках, которые исчезали в безопасном режиме, что вызвало подозрение, что определенные компоненты (или генерация оглавления) могут быть слишком тяжелыми для длинных/структурированных постов (disco-toc) (читать далее)
Модальное окно удаления пользователя имело абсурдно длинную метку кнопки на мобильных: Canapin сообщил об обрезке текста, а awesomerobot предложил переработанный поток (сначала выбрать тип удаления, затем подтвердить) с уже подготовленным PR (mobile) (читать далее)
Стилизация даты события рядом с заголовком темы была запутанной на мобильных: мобильный рендеринг lacked визуального разделения, видимого на десктопе, что побудило к быстрому предложению исправления «сделать единообразным (и проще)» (calendar-and-event) (читать далее)
UI очереди рецензий на мобильных прошел очистку: были отмечены несовпадающие элементы заголовка, проблемы с отступами и слишком высокие заголовки — затем awesomerobot представил пакет улучшений в ядре (review-queue) (читать далее)
Баг SEO + локализации: страницы ?tl= неправильно канонизировались: администраторы многоязычных форумов отметили, что переведенные страницы для краулеров не могли ранжироваться, так как каноническая ссылка указывала на базовый язык; nat согласился и выпустил исправление через PR в ядро (seo, content-localization) (читать далее)
Производительность чата: таймауты Pitchfork и «тихие темы»: глубокое исследование предположило, что отслеживание ответов в чате может разрастаться со временем и вызывать медленную/ненадежную загрузку; sam протестировал и сообщил о значительном улучшении производительности благодаря изменениям в индексации/запросах (chat) (читать далее)
Проверка доступности упоминаний сломалась с именами пользователей в верхнем регистре: thoka нашел пробелы в чувствительности к регистру, которые предотвращают предупреждения «не будет уведомления» в ограниченных категориях; последующее обсуждение привело к более мелким и безопасным исправлениям на уровне endpoint (mentions) (читать далее)
Плагин Communiteq Power Tools: RGJ объединил множество «мелких, но практичных» улучшений для администраторов в один поддерживаемый плагин — уменьшая необходимость доступа к консоли и собирая улучшения качества жизни в одном месте (#customization:plugin) (читать далее)
Предоставление контента Discourse в формате Markdown: benword выпустил плагин, который выводит «cooked → markdown» через Accept: text/markdown или URL-адреса .md, ориентированный на более дешевое потребление LLM и более простую последующую обработку (markdown, ai) (читать далее)
Компонент объединенной кнопки входа/регистрации: Lilly выпустила компонент темы, экономящий место в шапке, который объединяет кнопки аутентификации в один выпадающий список/модальное окно — особенно полезно на мобильных, где регистрация может быть трудно заметна (login, signup) (читать далее)
Компонент показа скрытых категорий: pfaffman поделился подходом компонента темы для «предпросмотра» скрытых категорий (через «фейковую категорию», связывающуюся с присоединением/запросом в группу), и сравнил его с существующими вариантами (#customization:theme-component) (читать далее)
General / #customization:extras (энергия «покажи и расскажи»)
Domniq: превью нативного Android+iOS приложения для Discourse: nicolsdennis представил сборку приложения с push-уведомлениями, действиями модерации и отполированным UI — а также обсуждение вдохновения для тем и стилей чата (show-and-tell) (читать далее)
«Я заполнил свой форум ботами» вызвало философскую дискуссию: эксперимент переосмыслил ботов как личный инструмент брифинга, а не как симуляцию сообщества, и в теме обсуждались аутентичность, ценность и эстетика дизайна (show-and-tell) (читать далее)
Маршрутизатор коротких ссылок Discourse предложил новый способ чисто делиться «URL поддержки»: замените свой домен на домен маршрутизатора для генерации кликабельных ссылок на админку/настройки, наряду с обсуждением доверия и конфиденциальности (#customization:extras) (читать далее)
lindsey на этой неделе реализовала несколько улучшений и обновлений для администраторов: апрельский информационный бюллетень с дорожной картой (Текущие проекты), более гибкое одобрение на уровне категорий (подробнее), массовые действия закрепления/открепления (подробнее) и улучшения голосования за темы (подробнее). Она также продолжила работу по упрощению восприятия Discourse в почтовых ящиках, упростив темы электронных писем (подробнее) и задокументировала новые меры защиты, благодаря которым настройки постоянного удаления стали видны администраторам (подробнее).
Falco продвинул вперед многоязычный пользовательский интерфейс с помощью локализованного поиска эмодзи (подробнее) и направил переводчиков к изменениям, когда старые темы поддержки снова всплывали (подробнее). Он также продолжал улучшать встраивание комментариев и устранять неполадки в теме встраивания Tecnoblog (подробнее), помогал изолировать проблемы отслеживания/аналитики через ссылки на PR (подробнее) и консультировал по поведению и ожиданиям интеграции с Ghost (подробнее). В вопросах операций ИИ-перевода он разъяснил, как переключение LLM влияет на прогресс перевода (подробнее) и давал советы по улучшению примеров сортировки ИИ и использования вызовов инструментов (подробнее).
nat сосредоточилась на корректности локализации и SEO: она подтвердила, что переведенные страницы ?tl= должны иметь каноническую ссылку на себя, и быстро выпустила исправление (подробнее), а также руководила вопросами последующего развертывания (подробнее). Она также прояснила поведение повторных попыток и дозаполнения в дискуссии о надежности ИИ-перевода (подробнее) и закрыла цикл по нескольким ошибкам локализации контента, выпустив исправления (подробнее; подробнее; подробнее). Отдельно она объявила о более богатых возможностях построения графиков в Data Explorer, чтобы сделать аналитику сообщества более доступной (подробнее).
awesomerobot провел неделю, насыщенную работой над пользовательским интерфейсом: он предложил более чистый процесс удаления, чтобы избежать огромных меток кнопок на мобильных устройствах (подробнее), устранил несоответствие стилей дат событий на мобильных устройствах (подробнее) и выкатил исправления для проблем с выравниванием/отступами в очереди проверки на мобильных устройствах (подробнее). Он также взялся за сложные проблемы с модальными окнами/viewport на мобильных устройствах, попытавшись исправить модальное окно «добавить пользователя в список» (подробнее), и объяснил, почему часть «пустого пространства» в списках тем зарезервирована для UI отображения присутствия пользователей (подробнее). В теме о целях редизайна Meta он добавил важный контекст о расширении аудитории Meta за пределы разработчиков в рамках обновления главной страницы (подробнее).
chapoi продолжал дорабатывать опыт реакций/лайков: он поделился прогрессом по улучшению функции «показать все реакции» по сравнению с первоначальным исправлением (подробнее) и прояснил ожидаемое «новое нормальное» поведение (реакции слева) (подробнее). Когда пользователи сайтов только с лайками выразили протест против нового UI с двумя сердечками, он подтвердил, что команда работает над восстановлением макета с одной кнопкой лайка для сайтов, где реакции отключены (подробнее). Он также высказался по поводу ожиданий UX тегов Meta в отношении ограниченных тегов (подробнее) и отреагировал на эксперимент с форумом «покажи и расскажи» для ИИ-ботов с продуманной формулировкой (подробнее).
derek развернул и поддержал новую главную страницу Meta на основе блоков, объяснив замысел дизайна и компромиссы (включая показ образовательного контента) (подробнее), а затем быстро устранил сбой, вызванный взаимодействием изменения ядра с пользовательской моделью главной страницы темы (подробнее).
zogstrip был активен в множестве «небольших, но точных» исправлений ошибок: он исследовал утечку ограниченных тегов в автодополнение тегов и внедрил исправление в ядро (подробнее), проверил регрессию «двойного экранирования подчеркиваний в альтернативном тексте изображений» и открыл PR, несмотря на сложность задачи (подробнее; подробнее), и обработал несоответствия в API удаления черновиков, предложив исправление (подробнее). Он также отреагировал на проблемы с чувствительностью к регистру в упоминаниях, выбрав более безопасные инкрементальные исправления конечных точек (подробнее) и исследовал состояние гонки в хлебных крошках страницы резервных копий (подробнее).
mcwumbly помог сформировать культуру/структуру Meta вокруг «поделиться сборками», предложив соглашение show-and-tell (подробнее) и затем поощрял создание ответвлений тем для более глубоких циклов обратной связи (подробнее). Он также исследовал пространство дизайна продукта в деликатном запросе функции «одобрение поста будущим собой / доверенными друзьями», включая идею опциональной ИИ-обратной связи в реальном времени (подробнее), и извинился/прояснил ситуацию на Meta, когда тема стала недоступна из-за изменений конфиденциальности категории (подробнее). Наконец, он подтвердил, что изменение имен пользователей Discourse ID теперь доступно напрямую в настройках пользователя после недавней работы (подробнее).
supermathie разобрался с несколькими техническими/поддерживающими нюансами: он подсветил, как режим «приватной почты» делает исходящие письма запутанными, когда ссылка на тему удаляется (подробнее), участвовал в старой, но активной дискуссии об автоматизации доступа к Discourse через внешние инструменты и прояснил границы между намерением и автоматизацией (подробнее), и копался в ограничениях сигнализации федеративного 2FA/MFA для Discourse ID (потребности OAuth2 против OIDC) (подробнее). Он также подтвердил, что исправление прав доступа MCP для доступа к about.json было слито (подробнее) и ответил на вопрос о файловой системе самохостинга прагматичным предложением использовать symlink для GeoIP (подробнее).
pmusaraj глубоко погрузился в Discourse AI и поддержку в формате «диагностика + установка ожиданий»: он объяснил последствия стоимости токенов и поведение повторных попыток при сбоях перевода, когда upstream LLM возвращают ошибки (подробнее), и последовал за этим конкретными улучшениями поведения нацеливания на категории и переопределения локали в инструментах ИИ-перевода (подробнее). Он также поощрял вклад в поведение Onebox для альбомов Google Photos, пометив его тегом pr-welcome (подробнее), и похвалил подход «cooked-to-markdown» в теме нового плагина экспорта в Markdown (подробнее).
Спасибо за прочтение, и увидимся на следующей неделе!
General «Бесконечная прокрутка» в Discourse вызвала нюансированную дискуссию о механиках интерфейса против алгоритмических лент, включая вопросы доступности/юридические аспекты и является ли «бесконечность» по своей природе вызывающей привыкание в контексте форума. читать далее
Generalshow-and-tellkirupa поделился обновлением о возрождении неактивного сообщества с помощью ботов — теперь с опубликованным исходным кодом для изучения другими. читать далее
#Announcements
#Announcementstopic-votingbadges Появились новые бейджи за голосование в темах (Мечтатель → Визионер), а также продуманные правила обратной заправки/уведомлений, чтобы не спамить пользователей по поводу древних голосов. читать далее
#Announcementstrust-levels Настройки по умолчанию для требований TL3 будут скорректированы в рамках предстоящего изменения, направленного на то, чтобы сделать TL3 достижимым на очень активных сайтах без необходимости ручной настройки ограничений администраторами. читать далее
#Announcementsrelease-notes Вышел ежемесячный релиз за апрель 2026 года, с канонической ссылкой на changelog для полного списка улучшений и исправлений. читать далее
#Announcementscalendar-and-event UX подписки на календарь получил реальный толчок: администраторы сообщали, что пользователи сначала берут «неправильный» URL подписки, что вызвало обсуждение переупорядочивания вариантов для уменьшения путаницы. читать далее
bugdata-explorer Регрессия UI Data Explorer ограничивала результаты отчетов тесным видом с прокруткой — быстро подтверждено и исправлено для затронутых сайтов. читать далее
bugfixed Логи компиляции плагинов/тем стали шумными и запутанными из-за отсутствия модулей-хелперов ember-this-fallback; была выявлена и исправлена базовая поломка (планируется backport). читать далее
bugchat Проблема «фантомного спам-пинга» вызывала дублирование уведомлений об упоминании от одного сообщения; исправление было объединено вскоре после отчетов. читать далее
bugcomposeraiНовый док-режим AI-компоновщика получил ранние отзывы тестирования: были сообщены проблемы редактирования, цитирования, взаимодействия с боковой панелью и прокрутки на мобильных устройствах, которые были классифицированы и доработаны через последующие исправления. читать далее
bugfixed После обновления до 2026.4 на некоторых сайтах появлялась ошибка «Превышен лимит глубины дерева документа» из middleware-путей, связанных с краулерами; расследование привело к точечным исправлениям. читать далее
uxinvites Странности UI приглашений: пользователи могли создавать приглашения из чужих профилей, что казалось вводящим в заблуждение, так как приглашение все равно исходит от кликнувшего, а не от просматриваемого профиля. читать далее
ux В связи с этим, вкладка «Приглашения», появляющаяся на скрытых профилях, была отмечена как утечка UI (даже если она не раскрывала данные скрытого пользователя). читать далее
uxcategory-badge-styles Цвета текста бейджей категорий стали нечитаемыми для некоторых тем из-за взаимодействия с CSS модернизации Foundation; было предложено и создано PR с исправлением на уровне компонента. читать далее
ux Некоторые пользователи сообщали о меньшем размере шрифта на мобильных устройствах в определенных размещенных сообществах, при этом расследование указывало на включенную на этих инстансах модернизированную тему Foundation. читать далее
uxtagsmobile Длинные теги (или множество тегов) могут обрезаться у края экрана без явных средств усечения, что вызывает вопросы о читаемости на мобильных устройствах и правилах макета. читать далее
Support Вопрос о возрастном ограничении (13+) превратился в практическое руководство по различиям между self-hosting и хостингом CDCK, а также о том, как режимы соответствия (COPPA / UK OSA / EU DSA) формируют обязательства. читать далее
Supportemail Быстрое разъяснение по настройке тем писем дайджеста/сводки: администраторы часто могут делать это через тексты сайта, такие как user_notifications.digest.subject_template. читать далее
Support Включение Ruby YJIT через шаблон привело к отличной теме по отладке — в итоге все свелось к тому, как проверялись переменные окружения (и как sudo может очищать env). читать далее
Supportcomposer Администраторы спрашивали, как скрыть описания категорий в выборщике категорий; небольшой CSS-сниппет решил это чисто. читать далее
Supportuser-directory Снова поднялись «каталоги» партнерской программы, со ссылками на встроенный каталог пользователей и способы его представления в виде карточек через компоненты тем. читать далее
#customization:theme компонент Быстро появился обходной путь «в стиле пагинации»: компонент темы Кнопка «Загрузить еще» перехватывает автозагрузку и требует ручного ввода — полезно для администраторов, обеспокоенных семантикой «бесконечной прокрутки». читать далее
#customization:theme компонент Работы над Современной карточкой пользователя продолжаются: восстановление/модернизация экспериментального дизайна usercard выявило устаревания и необходимость рефакторинга по мере развития ядра. читать далее
#customization:theme Вышла новая тема Verso: легковесная, вдохновленная редакционным стилем с мягкими цветами и светлой/темной схемами. читать далее
developmenttheme-guidesblocks Был опубликован новый репозиторий «навыков» Claude Code для создания тем Discourse и блоков, включая пример темы и паттерны для layout-фреймов/outlets. читать далее
development Честный «кейс-стади» о изучении разработки плагинов при создании плагина контактной формы — полезная перспектива для начинающих создателей сообществ, которые не являются инженерами на полную ставку. читать далее
Marketplace Запрос на сборку платформы сообщества до запуска вызвал честные проверки соответствия реалиям: «дизайнерские» правки, кастомный портал/профиль участника и потоки, связанные с аутентификацией, вероятно, превышают крошечный стартовый бюджет. читать далее
wordpress Вопрос по аудиту куки получил прямой ответ: WP Discourse не устанавливает свои собственные куки, за исключением стандартных куки аутентификации WordPress, используемых для DiscourseConnect. читать далее
blogDiscourse Discover: Hobbyist Edition выделил сообщества, построенные на глубокой, устойчивой экспертизе — именно тот вид «медленного интернета», который Discourse стремится обеспечить. читать далее
Falco был повсюду на этой неделе: прояснил разницу в ответственности между хостингом и самостоятельным размещением в теме о возрастном ограничении (подробнее), исправил баг с дублированием уведомлений, вызывающий «спам пингами» (подробнее), и развеял путаницу вокруг включения YJIT для самостоятельных администраторов (подробнее). Также он помог настроить изменение размера изображений в редакторе, указав на разницу между настройками «порог» и «целевая ширина» (подробнее), а также продолжил работу над улучшением встраивания Discourse как полноценной системы комментариев (подробнее) и исправлением проблем с промежуточным ПО для поисковых ботов (подробнее).
chapoi помог провести две важные дискуссии по UX: сравнение «бесконечной прокрутки» и алгоритмических «бесконечных лент» (подробнее) и практические аспекты использования подвалов и домашних страниц в интерфейсе списка тем (включая четкий ответ о том, что пагинация «не в планах») (подробнее). Он также разобрал проблему с контрастностью значков категорий и пообещал найти первопричину (подробнее).
lindsey выпустил и включил новые значки за голосование в темах, а затем объяснил, почему уведомления о ретроактивном подсчете голосов намеренно ограничены, чтобы избежать спам-атак (подробнее). Он также ответил в темах по UX календаря и событий, в том числе указав на недавно добавленный флажок «Весь день» (подробнее) и подтвердив, что описания событий в файлах .ics теперь заполняются корректно (подробнее).
manuel опубликовал практическое руководство по ускорению создания тем с помощью ИИ: навыки создания тем и блоков с примерами, а также дополнительные заметки о том, как блоки меняют подход к настройке тем — от «вставки компонентов» к «определению макетов». (подробнее). Он также напомнил, что фирменная тема Meta не предназначена для публичного повторного использования, но направил разработчиков к подходам на основе блоков для достижения аналогичных результатов (подробнее).
david опубликовал объявление о релизе за апрель 2026 года, направив администраторов к каноническому списку изменений (подробнее) и быстро отреагировал на отчет об ошибке, связанной с устареванием ember-this-fallback — выпустив исправление и запланировав его портирование на предыдущие версии (подробнее). Он также уточнил, что синхронизация групп через OIDC теперь доступна, и сослался на обновленный список изменений и документацию (подробнее).
pmusaraj выпустил тему Verso (редакторский стиль, светлая/темная тема, только CSS) (подробнее) и диагностировал проблему с горизонтальной полосой прокрутки, возникающую только в iOS при использовании встроенных комментариев или административных панелей, связав ее с исправлением, находящимся в процессе внедрения (подробнее).
awesomerobot запросил источники и помог направить дискуссию о «бесконечной прокрутке» в русло обсуждения, основанного на доказательствах (подробнее), а также напомнил о практических ограничениях, с которыми сталкиваются хостинг-провайдеры, вынужденные соблюдать законодательство юрисдикций, в которых они оказывают услуги (подробнее).
martin объявил о предстоящих изменениях в требованиях к продвижению для уровня TL3, подтвердив, как новые значения по умолчанию взаимодействуют с ручными настройками администратора и сбросом настроек (подробнее).
HAWK представил важный взгляд с точки зрения соответствия нормативным требованиям: даже самостоятельно размещаемые сообщества могут иметь обязательства (например, в соответствии с UK OSA) в зависимости от того, из каких регионов пользователи могут регистрироваться, и администраторам следует планировать свою работу с учетом этого (подробнее).
nat признал и быстро исправил регрессию макета «5 строк» в Data Explorer, подтвердив момент применения исправления на сайте пользователя, сообщившего об ошибке (подробнее).
Спасибо, что прочитали, и увидимся на следующей неделе!
Локализация и UX перевода продолжали подниматься в разных разделах продукта — от вопроса «как Discourse выглядит на японском» (подробнее) до рекомендаций по выбору одного подхода к переводу в теме плагина Translator (подробнее) и крайних случаев со схемой/SEO, связанных с переведенным контентом (подробнее).
Встраивание и опыт работы с комментариями также привлекали внимание, включая более плавные потоки входа для встроенных интерфейсов (подробнее) и практические подводные камни настройки, такие как поведение кросс-доменных cookie (подробнее), а также уточнения по автоматическому созданию тем для встроенных цепочек комментариев (подробнее).
Операционная надежность ИИ была повторяющейся темой: путаница с размером токенов/контекста (подробнее), зависание переводов при использовании «размышляющих» моделей (подробнее) и сбои перевода из-за взаимодействия структурированного вывода и рассуждений (подробнее).
UX администратора и отчетность: проблемы с видимостью «Трафика сайта» оказались связаны со скрытыми настройками (подробнее), а различия в количестве сканеров между отчетами были объяснены датой внедрения новой функции (подробнее).
«Как на самом деле пользоваться Discourse на другом языке» вызвала практическую дискуссию о том, что не переводится (интерфейс плагинов, строки тем), и о том, как быстро можно исправить отсутствующие строки темы, как только они будут замечены (подробнее).
«Урок Digg: почему важна инфраструктура модерации» вернула к классической предостерегающей истории и побудила к размышлениям о инструментах и системах, необходимых для модерации в масштабе (подробнее).
#Announcements
Discourse Discover получил «Горячие темы»: была представлена новая механизм отображения контента между сообществами (начиная с DiscourseHub iOS), что вызывает интересные вопросы относительно обнаружения контента и рейтинга в сети (подробнее).
Встраивание Discourse как полноценной системы комментариев получило еще один раунд практических вопросов и ответов, включая подтверждение того, что встроенные цепочки могут автоматически создавать свои базовые темы при первом посещении (подробнее).
«Кейс» автора плагина о сбоях, устаревании и документации перерос в более широкую беседу о темпе развития, стабильности и том, как следует поддерживать документацию (PR на GitHub против вики, сроки устаревания и ожидания) (подробнее).
Регрессии bin/lint для несвязанных плагинов были быстро сообщены, воспроизведены и исправлены, что подчеркнуло различия в рабочих процессах линтинга для разных настроек плагинов (подробнее).
#contribute:feature
Чат как «контент первого класса»: прототип концепции «единого вида активности» предложил чередовать темы, подкатегории и каналы чата по дате обновления, что вызывает серьезные вопросы об информационной архитектуре и удобстве поиска (подробнее).
Родительские категории против заглушенных подкатегорий: сценарий использования гибрида публикаций/сообщества с высокой нагрузкой запросил лучшие способы отображения «горячих» обсуждений без затопления раздела Последние, сохраняя при этом возможность агрегированного просмотра внутри родительской категории (подробнее).
Потеря контекста в переведенных цитатах: запрос функции утверждал, что перевод должен сохранять полезную метаданные «цитата из темы/сообщения» и контекстное выпадающее меню, присутствующее в непереведенных цитатах (подробнее).
UX автоматического таймаута подмены пользователя: когда экспериментальная подмена пользователя завершается автоматически, интерфейс может вводить в заблуждение, что побудило идеи вроде таймеров, обновлений UI MessageBus и изящного поведения «Остановить подмену» (подробнее).
Пустая страница /custom после переключения темы при входе: когда у неавторизованного пользователя тема имеет пользовательскую домашнюю страницу, а у авторизованного — нет, пользователи могут оказаться на пустой странице, с предложениями показать действенную кнопку «Вернуть домой» (подробнее).
Пропавшая кнопка «инфо» тега: отчет о регрессии UX отметил, что неадминистраторы больше не могут легко найти описания тегов, если элемент управления информацией исчез (ключ виден только админам) (подробнее).
Требование полного имени против Discourse ID: включение требования полного имени не работало как ожидалось в потоке регистрации Discourse ID, и проблема была достаточно воспроизводимой, чтобы быть перемещенной в bug для исправления (подробнее).
Синхронизация групп OpenID Connect выталкивает пользователей из «несинхронизированных» групп: был описан серьезный крайний случай изменения членства, при котором потеря одной группы OIDC могла удалить пользователей из несвязанных групп, с быстро предложенным исправлением (подробнее).
Ошибка редактирования опроса после передачи владения темой: редактирование чужого опроса (после передачи) вызывало ошибку, и исправление плагина было оперативно выпущено (подробнее).
Сбои перевода ИИ, связанные с «размышляющими» моделями и структурированным выводом: отладка показала, как токены рассуждений могут потреблять бюджет завершения, и как несоответствие возможностей моделей (например, поддержка json_schema) может ломать переводы (подробнее).
Удаление режима Bootstrap («устаревший?»): обоснование, что было заменено (панель онбординга администратора), и какие старые «удобства Bootstrap» могут стоить возвращения (частота обновления каталога, первый-админ-как-модератор и т.д.) сделали этот пост очень конструктивным постмортем (подробнее).
Discourse Splash («синие точки») больше нельзя отключить: было объяснено удаление настройки отключения, включая влияние на производительность/SEO и практическое обходное решение через анимированную замену SVG (подробнее).
Исключение категории из глобального Последних: администраторы сравнивали «категории по умолчанию с отключенными уведомлениями» с плагинами и настройками для подавления шумных ежедневных категорий из глобальной ленты (подробнее).
«Отчет по трафику сайта» отсутствует: корневая причина была отследена до скрытой настройки use_legacy_pageviews — и как это полностью скрывает новый интерфейс отчетов (подробнее).
#Self-hosting
«Файл слишком большой» на самом деле не был проблемой сборки Discourse: русскоязычная тема о самостоятельном хостинге оказалась проблемой файрвола провайдера / блокировки полезной нагрузки (загрузки + регистрации), с подробным списком восстановления и настройки (подробнее).
Установка Discourse за нерутируемым публичным IP: препятствие «тест подключения» при установке и требования HTTPS снова поднялись, с практическими обходными путями (пропустить тест / dev-установка / туннели / настройка сертификатов) (подробнее).
Планирование обновления AWS Lightsail + Ubuntu: тема сравнивала обновление ОС на месте с playbook-ами миграции «создать новый сервер, восстановить резервную копию, поменять DNS» (и подготовкой TTL) (подробнее).
Потребности в рабочих процессах защиты/сообщения: благотворительная организация запросила специализированную кнопку для сообщений и потоки протоколов экстренной помощи; ответы прояснили границу между работой с темами и плагинами и указали на встроенные инструменты флагов и компоненты (подробнее).
#community-building Building
Приветствие новых пользователей (особенно через Чат): сообщество исследовало способы уведомления постоянных пользователей о новых регистрациях и как поведение чата/почты влияет на потоки «приветствия», особенно в условиях хостинга (подробнее).
nat сосредоточился на локализации и ожиданиях от перевода — демонстрируя многоязычный UX в сопутствующей теме блога (подробнее) и советуя сообществам выбирать один опыт перевода (отдавая предпочтение более новым автоматическим переводам над старым UX Translator) (подробнее).
gabriel объявил о новой функции Discover «Горячие темы», описав, как работают сканер и кластеризация тем, и где она запускается первой (DiscourseHub iOS) (подробнее).
pmusaraj глубоко разобрал тему «Режим Bootstrap устарел?», объяснив, почему он был удален, что его заменило (панель онбординга администратора) и какие части могут стоить повторного внедрения или пересмотра (подробнее). Они также прояснили доступность TestFlight и область UI приложения в теме объявления Discover Hot Topics (подробнее), участвовали в экспериментах «чат как контент первого класса» (подробнее), воспроизвели и эскалировали проблему Discourse ID / требования полного имени в bug (подробнее), и опубликовали исправление для крайних случаев удаления членства при синхронизации групп OIDC (подробнее).
awesomerobot подтвердил удаление настройки отключения загрузочного экрана (и почему это важно для Core Web Vitals), а также поделился подходом с анимированным SVG для полной замены точек (подробнее). Они также прояснили, почему значения сканеров могут отображаться как 0 в новом отчете «Трафик сайта» для старых диапазонов дат (подробнее), выпустили улучшения доступности для декоративных изображений значков (пустые теги alt) (подробнее), и продолжали улучшать UX приглашений/профилей, скрывая запутанный UI приглашений в неподдерживаемых контекстах (подробнее; подробнее).
Falco был активен в вопросах встраивания, ИИ и руководства по самостоятельному хостингу — включая поведение входа для встраивания кросс-доменов через настройки same_site_cookies (подробнее), подтверждение поведения автоматического создания тем для встроенных комментариев (подробнее), и направление отладки перевода ИИ в сторону избегания ловушек моделей рассуждений (подробнее; подробнее). Они также дали ссылки на исправления для текущих ошибок сканера «глубина дерева документов» (подробнее) и рекомендовали безопасный путь «восстановление на новом сервере + смена DNS» для миграций Lightsail/Ubuntu (подробнее).
david участвовал в обсуждениях опыта разработчика и компромиссов в обслуживании — балансируя ожидания стабильности/кастомизации в теме кейса автора плагина (подробнее) и проясняя сроки устаревания (подробнее). Они также исправили и объединили регрессию bin/lint, затрагивающую несвязанные плагины (подробнее), объяснили поведение границ ссылок в Markdown (и экранирование угловыми скобками) (подробнее), запросили инвентаризацию плагинов в расследовании памяти/прекомпиляции для самостоятельного хостинга (подробнее) и прояснили, что tests-passed остается рабочим псевдонимом для latest (подробнее).
derek выпустил улучшения UI и исправления, связанные с темами — быстро устранив отсутствующую строку перевода темы, замеченную при многоязычном просмотре (подробнее), подтвердил слияние для проблем с цветом/контрастом значков категорий (подробнее) и признал расследование крайнего случая «пустой пользовательской домашней страницы после переключения темы» при входе (подробнее).
chapoi предоставил контекст и руководство по ограничениям и деталям реализации — добавляя перспективу о том, почему документация может отставать во время быстрого развития платформы в кейсе автора плагина (подробнее), направляя авторов тем к правильному выходу плагина для вставки навигационных заголовков (подробнее) и устраняя неполадки с неоднозначностью уведомлений/триггеров в теме расследования UI-уведомлений (подробнее).
martin взял на себя ответственность за улучшение опыта таймаута подмены пользователя, описав двухэтапный подход (обновления UI при истечении времени + изящное поведение остановки), с открытостью к сотрудничеству через PR (подробнее; подробнее).
HAWK продвигал обсуждение стратегии сообщества через призму истории модерации в ретроспективе Digg (подробнее) и поделился советами по построению сообщества, сфокусированными на внутренней мотивации и динамике Сообществ Практики (подробнее).
Спасибо за чтение, и увидимся на следующей неделе!
Крупные запуски, на которые стоит обратить внимание: вложенные ответы (читать далее), новые оптимизации изображений на стороне клиента (читать далее) и новый сигнал «Мне тоже» для нерешенных тем поддержки (читать далее).
Интересные темы
#Announcements
markvanlan представил вложенные ответы для сообществ, которым нужны полностью ветвящиеся обсуждения, а также предварительный просмотр одноветочного вида и элементы управления администратором (читать далее).
lindsey анонсировала улучшения статуса «Решено»: кнопку «Мне тоже» для нерешенных тем в категориях поддержки, которая также подписывает участников на уведомления о принятии решения (читать далее).
Falco внедрил новые оптимизации изображений на стороне клиента, включая конвертацию GIF в анимированный WebP для уменьшения размера загрузки и улучшения воспринимаемой производительности (читать далее).
Массовые действия были улучшены с помощью улучшенного управления тегами: добавление, замена и удаление тегов теперь доступны в одном модальном окне «Управление тегами» (читать далее).
martin поделился упрощенным процессом настройки для создания категорий «События» с использованием плагина «Календарь и события», продолжая инициативу по настройке категорий (читать далее).
Пользователи темы Horizon получили обновление по умолчанию: карточки тем с высоким контекстом теперь включены по умолчанию, что позволяет видеть такие сигналы, как «Решено», «Голосование», «Назначение», а также более подробные предпросмотры (читать далее).
martin представил детализированные псевдогруппы для более четкого управления правами: разделение анонимных и зарегистрированных пользователей для снижения путаницы из-за @everyone в настройках списка групп (читать далее).
Уведомления PWA для iOS: настройка подписки может незаметно завершиться неудачей, если сервисный рабочий еще не контролирует приложение; предложение по исправлению обсуждается в ядре (читать далее).
Частный случай в Discourse Automation: ежемесячные повторяющиеся автоматизации не срабатывали как ожидалось, что потребовало глубокого анализа того, как вычисляется ежемесячная повторяемость (читать далее).
Навигация в лайтбоксе при загрузке сеткой: изображения отображаются в неправильном порядке (например, 1, 3, 2, 4); исправление отслеживается и связано (читать далее).
Регрессия на страницах групп: пользователи не могли увидеть владельца группы, хотя данные присутствовали, что привело к созданию PR для повторного отображения (читать далее).
Ранние трудности с вложенными ответами: действия администратора (ключ) на сообщениях кажутся неработоспособными в вложенном виде, требуя переключения обратно в плоский режим как обходного пути (читать далее).
Проблема в Theme Creator: экспорт тем на мобильных устройствах приводит к пустому/белому экрану, тогда как на рабочем столе все работает нормально (читать далее).
Неудача при обновлении самохостинга: сбой обновления панели администратора (тайм-аут компиляции JS плагина) был исправлен путем пересборки через ./launcher rebuild app (читать далее).
Улучшение модального окна закладок: спорный «лишний» переключатель в диалоге редактирования закладки был обсужден и удален через PR (читать далее).
Эргономика редактора категорий: кнопка Удалить в упрощенном интерфейсе категорий была выделена сильнее, чем Сохранить, что было отмечено как рискованное и запутывающее (читать далее).
Микромакет профиля: курсивный текст в био пользователя может выглядеть слегка обрезанным, вероятно, из-за правил переполнения (читать далее).
UX администратора на мобильных устройствах: настройка скриптов Discourse Automation на экране телефона тесна и неудобна (читать далее).
Вопросы о поведении отслеживания: администраторы заметили изменение в том, как быстро темы теряют статус «НОВЫЕ» в списках после входа в тему (читать далее).
Проверка безопасности реорганизации категорий: обсуждение прояснило, что переименование названия/слага категории безопасно, так как URL-адреса разрешаются через ID, а старые слага перенаправляются (читать далее).
Встраивание в Salesforce: проблемы с iframe и аутентификацией привели к практическим рекомендациям по выравниванию домена cookie и настройкам same_site_cookies (читать далее).
Путаница с биллингом/апгрейдом хостинга: администратор бесплатного тарифа не видел опцию апгрейда до Starter, и сотрудники провели расследование и устранение (читать далее).
Безопасный самохостинг: вопросы о Nginx CVE-2026-42945 и том, затронуты ли базовые образы/правила Discourse, вызвали ответ команды (читать далее).
#Theme_component
Новый компонент темы для более понятных меток кнопок ответа (и переводимых), особенно актуальный в связи с изменением семантики ответов при вложенных ответах (читать далее).
Небольшой, но полезный компонент темы для скрытия «осталось голосов» в интерфейсах голосования по темам (особенно когда эмулируется «безлимитное» голосование), а также обсуждение новых настроек лимита голосов (читать далее).
markvanlan возглавил внедрение и Q&A по вложенным ответам, объяснив, почему ветвление — это выбор администратора (а не предпочтения пользователя), и как включение/выключение можно отменить (читать далее, читать далее).
Falco внедрил и объяснил новый конвейер оптимизации изображений на стороне клиента (включая конвертацию GIF в анимированный WebP) (читать далее) и координировал исправления уведомлений PWA для iOS, предложив подход обновления сервисного рабочего (читать далее). Он также дал советы по ограничениям входа через iframe/встраивание для развертываний Salesforce (читать далее) и ответил на сбои обновлений самохостинга, связанные с тайм-аутами сборки плагинов (читать далее).
lindsey анонсировала и прояснила новый опыт «Мне тоже» для нерешенных тем поддержки, а также обсудила, как должен работать счетчик (начиная с 1, включая автора темы) (читать далее, читать далее). Она также представила консолидированное модальное окно массового управления тегами для рабочих процессов персонала (читать далее).
HAWK продолжил обсуждение готовности к предприятию несколькими потоками о масштабировании: точках разрыва по мере роста сообществ (читать далее), рисках масштабирования слишком поздно или слишком рано (читать далее), ранних сигналах необходимости пересмотра стратегии (читать далее) и проекте чек-листа готовности к предприятию для обратной связи (читать далее).
martin расширил инициативу «настройка типа категории», сделав категории «События» проще в настройке (читать далее) и включив более богатое обнаружение в Horizon по умолчанию через карточки тем с высоким контекстом (читать далее). Он также представил более четкую семантику групп через новые псевдогруппы для анонимных и зарегистрированных пользователей (читать далее), улучшил варианты UI «предстоящие изменения» в Админке для функций отчетности (читать далее) и прояснил, как работают опциональные ссылки «Предпросмотр» и «Отзыв» для записей о предстоящих изменениях (читать далее).
awesomerobot прояснил поведение новой кнопки «Мне тоже» по сравнению с Boost (и почему она связана с уведомлениями о решении) (читать далее), исправил трение в мобильном UI, где «последний запуск» Automation перекрывал кнопки действий (читать далее), и решил мелкие проблемы продукта, такие как «необновление метки LLM по умолчанию», через PR (читать далее). Он также восстановил видимость владельцев групп для не-персонала (читать далее), обсудил настройки лимита голосов в голосовании по темам в контексте скрытия «осталось голосов» (читать далее) и даже очистил выбор официального паттерна темы, отметив возможные негативные коннотации (читать далее).
zogstrip предоставил постоянный поток исправлений: порядок лайтбокса сетки (читать далее), слишком узкое модальное окно удаления на мобильных в Edge (читать далее), несколько воспроизведений и исправлений на китайском языке вокруг потоков редактирования/навигации (читать далее, читать далее) и триаж поддержки для API 500, связанного с сериализацией silenced_till (с указанием на соответствующее исправление) (читать далее). Он также помог направить расследование повторяющейся ошибки автоматизации «ежемесячно», пометив её для проверки (читать далее).
chapoi подтвердил и объяснил баги UX (включая проблемы мобильных модальных окон и странности диалога закладок) (читать далее, читать далее), а затем реализовал PR для удаления ненужного переключателя закладки (читать далее). Он также помог устранить проблемы самохостинга с тяжелыми плагинами (значки/UI администратора), неоднократно направляя отчеты к изоляции в безопасном режиме (читать далее), и обозначил проблемы с кавычками в локализации/переводе для дальнейшего рассмотрения (читать далее).
nat быстро отреагировала на проблемы с AI/локализацией: решив несоответствия в обнаружении норвежской локали и предложив обходные пути на основе промптов, пока планируется обновление основного промпта (читать далее, читать далее). Она также подтвердила частные случаи перевода, такие как «заголовок переводится, а пост нет», указав на пороги длины перевода и последующие корректировки (читать далее), и обсудила, как переведенные цитаты могут терять важные метаданные (особенно на немецком) (читать далее).
sam занялся вопросами безопасности и инженерными задачами: подтвердив, что правила переписывания по умолчанию в Discourse не уязвимы, но отметив, что обновления базовых образов будут выпущены для обсуждения CVE Nginx (читать далее), объединил/исправил проблему установки в подпапку MCP (читать далее) и проверил частный случай конфигурации провайдера AI (бюджет «мышления» Gemini) (читать далее).
Несколько тем, которые привлекли внимание/лайки на этой неделе (выборка):
Улучшения UX для Discourse AI оказались в центре внимания благодаря избранным чатам с ИИ (читать далее) и закреплённому редактору для общения с ботами (читать далее).
Обсуждения в блоге вызвали дебаты о «открытом вебе» и «ИИ-краулерах»: позиционирование «web-first» (читать далее) и Discourse, готовый к агентам (читать далее).
Изменения интерфейса «документация в первую очередь для чтения» вызвали отклик через простой режим категорий документов (читать далее).
«Discourse готов к агентам» (ai) вызвало широкую дискуссию о том, должны ли сообщества приветствовать ИИ-агентов/краулеров или блокировать их, включая практические аспекты, такие как игнорирование скрейперами robots.txt и неопределённая ценность llms.txt. Читать далее
«Discourse никогда не заблокирует вас от веба» противопоставил позицию Discourse в вебе тенденциям к блокировке в приложениях и инициировал обсуждение авторства/кредитов в темах-компаньонах блога. Читать далее
#Announcements
Избранные общие разговоры с ИИ (ai) принесли небольшую, но значимую победу в рабочем процессе: избранные чаты с ботами теперь плавают вверху списка разговоров с ИИ (за переключателем «скоро будет доступно»). Читать далее
Закреплённый редактор для разговоров с ИИ-ботами (composer, ai, ai-bot) создал ощущение «непрерывного чата» для тем с ботами, снизив трение от многократного открытия редактора. Читать далее
Категории документов: «простой режим» (doc-categories) переосмыслил темы документов в виде, ориентированном на чтение, где ответы сворачиваются за переключатель, но автоматически разворачиваются для прямых ссылок-ответов. Читать далее
Промежуточные выпуски (19 мая 2026 г.) собрали критические заметки о выпуске с исправлениями безопасности и ссылки на версии для администраторов, отслеживающих срочность обновлений. Читать далее
Улучшенные события: гибкие RSVP для повторяющихся событий (calendar-and-event) добавили возможность подтверждать участие только для следующего случая или для всех будущих случаев, предотвращая нежелательные напоминания и улучшая ясность посещаемости. Читать далее
Новое положение счётчика ответов для тем, использующих Реакции (reactions) выделило изменение макета, направленное на более согласованное выравнивание строки реакций между сообщениями. Читать далее
Кнопка одобрения в профиле пользователя не работает обострила сложный краевой случай в очереди одобрения/проверки: не одобренные пользователи не отображались в проверке, появлялись фантомные уведомления об одобрении, а также возникали ошибки 500 при попытке одобрить через интерфейс администратора. Читать далее
Сообщение об «доступном обновлении» в электронной почте ссылалось на сломанные заметки о выпуске (отсутствовал префикс v в URL журнала изменений), что приводило к ошибке 404 до тех пор, пока это не было исправлено. Читать далее
Тема компонентов тем «Иконки тегов»: подчеркивания превращались в дефисы ломала иконки непоследовательно между боковой панелью и страницами тем/тегов, вероятно, из-за изменений в обработке слаг-имён. Читать далее
Автозаполнение эмодзи + специальные символы (например, ü) показало тонкую, но реальную проблему UX как в редакторе, так и в чате, включая ошибки в консоли при вставке эмодзи после использования «ещё…». Читать далее
Ошибка реакций: всплывающее окно «+1» зависало при загрузке оказалось проблемой кодирования URL (+ интерпретировался как пробел) и было быстро исправлено целевым патчем. Читать далее
NameError: ReactionsSerializerHelpers повлиял на сериализацию потока сообщений в темах на некоторых установках с плагином реакций, и была открыта PR для решения проблемы порядка загрузки. Читать далее
Вложенные ответы + голосование за сообщения = ошибка 500 показала краевой случай несовместимости, где вложенные сериализаторы ожидали метаданные, которых не было, что приводило к undefined method 'post_number' for nil. Читать далее
Подсветка синтаксиса не всегда корректно копируется/вставляется с цветом превратилась в глубокое погружение в форматы буфера обмена, различия браузеров (Firefox против Chromium) и места потери форматирования (копирование против вставки). Читать далее
Межкультурная обратная связь по порядку ответов (сначала новые vs сначала старые) подняла продуманную проблему обнаружения/юзабилити для пожилых пользователей и разных привычек чтения, а также нюанс вложенных ответов (UX временной шкалы различается). Читать далее
Восстановление удалённого сообщения не создаёт запись в журнале действий персонала выделила пробел в аудите: действия удаления логируются, тема восстановления логируется, но восстановление сообщения — нет, что спровоцировало создание PR. Читать далее
Баннер предложенных правок перекрывает историю правок/дату в wiki-документах указал на столкновение интерфейса, вероятно, связанное со стилями docs/simple-mode, что снижает ясность вокруг метаданных правки. Читать далее
Путаница с бесплатным планом / ценообразованием: email-in + типы категорий внезапно стали платными задокументировала реальные трения, поскольку хостинговый бесплатный план продолжает развиваться, включая ожидания относительно матрицы функций и подсказок об обновлении интерфейса. Читать далее
Минимальные ожидания активности на бесплатных хостинговых сайтах прояснили текущую политику: ранние уведомления о неактивности через ~3 недели, ещё одно через ~6 недель и декомиссионирование через ~7 недель, если нет реальной активности сообщества. Читать далее
Резервное копирование не выполняется с PostgreSQL 18 (решено) описало решение проблемы несовпадения клиента/сервера pg_dump, когда Discourse запускает резервное копирование из контейнера, используя более старые инструменты pg, чем внешний кластер PG18. Читать далее
#support:migration
Настройка скорости миграции phpBB → Discourse (phpbb) собрала практические советы по устранению проблем с производительностью импорта (I/O против БД против Redis), а также напоминания о массовых импортерах и стоимости повторного запуска крупных миграций. Читать далее
#Community_Building
Нативное клиентское приложение Discourse для iOS+Android (show-and-tell) продемонстрировало концепцию стороннего нативного клиента (с оговорками о поддержке плагинов и ограничениях входа/пуш-уведомлений в зависимости от хостинга). Читать далее
«Новое сообщество» онбординг + границы на Meta смешало приветливую обратную связь с напоминанием, что Meta не является подходящим местом для промо/функционального тестирования — и для экспериментов следует использовать try.discourse.org. Читать далее
awesomerobot напрямую участвовал в обсуждении компромиссов ИИ-краулеров «готовности к агентам» (включая ограничения блокировки скрейперов) в этой теме, затем также продвинул улучшение продукта, подтвердив настраиваемость нового текста «Me too» в разделе «Решено» в этом продолжении. Они также рекомендовали лучшую практику обработки спама («удалить и заблокировать») в этом запросе функции и прояснили пороги активности бесплатного уровня в этом ответе поддержки.
Falco помог диагностировать сбои обновлений самодостаточных версий и ограничения ресурсов (особенно установки с 1 vCPU и неосновными плагинами) в Сбой после попытки обновления и продолжал итеративно работать над ограничениями UX вложенных ответов (доступность временной шкалы, решения об откате и пробелы в дизайне) в обратной связи по порядку ответов. Falco также направил отчёт об ошибке 404 состояния чтения вложенных ответов в нужное место в этой теме бага и указал на исправления в процессе для действий администратора в режиме вложенных ответов в этом отчёте о вложенном баге.
sam выпустил улучшения удобства использования ИИ с объявлением избранных разговоров с ИИ в этой теме, подтвердил и определил масштаб проблемы с историей/кнопкой «назад» в плавающем чате в этом баге чата и отреагировал на отчёт о сбое при флагах, поощряя создание PR (и подтверждая, что это в поле зрения команды) в этой теме бага.
david опубликовал недельные указатели промежуточного выпуска для критических исправлений в теме заметок о выпуске и высказался о том, как должны вести себя предварительно собранные ассеты во время обновлений веба (и почему некоторые комбинации плагинов+оборудования всё ещё испытывают трудности) в этой теме сбоя обновления. David также отметил, что старый переключатель «режима мобильной видимости» (на основе viewport) давно пора удалить (и он может вызывать ошибки, если выключен) в этом продолжении dev-news.
keegan представил опыт закреплённого редактора для разговоров с ИИ-ботами (за флагом «скоро будет доступно») в этом объявлении.
saquetim выпустил простой режим для категорий документов (сворачивание ответов за переключатель при сохранении функциональности глубоких ссылок) в этом объявлении.
zogstrip был везде в тактических следствиях исправления багов: он указал на грядущее улучшение поведения кнопки «назад» в избранных чатах в этом баге чата, подтвердил быстрое исправление проблемы кодирования URL всплывающего окна реакции «+1» в этом отчёте о реакциях и связал исправления/PR для нескольких давних мелких проблем — таких как 404 пагинации Googlebot в этой теме поддержки, улучшения восстановления помеченных сообщений в этом баге и улучшение UX-ссылки описания настроек в этой теме UX. Он также пытался (и не смог) воспроизвести проблему модального окна реакций на мобильных устройствах, прося лучшие шаги воспроизведения в этой теме бага.
HAWK отреагировал на «точки отказа» масштабирования для предприятий, подтвердив активную работу над календарём/событиями и намерения по дорожной карте для видеоконференцсвязи в этом обсуждении для предприятий. Он также дал чёткий обзор возможностей отслеживания слов (и указал на справочное руководство) в этой теме поддержки модерации и объяснил, почему хостинговый бесплатный план вытесняется, пока ещё тестируется соответствие продукта рынку в этой теме о ценообразовании/бесплатном плане.
Danielle опубликовала запись и резюме сессии офиса по MCP + Data Explorer (включая практические примеры «задавайте вопросы о данных вашего сообщества как о коллеге») в этом посте событий.
Спасибо за чтение, и я увижусь с вами на следующей неделе!
Значительная часть активности недели была сосредоточена вокруг выкатки основных изменений UX, стабильности вложенных ответов и настройки для администраторов и самохостеров — несколько веток напрямую касались новых или текущих изменений платформы, таких как реакции по умолчанию (читать далее) и «шум» от уведомлений о «малых действиях» (читать далее).
Интересные темы
#announcements
Ядро Discourse получает новую систему сборки JavaScript, переходя с ember-cli/webpack на rolldown (на базе Rust, совместим с Vite), что обещает ~80% ускорение сборки в режиме разработки, при этом установка в продакшене не пострадает благодаря предварительно скомпилированным активам (читать далее). Связанный контекст: предварительно скомпилированные активы для самохостеров (читать далее).
Реакции включаются по умолчанию для всех новых и существующих сайтов через процесс выкатки «предстоящих изменений», при этом martin объясняет, почему меняются настройки по умолчанию и как обрабатываются отказы (читать далее). Канонический контекст функции: ветка плагина Discourse Reactions (читать далее).
Сообщения о «малых действиях» (автоматические уведомления о закрытии, уведомления о назначении и т. д.) исключаются из списков «Следить»/«Отслеживать» для снижения спама уведомлений для администраторов, и это не является опциональным из-за ограничений реализации (читать далее).
Плагин Calendar and Events получил значительно более плавный процесс создания событий прямо в редакторе сообщений (интерактивный редактор в режиме rich-text и предпросмотр в markdown), что снижает барьер для сообществ, организующих мероприятия (читать далее). Каноническая тема плагина: Calendar and Events (читать далее).
Вышло майское ежемесячное обновление 2026 года (v2026.05) с полными ссылками на журнал изменений для всех, кто отслеживает обновления как на самохостинговых, так и на хостинговых установках (читать далее).
Discourse опубликовал отчет «Текущие проекты — май 2026», включая заметки о прогрессе по встроенным плагинам и инициативам (особенно: улучшения голосования за темы и UX настройки календаря/событий) (читать далее).
Проявилась классическая проблема «фантомных непрочитанных»: пользователи видели Unread (14), хотя на странице /unread было пусто. Команда признала наличие бага и работала над исправлениями, а также был предложен практический обходной путь на Rails/SQL для очистки состояния непрочитанных на всем сайте (с важной оговоркой, что он очищает и легитимные непрочитанные) (читать далее).
Вложенные ответы продолжали выявлять крайние случаи: ссылки на suggested-topic вели на вложенные маршруты, которые возвращали 404 (и могли оставлять заголовок в странном состоянии). Было выпущено исправление в ядре, последовало обсуждение редиректов и индикаторов непрочитанных во вложенных темах (читать далее).
Пользователи Form Templates столкнулись с тонкой проблемой: поля выбора тегов ломались, если имена тегов содержали буквы разного регистра. zogstrip воспроизвел проблему и быстро выпустил исправление в PR, превратив запутанную проблему UX в конкретное правило: нормализуйте названия тегов (читать далее).
Мелкая проблема UX переросла в улучшение бэкенд-валидации: создание группы, требующей одобрения для вступления, без владельца, выдавало бесполезное сообщение «FAILED». В ходе расследования была отмечена сложность разделения форм и устаревшие паттерны Ember; PR восстановил информативное сообщение об ошибке (читать далее).
Сложная проблема при обновлении: db:seed_fu завершился ошибкой из-за конфликта имен с anonymous при создании новых системных групп. В ветке highlighted крайние случаи импорта (пользователи/группы с именем anonymous) и подняты вопросы именования и совместимости автоматических групп (читать далее).
Установки на французском языке выявили ловушку типографики: определенные замены апострофов/кавычек превращали ' в > из-за настроек кавычек. Отключение enable_markdown_typographer решило проблему, и команда отметила «быстрые победы» для улучшения этого опыта (читать далее).
Тестирование вложенных ответов остается спорным: один оператор сообщил о сбоях в продакшене (изменения маршрутов, сломанные ссылки уведомлений, несовместимость тем и проблемы с мобильной версткой) и рекомендовал более строгие предупреждения перед включением, в то время как другие изучали стратегии тестирования и управление ожиданиями (читать далее).
Отдельная ветка совместимости вложенных ответов касалась конфликтов голосования за сообщения + вложенные ответы; краткосрочное направление склонялось к явному отключению поведения голосования за сообщения во вложенном контексте и рассмотрению будущей функции «голосования» непосредственно внутри вложенных ответов (читать далее).
#contribute:feature
Внимание было уделено трению при онбординге на мобильных устройствах: Discourse на мобильных устройствах prominently показывает «Войти», но скрывает «Зарегистрироваться» за этим потоком, что приводит к путанице у пользователей. В ветке обсуждаются компромиссы в UI, альтернативные компоненты и работа над PR для улучшения заметности без загромождения заголовка (читать далее). Связанная идея компонента: объединенная кнопка авторизации (читать далее).
Обсуждение безопасности против операционной возможности: когда параметр «редактировать email после регистрации» отключен, администраторы также теряют возможность редактировать email через UI. Предложение заключается в более гранулярном контроле (только для администраторов или только для пользователей), вероятно, с использованием «sudo mode» с подтверждением пароля/2FA и строгой аудиторской записью (читать далее).
Обратная связь по Discourse AI: было предложено добавить поддержку вебхуков/событий для обновлений артефактов AI (или отключение песочницы), и команда указала на необходимость пересмотреть этот вопрос после выхода «Workflows» (нового подхода к автоматизации) (читать далее).
Самохостеры сравнивали поставщиков VPS и реалии SMTP: ветка «Vultr против DO» быстро превратилась в напоминание о том, что доставляемость почты обычно зависит от политик портов провайдера и правильной конфигурации, а не от образа на маркетплейсе, и что путь официальной установки часто быстрее, чем отладка неподдерживаемой настройки с маркетплейса (читать далее). Связанные проблемы с отладкой SMTP и подводные камни YAML (курсивные кавычки!) появились в ветке «Если локальные входы отключены» (читать далее) и в каноническом руководстве по устранению неполадок с почтой (читать далее).
Практическая проблема с хранилищем: обновления не удавались из-за давления на диск и больших слоев контейнеров. В ветке приведено конкретное руководство по очистке (./launcher cleanup), а также обсуждение того, что такое базовые образы, почему накапливаются старые слои и как безопасно освободить место (читать далее).
Ошибка «Не удалось автоматически зарегистрироваться в Discourse ID» заблокировала установку, когда email был пропущен, и причиной оказались требования к HTTPS URI перенаправления; обходным путем было создание администратора через CLI и включение force_https, затем завершение настройки (читать далее).
Администраторы обнаружили защитный механизм для impersonation: существует скрытый параметр experimental_impersonation_time_limit_minutes (по умолчанию 15), который можно изменить через rails console (или через rebuild, если он помещен в config, хотя это менее удобно) (читать далее).
Вопрос о «необходимости создания каналов чата через API» был решен указанием соответствующего эндпоинта (POST /chat/api/channels) и примером рабочих параметров — это полезно для платформ, программно предоставляющих сотни сообществ (читать далее).
Пользователи заметили, что давно существующее руководство «создание отчетов об ошибках» теперь содержит мертвые ссылки на категории после реструктуризации категорий; предложенное исправление — использовать URL категорий с ID, чтобы будущие перемещения не ломали ссылки (читать далее). Ссылка на руководство: «Creating bug reports for Discourse on Meta» (читать далее).
Новый компонент темы направлен на снижение когнитивной нагрузки на администраторов путем автоматического скрытия определенных типов уведомлений в меню пользователя — особенно полезно для сайтов с большим количеством приглашений или системных уведомлений (читать далее).
Вдумчивый пост с похвалой утверждал, что включение популярных плагинов (отключенных по умолчанию, но предустановленных) на самом деле является большим плюсом: администраторы могут включать функции без прерывистых пересборок во время работы (читать далее).
david запустил крупный новостной выпуск, представляющий новую систему сборки JS для ядра Discourse (rolldown + нативные ES-модули) с значительным улучшением производительности в режиме разработки при сохранении стабильности в продакшене (читать далее). Он также предложил отлаживать несовместимые с Discourse браузеры, проверяя консоль браузера на наличие неудачных определений функций (читать далее), и обновил документацию по новой стратегии d-compat/* для привязки совместимости плагинов/тем (читать далее).
sam выпустил/объявил об улучшении качества пользовательских уведомлений: малые действия больше не учитываются как отслеживаемая/следимая активность, что снижает «спам административными уведомлениями» при массовых закрытиях и таймерах (читать далее). Он также связал отчеты о фантомных непрочитанных с путем выкатки изменения малых действий (читать далее) и направил самохостеров-отладчиков к конкретным наборам коммитов для исправления защиты middleware (читать далее).
chapoi оставался активным в ветках UX и поддержки: признавал баг фантомных непрочитанных и подтверждал, что команда работает над ним (читать далее); предлагал подробное аргументированное мнение против предпочтений вида вложенного/линейного отображения для каждого пользователя (читать далее); указывал на практические варианты для структурированных макетов (и уточнял, когда предложения применяются к спискам тем vs телам сообщений) (читать далее); и помог интегратору найти эндпоинт API создания каналов чата (читать далее).
awesomerobot объявил об улучшенном UX создания событий в плагине Calendar and Events, встроив интерактивный редактор событий прямо в редактор сообщений (читать далее). Он также помог с отладкой доступности для JAWS + сочетаний клавиш Discourse (объясняя, как программы чтения с экрана могут перехватывать нажатия клавиш) (читать далее) и высказался по поводу обсуждения заметности регистрации на мобильных устройствах, приведя более широкие паттерны UX, видимые на популярных сайтах (читать далее).
martin объявил о предстоящей выкатке включения Discourse Reactions по умолчанию, объясняя как продуктовую логику, так и то, как «предстоящие изменения» делают выкатку с низким риском более возможной, чем раньше (читать далее).
rishabh опубликовал майский отчет «Текущие проекты», обобщив работу по плагинам и текущим инициативам (читать далее) и поделился значительным успехом в удобстве использования: onebox GitHub теперь показывает статус PR inline (читать далее).
Falco внес вклад в несколько технических направлений: отметил ошибки вложенных маршрутов для расследования и назначения ответственности (читать далее); обсудил будущие варианты событий/вебхуков для артефактов Discourse AI (и связал это с предстоящими Workflows) (читать далее); прояснил поведение оптимизации изображений на клиенте и компромиссы вокруг добавления дополнительных настроек для администраторов (читать далее); и дал совет по внедрению комментариев Discourse как части более широкого подхода к интеграции (читать далее).
markvanlan продолжал итерации над вложенными ответами: публиковал исправления для сломанных вложенных ссылок и ожиданий поведения редиректов (читать далее), а также outlining направление для работы с несовместимостями, такими как голосование за сообщения, путем явного отключения его во вложенном контексте (с более долгосрочными мыслями об интегрированном голосовании во вложенных ответах) (читать далее).
zogstrip предоставил несколько быстрых исправлений: разрешил баг селектора тегов в Form Templates с разным регистром (читать далее), выпустил исправление для видимости «кто голосовал» в контексте голосования за закрытые темы (читать далее) и итерировал над крайними случаями корректности одобрения/уведомлений (читать далее).
loic опубликовал официальный указатель для майского ежемесячного обновления 2026 года, направив администраторов к полному журналу изменений (читать далее).
Спасибо за чтение, и до встречи на следующей неделе!
Редизайн редактора (альфа): унифицированное выпадающее меню «Тип поста» (#Announcements) — jordan.vidrine представил новое меню действий редактора, скрытое за флагом enable_new_composer_actions, включая перенос переключателей «шепот/без поднятия/скрыть из списка» в то же выпадающее меню для снижения эффекта «скачков при переключении режимов». Подробности см. в детальной теме.
Вложенные ответы: SEO, управление и компромиссы в макете (#Announcements, nested-replies) — вопросы касались поведения поисковых роботов и канонических URL, а также того, следует ли сохранять опцию «просмотр в виде плоского списка». markvanlan подтвердил, что опция «просмотр в виде плоского списка» была удалена после внутреннего тестирования (читать далее).
Изменение «малых действий поста» (и его последствия) (#Announcements) — изменение, скрывающее «малые действия», продолжает выявлять последствия для того, какие действия отслеживаются/наблюдаются; sam подтвердил, что оно применяется широко (включая действия скрытия/показа в списке) в теме анонсов (читать далее).
UX событий становится проще… но проблемы на мобильных остаются (#Announcements, calendar-and-events) — утверждение «создание событий стало проще, чем когда-либо» проходит жесткое тестирование в реальных условиях, с сообщениями о трудностях обнаружения на мобильных устройствах и длинных описаниях в теме анонса событий (читать далее).
Enterprise: первая итерация руководства по началу работы с Discourse AI (#Enterprise) — fsasaki поделился структурированным руководством по Discourse AI для корпоративных заказчиков, разобраным по переключателям (читать далее).
Счетчик непрочитанных показывает «Непрочитанные (14)», но список непрочитанных пуст (bug) — регрессия, влияющая на работу раздела /unread (и иногда показывающая фантомные или отсутствующие непрочитанные сообщения), была расследована, связана с изменением отслеживания «малых действий» и исправлена через коммит, на который ссылался sam (читать далее). Связанное сообщение: Вкладка «Непрочитанные» не перечисляет все темы с непрочитанными сообщениями.
Вложенные ответы + Horizon: старые ответы «залипают» при навигации через связанные темы (bug, nested-replies) — Andry_Osminin сообщил о периодической утечке состояния интерфейса, которая очищалась только после полной перезагрузки; диагностика указывала на то, что «мгновенная навигация» не сбрасывала состояние, и markvanlan отметил предстоящий PR для исправления этой проблемы (читать далее).
Карточки тем: «лайки» сломались после обновления линтера (bug, topic-cards) — RGJ заметил, что рефакторинг удалил/изменил геттеры, но оставил код, вызывающий их, что сломало отображение лайков; PR был быстро принят (читать далее).
AI Helper предлагает теги, которые не разрешены в категории (bug, ai) — AI-ассистированные предложения тегов игнорировали ограничения категории/группы тегов и позволяли выбирать недопустимые теги (которые затем приводили к ошибке при отправке). zogstrip выпустил исправление через PR (читать далее).
Миниатюры чата обходят s3_cdn_url и сливают сырые URL бакета (bug, cdn, chat) — Lilly проследила сломанные миниатюры (особенно с Cloudflare R2) до сериализаторов, не применяющих URL CDN; sam пересобрал контент на Meta, пока продолжалось обсуждение исправления (читать далее). Связанные трудности миграции на R2 всплыли снова в теме Проблема отображения URL изображений Cloudflare R2.
Вход по Passkey: «ключ безопасности не принадлежит пользователю» (bug, passkey) — кросс-сайтовая проблема (Meta + несколько других сообществ) указывала либо на регрессию Discourse, либо на изменение в вышестоящей платформе; pmusaraj расследовал, но не мог стабильно воспроизвести ошибку и запросил больше данных с Windows (читать далее).
Ошибка обновления: конфликт пространств имен группы/пользователя db:seed_fu (bug) — коллизии имен в общем пространстве имен пользователей/групп вызывали сбои обновления; martin подготовил и принял исправление (и прояснил лежащую в основе схему конфликта) в исходном отчете (читать далее).
Странные атаки ботов/спамом при регистрации: что делать, когда спам находится на уровне создания аккаунтов (Support) — администраторы сравнивали паттерны (поддельные пользовательские поля, имена пользователей типа «FirstLast1234»), тактики смягчения (ручное одобрение для TL0, запросы Data Explorer, правила Cloudflare) и компромиссы блокировки IP против побочного ущерба для VPN. В теме содержится призыв к улучшению встроенной автоматизации (читать далее). Полезные смежные ресурсы, упомянутые в теме: официальный плагин hCaptcha, запрос на поддержку Cloudflare Turnstile, руководства по борьбе со спамом, такие как немедленные действия во время спам-атаки и советы по предотвращению спама, а также рекомендации Cloudflare в лучших практиках.
«Проверка при регистрации» без плагинов на бесплатном хостинге (Support, spam, signup) — на ограниченных тарифах обсуждение сосредоточилось на том, что еще можно сделать (обязательное одобрение пользователей, AI-детекция спама и оперативное расследование), даже если нельзя устанавливать дополнительные плагины (читать далее).
UX боковой панели: «вложить» ссылки групп под сворачиваемым родительским элементом (Support, sidebar) — хотя настоящее вложение/сворачивание недоступно, тема сошлась на реструктуризации через встроенные пользовательские разделы, что решило непосредственную потребность (читать далее).
Почему я не могу установить плагины «локально» в /var/discourse/plugins на продакшене? (#Self-hosting) — ответ: это не столько заблокировано, сколько «не так работает сборка контейнера продакшена», поэтому используйте app.yml (или разверните dev-среду и восстановите резервную копию локально). См. обсуждение (читать далее) и связанные документы по установке плагинов на самохостинге и созданию/восстановлению резервных копий.
Webhooks внезапно срабатывают с задержкой ~24 минуты (user_added_to_group) (Support, webhooks) — ключевой путь отладки заключался в задержке/нагрузке Sidekiq (особенно в очереди low), с рекомендацией проверять /sidekiq на предмет состояния очередей в реальном времени (читать далее).
Установка Discourse: тест подключения «порт 443 недоступен» (и когда его можно пропустить) (Support) — сложная установка в итоге использовала флаг --skip-connection-test после проверки DNS/портов; тема также превратилась в мини-руководство для сред Virtualmin (читать далее). Связанный крайний случай установки: пропуск теста подключения не работает.
Ссылки на темы главной страницы внезапно стали меньше (побочные эффекты модернизации Foundation) (Support) — администраторы проследили неожиданные изменения размера шрифта до грядущего изменения Modernize Foundation theme и отключили его, ожидая дальнейшей доработки (читать далее).
Когнитивная ловушка очереди проверки: «Да» иногда означает «удалить спам», иногда «одобрить» (ux, review-queue) — отчет о несовместимости UX выделил риск мышечной памяти при обработке больших очередей; обсуждение сосредоточилось на переформулировке подсказок так, чтобы «Да» всегда подтверждал проблему (читать далее).
Импорт темы: «branch: main» — это заполнитель (не значение по умолчанию), что приводит к неправильному выбору ветки (ux, fixed) — тонкость формы для администраторов вызвала реальную путаницу при обновлениях; chapoi выпустил исправление текста/UX после прояснения предполагаемого поведения «nil означает автоматическую ветку d-compat» (читать далее).
Кнопка «Новая тема» все еще появляется там, где пользователи не могут создавать темы (и почему это спорно) (ux) — дебаты между снижением трения («позволить пользователям открыть редактор и опубликовать в другом месте») и избеганием путаницы («не показывать основной CTA, который не может быть выполнен»). В теме также всплыли обходные пути и newly добавленная скрытая настройка, восстанавливающая старое поведение (читать далее).
Модернизация темы Foundation: обратная связь по доступности и последующие действия (#Announcements) — напряженная, но конструктивная тема по доступности привела к признанию задержки обратной связи и набору целевых исправлений, связанных с WCAG, которые были приняты через PR, на который ссылался jordan.vidrine (читать далее).
jordan.vidrine на этой неделе руководил несколькими направлениями дизайна и UX: объявил о редизайне действий в альфа-версии редактора в новом выпадающем меню действий редактора, оперативно исправил визуальный баг, возникший в результате этой работы (подробнее), и пообещал учесть давние замечания по доступности в теме Модернизация темы Foundation перед публикацией пакета исправлений (подробнее). Также он разъяснил, почему вложенные ответы выглядят шире (из-за удаления временной шкалы) в теме о вложенных ответах.
markvanlan помогал формировать ожидания и направлять детали реализации вложенных ответов, включая подтверждение удаления опции «просмотр в плоском виде» (она предназначалась только для внутреннего сравнения/тестирования) в теме Введение вложенных ответов, и предупредил о предстоящем исправлении проблем со состоянием навигации, специфичных для Horizon, в теме сообщения остаются отрендеренными после навигации.
Falco предоставил четкие технические исправления и разъяснения: заметил несоответствие в скрипте сервера («Discourse не использует Puma») в теме Скрипт проверки здоровья Discourse и разъяснил, что предложения категорий и тегов помощника ИИ основаны на эмбеддингах (а не на промптах LLM) в теме Как настроить предложения тегов и категорий ИИ.
Предварительный просмотр переработанной панели администратора (dashboard, #Announcements): lindsey поделилась первым взглядом на более модульную панель (основные моменты, закрепляемые отчеты/Data Explorer, трафик, вовлеченность), и тема быстро переросла в обсуждение какие KPI должны быть настраиваемыми для каждого сообщества (например, внутренние vs публичные сценарии поддержки). читать далее
Представляем единый новый вид для списка тем (#Announcements): martin объявил о «unified new» как о будущей настройке по умолчанию, объединяющей ментальную модель New vs Unread в более понятные подвкладки (Темы / Ответы / Все). awesomerobot прояснил поведение по умолчанию и объяснил, почему это будет проще объяснить участникам. читать далее
GIF-анимации переходят в ядро Discourse! (#Announcements): davidb объявил, что выборщик GIF-анимаций переходит из компонента темы в ядро (теперь через Klipy), с заметками по миграции для хостинговых/самохостинговых решений и последующими обсуждениями крайних случаев, таких как ограничения на загрузку с определенных доменов и переопределения переводов. читать далее
Livestream теперь часть плагина Events (calendar-and-events, discourse-livestream, #Announcements): lindsey поделилась тем, что функциональность livestream была интегрирована в плагин Events (единая система, перенесенные настройки и доступность на хостинговых тарифах). читать далее
Тестирование Boosts на Meta приостановлено (пока что) (#Announcements): martin подтвердил, что Boosts временно отключены на Meta, пока команда обдумывает, как boost/likes/reactions могут эволюционировать в более связную систему в будущем. читать далее
Улучшения функции «Решено» продолжают развиваться (solved, #Announcements): lindsey опубликовала обновления, делающие взаимодействие «У меня тоже эта проблема» настраиваемым для каждой категории и более простым для переименования в настройках категории. читать далее
Рекламные блоки требуют много места в темах с вложенными ответами (nested-replies, bug): Moin сообщил, что рекламные блоки в списке тем становятся визуально навязчивыми (и иногда сломанными) внутри макетов вложенных ответов; Falco отследил проблему до компонента пользовательских рекламных блоков списка тем и выпустил исправления в PR компонента. читать далее
Ошибка локализации в повторяющихся событиях (calendar-and-events, bug): отсутствующая интерполяция %{weekday} вызывала отображение повторяющихся событий как «Каждый [отсутствует…]». awesomerobot указал на недавнее исправление, и автор подтвердил, что обновление решило проблему. читать далее
Регрессия: PDF-файлы скачиваются по клику вместо открытия (pdf-previews, bug): nathank сообщил, что PDF-файлы пытаются скачаться, а не открыться в новой вкладке, когда включены превью; zogstrip привел ссылку на исправление несоответствия поведения display между S3 и локальным хранилищем. читать далее
Проблемы с поиском пользовательских полей пользователей в каталоге (bug): pfaffman сообщил, что поиск в каталоге /u не учитывал пользовательские поля, хотя глобальный поиск работал; zogstrip привел пути выполнения кода к согласованности через исправление в ядре. читать далее
SVG-иконки значков не отображаются после импорта (badges, bug): AkarinLiu столкнулся с крайним случаем Font Awesome SVG (отсутствие размеров → рендеринг 0px). awesomerobot добавил исправление на стороне Discourse, чтобы эти иконки отображались корректно. читать далее
Блоки правой боковой панели: блок тегов конфликтует с выпадающими списками тегов (right-sidebar-blocks, bug): воспроизведение на try.discourse привело к исправлению на стороне плагина; martin привел ссылку на PR, решающий это поведение. читать далее
Демо Try Discourse отправляет ЛС «аккаунт больше не на паузе» (Support): пользователи заметили повторяющиеся автоматические ЛС и «пустое» состояние демо; david привел ссылку на исправление и отметил, что оно было развернуто на try.discourse.com. читать далее
Кнопка «Удалить категорию» более заметна, чем «Сохранить» (categories, ux): chapoi предложил переместить «Удалить категорию» в более понятную «Зону опасности» и ограничить её доступ соответствующей вкладкой; lindsey согласилась, что расположение кажется странным на каждой вкладке. читать далее
Вложенные ответы: корневое сообщение слишком узкое на мобильных устройствах (nested-replies, Support): отзыв о том, что исходное сообщение становится тесным при отображении с тем же левым отступом аватара, что и ответы; Falco согласился, что блок автора должен смещаться вверх (стиль flat-topic) для читаемости. читать далее
Теги и группы тегов заслуживают более заметного места в меню администратора (tags, tag-groups, ux): RGJ утверждал, что теги/группы тегов кажутся «случайно обнаруживаемыми» и должны быть более явно представлены в новой навигации администратора под разделом Content. читать далее
Почему у кнопки «Ответить» есть эффект перехода фона? (ux): глубокое погружение в несоответствие тонкой анимации при наведении; awesomerobot объяснил, что это унаследованное поведение, предназначенное для привлечения внимания к элементу управления ответом при наведении, и теперь оно «открыто для обсуждения». читать далее
Индикаторы «нового контента» в категориях («pastille») (Support): gilles спросил, почему категории не всегда показывают маркер «новое/непрочитанное» на домашних страницах, ориентированных на категории; awesomerobot отметил, что он существует в некоторых элементах интерфейса (например, в боковой панели), но не в других. читать далее
Скрыть пользователя-администратора из каталога пользователей и лучших участников (user-directory, Support): нюансированная тема о том, почему /u?exclude_groups=admins по-разному ведет себя для анонимных пользователей, когда членство в группе скрыто; david объяснил компромиссы модели безопасности, и автор поделился CSS-обходными путями для скрытия конкретных строк для анонимных. читать далее
Настройка AI Translation изменена: «Переводимые категории» → «Исключенные категории» (ai, dynaloc, Support): Sara_Carmona_y_Lladó спросила, как определяются объем и стоимость; Moin объяснил логику миграции и предложил запросы Data Explorer для аудита объема переводов. читать далее
Отсутствует вторичный адрес электронной почты (Support): JDParker не мог добавить второй email; решение заключалось в том, что email_editable (или переопределения auth) могут полностью скрыть интерфейс. читать далее
Изменить «нажмите здесь» в подвале email-дайджеста (Support): newbit1337 не мог найти строку; awesomerobot указал на конкретный ключ i18n (user_notifications.digest.click_here) и место, где он встраивается в финальный шаблон дайджеста. читать далее
TooManyRecipientsError при отправке email на псевдоним группы (email, Support): pHneutre обнаружил, что входящая почта отклоняется, когда псевдоним группы превышает лимиты получателей по умолчанию; chapoi связал это с настройками защиты от злоупотреблений и соответствующим пороговым значением настройки сайта. читать далее
Бесплатный хостинговый сайт: нет доступа к функциям администратора (free-plan, Support): whitelabel был вошел в «неправильную» сессию Discourse ID; awesomerobot посоветовал выйти/войти через id.discourse.com, чтобы восстановить доступ к аккаунту администратора. читать далее
Мост протокола Matrix для чата (возрожден с прототипом, созданным LLM) (chat, #contribute:feature): pmusaraj поделился концепцией моста чата Discourse↔Matrix; тестирование быстро выявило настройки доступа к чату TL0 по умолчанию и подводные камни федерации/видимости комнат. читать далее
Расширение блоков сообщений чата (запрос API плагина) (chat, plugin-api, development): Anton_Akhmerov предложил сделать блоки чата расширяемыми, чтобы плагины могли регистрировать новые типы структурированных карточек (вместо хакинга внутренних механизмов или опоры на Markdown). читать далее
AI Tools Test Runner: поведение портов HTTP/HTTPS (rest-api, ai, Support): Falco прояснил текущее поведение: только HTTP→80 остается HTTP; другие порты по умолчанию используют HTTPS, что может удивлять при тестировании http-URL. читать далее
UX импорта темы: вводящее в заблуждение поле «branch» (ux): david добавил ясности, чтобы администраторы могли видеть как установленную ветку, так и разрешенную целевую ветку во время обновления темы, снижая путаницу между d-compat и main. читать далее
Усилия по созданию плагина рамок аватаров (рамки как в Discord Nitro) (Support): старый вопрос «где я могу найти рамки аватаров?» перерос в новый плагин — asa создал и опубликовал плагин рамок аватаров в стадии разработки и предложил поделиться им с сообществом. читать далее
Модернизация темы Foundation продолжается (#Announcements): Moin опубликовал плотный набор наблюдений о согласованности интерфейса (границы, отступы, усечение). jordan.vidrine подтвердил, что является намеренным, и привел ссылку на PR, который решит оставшиеся вопросы. читать далее
Поделиться ранней, очень экспериментальной версией переработанной панели управления и собрать отзывы о том, какие KPI администратора должны быть настраиваемыми для каждого сообщества (превью панели администратора, а также дополнительные вопросы в посте 4).
Подтвердить, что прямые трансляции теперь интегрированы в раздел Событий (с заметками о хостинге и поведением при миграции) в официальном объявлении (объединение прямых трансляций).
Поддержать предложение по улучшению пользовательского опыта: перенести деструктивные действия с категориями в более понятный раздел «Зона опасности» (Удаление категории UX).
Опубликовать инкрементальные обновления для функции «Решено», чтобы администраторы могли настраивать индикатор «у меня тоже» для каждой категории (обновление функции «Решено»).
Помог объяснить логику и определения за понятием «единое новое» и путаницей вокруг Новое / Непрочитанное / Непросмотренное, включая то, как новые метки направлены на снижение когнитивной нагрузки (объяснение «единого нового»).
Выпустить несколько быстрых исправлений UX и ошибок в основных компонентах и официальных плагинах, включая:
исправление отсутствующих размеров SVG значков, из-за которых иконки значков были невидимыми (контекст исправления SVG значков),
Уточнить пробелы в поведении напоминаний о событиях и обсудить, как могли бы выглядеть «электронные письма с напоминаниями», если бы они соответствовали настройкам уведомлений по электронной почте (обсуждение функции напоминаний о событиях по электронной почте).
Указать на то, что ответ discobot о «цензурированных именах пользователей» был неверным, уточнив, что просмотренные/заблокированные/цензурированные слова не применяются к именам пользователей, и текущей опцией являются зарезервированные имена пользователей (с исключениями для администраторов) (уточнение по цензуре имен).
Расследовать странное поведение при ежедневных восстановлениях на try.discourse после отчетов о повторяющихся личных сообщениях «аккаунт больше не заблокирован» (подозрение на восстановление try.discourse).
Предоставить структурированное руководство по устранению неполадок для отчета «уведомления не приходят» и подчеркнуть, что обновление очень устаревшей установки является вероятным путем решения проблемы (устранение неполадок с уведомлениями).
Объявить, что «единое новое» становится поведением списка тем по умолчанию через раздел «Предстоящие изменения», включая скриншоты и механику внедрения (объявление о «едином новом»).
Временно отключить Boosts (Усиления) на Meta и обозначить ожидания, что эта функция вернется после более целостной работы над дизайном лайков/реакций/усилений (Boosts приостановлены, а позже успокоительные слова в посте 90).
Исправить проблему в плагине Right Sidebar Blocks (Блоки правой боковой панели), связав и объединив соответствующий PR (исправление блока тегов боковой панели).
Подтвердить, что «уведомление о предстоящих изменениях для скрытого изменения» является ошибкой, и согласиться, что его следует исправить (ошибка уведомления о предстоящих изменениях).
Перенаправить запросы поддержки «когда Foundation обновится везде?» в каноничную тему модернизации и описать жизненный цикл от Предстоящего изменения → стабильной версии → постоянной (руководство по внедрению Foundation).
Поделиться нюансами реализации вокруг разрешений групп в темах/компонентах, отметив, что currentUser?.groups ненадежен, поскольку включает только видимые группы (нюанс видимости групп).
Помочь пользователям разобраться с множеством регрессий/исправлений в пользовательском опыте и на стороне администратора, включая:
подтверждение изменений в расположении кнопки GIF (перемещена в обычную панель инструментов) и направление пользователей к правильному справочному материалу (уточнение по панели инструментов GIF),
предоставление PR с исправлением регрессии метки боковой панели событий («Новая тема» против «Новое событие») в Horizon (исправление метки боковой панели событий).
Помочь с автоматизацией администратора и ограничениями для электронной почты, диагностировав, почему псевдонимы групп могут вызывать отказы TooManyRecipients (Слишком много получателей), и указав на соответствующую настройку сайта (глубокое погружение в TooManyRecipients).
Предоставить рабочий SQL-шаблон для привязки выдачи значков, запускаемых через SQL, к конкретной теме/посту (post_id), решив вопрос «привязать значок к ID темы» (SQL-шаблон для значков).
Подтолкнуть отчет о проблеме в интерфейсе Data Explorer к самому простому первому шагу: обновиться до последней версии после недавнего обновления плагина (предложение обновить Data Explorer).
Начать продуманное обсуждение моделей владения корпоративными сообществами — должно ли сообщество находиться в ведении Маркетинга/Поддержки/Продукта или быть автономным — и ответить на комментарии о мандате, границах и принятии решений в интересах участников (модели владения сообществом).
Объяснить стратегическое обоснование бесплатного тарифа Discourse как уровня привлечения в модели freemium, который часто действует как неограниченная пробная версия и путь к удержанию пользователей (обоснование бесплатного тарифа).
Ответить на вопрос «в чем смысл основных групп?», процитировав каноничные цели (стили, отличительные знаки, идентичность, заголовок по умолчанию) и предоставив ссылку на справочное объяснение (назначение основных групп).
Отметить ожидания по времени в выходные на ветке поддержки вложенных ответов («вы поймали нас в выходные»), пока отчет ожидал более глубокого технического анализа (тайминг поддержки вложенных ответов).
Намекнуть на грядущие «Workflows» (Рабочие процессы) как на значительный скачок в автоматизации (триггеры/действия/потoki) в обсуждении автоматизации для создания сообществ (намеки на рабочие процессы).
Объявить о миграции поддержки GIF в ядро с использованием Klipy, с четкими инструкциями для клиентов с хостингом и self-hosted, а также дорожной картой улучшения скриптов миграции в ближайшие пару недель (объявление о переносе GIF в ядро).
Дать обратную связь по деталям миграции, таким как сопоставление настроек провайдеров (Giphy → Klipy) и возможные обновления для обработки disabled_image_download_domains и переопределений переводов (последующие вопросы по миграции).
Ответить на проблемы с расположением рекламы в вложенных ответах и задокументировать, почему предыдущие попытки не решили их полностью, а затем предоставить конкретные ссылки на PR, которые устраняют проблемы с отступами/расположением в правильном компоненте (реклама + вложенные ответы).
Подтвердить, что переключение языка локализации контента требует выбора локали через cookies (согласно документации), когда пользователь сообщил, что переключатель «ничего не делает» (требование cookie для локализации контента).
Согласиться с тем, что макет OP (первого сообщения) в вложенных ответах на мобильных устройствах должен быть скорректирован так, чтобы информация об авторе располагалась выше (а не рядом) с первым сообщением (ширина OP на мобильных).
Уточнить текущие ограничения/поведение в AI Tools Test Runner относительно предположений о протоколе/порту (только HTTP на порту 80; другие по умолчанию используют HTTPS) (поведение тестера инструментов ИИ).
Принять участие в обсуждении редизайна панели управления (и пошутить с помощью GIF), одновременно сигнализируя о том, что настройка KPI находится на горизонте, но не является срочной (участие в обсуждении панели управления).
Подтвердить улучшения в AI-генерируемых переводах тегов на Meta после тщательного отчета, отметив, что предоставленный список позволил быстро исправить проблему (улучшения перевода тегов).
Признать сложный крайний случай локализации контента, где язык интерфейса и язык переведенного контента могут расходиться между вкладками, и указать, что это может быть быстро исправлено (отчет о несоответствии языков).
Подтвердить, что команда расследует неработающие ссылки/упоминания категорий, возникшие в результате изменений структуры категорий/подкатегорий и повторной генерации (признание проблемы со ссылками на категории).
Подтвердить, что отчет об ошибке, связанной с тем, что переведенные ссылки на посты не используют переведенный язык, находится в поле зрения команды (ошибка переведенных ссылок).
Помочь прояснить модель безопасности, стоящую за скрытием членства в группах, и объяснить, почему анонимные пользователи не могут надежно использовать exclude_groups без утечки данных о членстве, — при этом признавая реалии конфигурации (открытая регистрация против регистрации по приглашениям) (объяснение exclude_groups).
Предоставить исправление, которое остановило спам-рассылку личных сообщений «аккаунт больше не заблокирован» на try.discourse, и подтвердить развертывание (исправление try.discourse + заметка о развертывании).
Расследовать сбои в тестах запуска CI с SKIP_DB_AND_REDIS и проработать попытки воспроизведения и настройки среды с теми, кто сообщил о проблеме (устранение неполадок запуска CI).
Улучшить UX импорта тем, добавив возможность увидеть, какая ветвь действительно установлена, а какая будет целевой во время проверки обновлений (PR по UX ветвей тем).
Подтвердить, что хостинг Discourse Free (Бесплатный) доступен, и направить пользователей на официальную страницу с ценами, когда их спрашивали о существовании бесплатного хостинга (подтверждение бесплатного тарифа).
Исправить поведение RSVP/календаря, при котором «Мои события» могли показывать каждое предстоящее вхождение, даже если RSVP было дано только на следующее, и предоставить ссылку на PR с исправлением (исправление календаря «Мои события»).
Устранить регрессию предварительного просмотра PDF, выявив несоответствие между хранилищем S3 и не-S3, и предоставив ссылку на PR, который стандартизирует поведение (исправление регрессии PDF).
Исправить несоответствия в поиске каталога пользователей для пользовательских полей, синхронизировав соответствующие пути кода, после отчета о регрессии (исправление поиска каталога).
Сообщества поддержки видят «резкое падение» вовлеченности? Вдумчивая тема о том, вытесняют ли LLM модели взаимопомощи, и как сообщества могут сместиться в сторону принадлежности, событий и человеческой ценности — подробнее
Форумы, запрещающие контент, сгенерированный ИИ/LLM: какие политики действительно работают? Появились практические паттерны модерации (ясность политики, enforcement case-by-case и где «контент ИИ» пересекается со спамом) — подробнее
Запуск UX/помощи на основе поискового ключа (тема vs рабочие процессы)? Обсуждение того, могут ли поисковые запросы становиться триггерами рабочих процессов (с учетом производительности) — подробнее
Опционально разрешить другим группам открывать/закрывать темы: запрос, направленный на делегирование рабочих процессов с таймерами без предоставления полных прав модератора/админа — подробнее
chapoi реализовал и поддерживал функции в областях ИИ, настроек, UX и эксплуатации:
Объявил об обновлении встроенных подсказок ИИ-помощника в ai, #announcements — читать далее
Помог устранить неисправность при длительном сбое восстановления и указал на первопричины, прежде чем другие добавили более глубокие шаги по работе с БД (#self-hosting, backups) — читать далее
Подтвердил и затем завершил реализацию настройки сайта type: group (переход от «только текст» к полноценному селектору) — читать далее
Отреагировал на отзывы о редизайне панели управления и прояснил, как должны работать разделы/фильтры (dashboard) — читать далее
Добавил в очередь улучшение электронной почты, чтобы уведомления о событиях включали описание (email) — читать далее
HAWK объединил стратегию, работу с сообществом и операционные «рабочие решения, масштабируемые на будущее»:
Опубликовал сопутствующую дискуссию об использовании ИИ в операциях удаленных компаний (blog) — читать далее
Привнес мышление «из первых принципов» в дискуссию о снижении вовлеченности сообщества (Community Building) — читать далее
Поделиться ожиданиями относительно миграции/SEO и советами по гигиене редиректов при падении рейтинга в Bing (#support:migration, seo) — читать далее
Предложил практическое рабочее решение, позволяющее организаторам, не являющимся администраторами, «присваивать значки» через групповое управление членством (badges) — читать далее
Участвовал в дискуссии о управлении/владении о том, для чего предназначен Meta (#enterprise) — читать далее
awesomerobot занимался немного всем: ответами сообществу, подтверждением UX и быстрым слиянием исправлений багов:
Добавил важную перспективу «цикла деградации информации» в тему о снижении вовлеченности (Community Building) — читать далее
Исследовал и слил защиту для граничного случая создания события, связанного с тестовыми именами пользователей (calendar-and-events) — читать далее
Воспроизвел и объяснил проблему токенизации поиска HTML-тегов (search) — читать далее
Продолжил работу над ограничениями UX страниц категорий и тем, какие макеты сообщают о активности, а какие нет (categories) — читать далее
Помог пользователям разрешить путаницу с регистрацией на хостинге/резервированием домена (Support) — читать далее
Falco продвигал вперед поддержку мобильных/PWA и конфигурацию ИИ:
Двинул вперед функцию разделения в Discourse для Android PWA с прототипом PR и демо (pwa) — читать далее
Объяснил, как сократить использование токенов ИИ, ограничив инструмент поиска агента по категориям (ai) — читать далее
Диагностировал проблемы конфигурации конечных точек ИИ (случаи «пустой ошибки») и указал на правильные конечные точки/журналирование (ai) — читать далее
Продолжал доработку возможностей плагина Resenha (добавление видео/совместного использования экрана через настройки) (#plugin) — читать далее
sam улучшил повседневные эксперименты с UX и внутренние инструменты:
Поделиться неформальным компонентом темы предварительного просмотра эмодзи при наведении для лучшей читаемости пользовательских эмодзи (emoji) — читать далее
Перенес рабочий процесс ежедневного дайджеста на новую настройку на основе рабочих процессов (более легкая итерация/тестирование промптов) (#site-feedback) — читать далее
nat внес контекст аналитики + улучшения качества панели управления:
Связал резкое падение посещений пользователей с майским основным обновлением Google Search 2026 года (полезно для всех, кто отлаживает «внезапные падения») — читать далее
Пролил свет о том, как включиться в обновленную панель управления через Предстоящие изменения (dashboard) — читать далее
Отметил улучшенные эвристики графиков диапазона дат (с благодарностью за отзывы сообщества) (dashboard) — читать далее
southpaw разжигал и формировал долгожданный мобильный рабочий процесс:
Повторно открыл дискуссию о целевом объекте разделения для Android с конкретными идеями UX-потока (опции новой темы/ответа/ЛС) (pwa) — читать далее
Bas помог направлять ранние диагностические вопросы в теме о снижении вовлеченности:
Попросил уточнить, какие именно метрики падали (просмотры страниц/темы/активные пользователи), сохраняя дискуссию на земле (Community Building) — читать далее
pmusaraj предоставил важное обновление по решению платформы и подтолкнул мобильную работу вперед:
Объявил, что ActivityPub отключен на Meta (в то время как поддержка плагина продолжается в других местах), ссылаясь на путаницу/низкое использование (activitypub) — читать далее
Подтвердил, что поддержка целевого объекта разделения PWA может быть расширена для приложения Discourse Hub (отдельный процесс, но в поле зрения) (pwa) — читать далее
Спасибо за прочтение, и увидимся на следующей неделе!
Выпуски и заметки о продукте, которые стоит прочитать
Discourse опубликовал ежемесячное обновление дорожной карты в разделе #announcements с темой Текущие проекты — июнь 2026: прогресс вложенных ответов, работа над «блоками» тем и многое другое подробнее
Чат получил новый интерфейс для атрибуции реакций (наведите курсор или выполните долгое нажатие, чтобы увидеть, кто отреагировал) в разделе #announcementsподробнее
Создание прямых эфиров в Событиях стало проще: теперь это переключатель + URL (тег livestream больше не нужен) в разделе #announcementsподробнее
Быстро были выпущены несколько исправлений для календаря/событий, включая проблему утечки событий из непубличных тем в календарь (теперь исправлено) подробнее
Продолжали поступать отзывы по ИИ и локализации: опасения по поводу отчета о прогрессе перевода подробнее, а также вопросы о поведении языка по умолчанию подробнее
Интересные темы
#announcements
rishabh опубликовал тему Текущие проекты — июнь 2026, описывающую, над чем сейчас работает Discourse (включая работу над «блоками» тем и текущие улучшения вложенных ответов), с первыми вопросами о документации и точках входа для экспериментов подробнее
davidb представил новое всплывающее окно для реакций в чате, чтобы вы могли видеть всех пользователей, отреагировавших (и фильтровать по типу реакции), пока что внедряемое как экспериментальное изменение подробнее
awesomerobot объявил, что Прямой эфир теперь является опциональным переключателем при создании события (на основе URL, с миграцией для существующих тем с тегом livestream) и описал изменения в API для разработчиков подробнее
#self-hosting
Неожиданно жаркая дискуссия по теме установки плагинов без сторонних хостингов завершилась практическими вариантами: монтирование томов хоста в /plugins для локального развертывания или копирование кода через rsync/cp вместо git cloneподробнее
Администратор self-hosted инстанса спросил, можно ли отключить обновления Discourse после того, как плагины сломались; основной вывод заключался в том, что ./launcher rebuild appявляется механизмом обновления, а фиксация версии требует использования фиксированной ссылки (ветка/тег/хэш коммита) с реальными компромиссами в поддержке и безопасности подробнее
После миграции аватаров на S3-совместимый Cloudflare R2, Lilly разбиралась, почему загрузка аватаров может занимать 3–4 секунды, включая изменение размера на лету против поведения avatar_proxy, которое может обходить ожидания CDN подробнее
Было прояснено заблуждение относительно бизнес-плана: Discourse имеет лицензию GPL и может быть размещен самостоятельно без платного плана, а основные функции, такие как SSO и геймификация, также доступны при self-hosting подробнее
Self-hosted пользователь, пытавшийся использовать внутренние конечные точки ИИ (LiteLLM), столкнулся с защитой от SSRF (FinalDestination::SSRFDetector::DisallowedIpError) и исследовал тонкости того, что DISCOURSE_ALLOWED_INTERNAL_HOSTS требует имя хоста или IP в зависимости от используемого URL подробнее
Франкоязычный отчет гласил, что ответы Ask Discourse стали хуже в последнее время; сотрудники подтвердили смену модели на локально размещенную модель с открытыми весами («DeepSeek v4 flash»), оптимизированную для устранения неполадок, а не для задач разработки подробнее
Проблема «Почтовые задания не выполняются» оказалась связана с проблемой CSS в электронной почте: псевдоселекторы вроде a:visited могут нарушить инлайнинг CSS (ошибки Nokogiri), поэтому CSS для писем должен избегать селекторов, которые нельзя инлайнить подробнее
Вопрос «Куда делись темы-баннеры?» был решен: темы-баннеры по-прежнему существуют, но не могут использоваться в непубличных категориях, поскольку баннеры глобальны для всех пользователей подробнее
Путаница с конфигурацией Discourse Embed свелась к определениям: discourseUrl — это форум, а discourseEmbedUrl — это страница-хост, где находится embed (и это должен быть реальный канонический URL) подробнее
Регрессия, при которой кнопка «Новая тема» не разворачивает текстовую метку обратно после изменения размера между десктопным и мобильным видами, была быстро воспроизведена и исправлена через PR ядра подробнее
Полировка интерфейса: выпадающий список «Отклонить» имел странное поведение с отступами/обрезкой в разных темах, вероятно, связанное с изменениями модернизации, повлиявшими на намеренный дизайнерский выбор подробнее
Поступило несколько отчетов о наложении заголовка/иконки ИИ при редактировании деталей темы (наложенные иконки / неверно позиционированная кнопка предложения заголовка), со ссылками на базовую работу по интеграции ИИ в редакторе подробнее
#feature
Хостинговый клиент Pro попросил внешнее хранилище видео (Mux/Vimeo/YouTube); в обсужжении были картированы ограничения (нет пользовательских плагинов на Pro) и рассмотрены возможные обходные пути, включая брокерскую загрузку через Workers как безопасный слой для скрытия токенов подробнее
Запрос добавить «Пожаловаться на сообщение» в Full-App Embed получил положительный ответ: режим embed намеренно скрывает действия, чтобы подходить для разнообразных сайтов-хостов, но флаги могут стоить того, чтобы их вернуть (возможно, с конфигурацией) подробнее
Администраторы локализации попросили лучшего контроля над языками по умолчанию (fallback locales) (например, «показывать английский для неподдерживаемых языков, даже если по умолчанию финский»), и сотрудники подтвердили, что языки по умолчанию пока не поддерживаются подробнее
Вложенные ответы + ответы по электронной почте изначально выглядели так, будто сообщения «пропали» или неправильно вплетены в ветку; обновление решило наблюдаемое поведение, подтверждая, как быстро развивается функция вложенных ответов и как маркировка версий может вводить администраторов в заблуждение подробнее
Узкое место при редактировании длинных сообщений (таймауты при сохранении правок ~100k символов из-за сложности diff) теперь смягчено механизмом «diff слишком сложный», предотвращающим жесткие сбои, сохраняя при этом поведение версий подробнее
Небольшая регрессия кодирования: страница Oops отображала HTML-сущности вроде ’ в заголовках популярных тем вместо правильной пунктуации подробнее
Баг конфиденциальности календаря: события из непубличных тем по-прежнему были видны в календаре; исправление было выпущено оперативно после отчета подробнее
#data-and-reporting
Администраторы перевода ИИ спросили, почему график прогресса перевода выглядел «застрявшим» или вводящим в заблуждение; кэширование было введено из-за таймаутов на крупных сайтах, и двухэтапный процесс (определение языка → переводы) создает реальную путаницу при настройке подробнее
#site-feedback
На Meta обсуждалось, должен ли Вклад > Функции оставаться смешанным пространством (открытое обсуждение продукта и предложения, основанные на голосовании), или следует ли перенести/расширить обсуждение в другие категории, такие как UX, чтобы снизить давление «закрыть как выполненное» подробнее
Баг рендеринга локализации: аватары в цитатах ломаются в переведенных сообщениях, с примерной темой, показывающей проблему на нескольких языках и в темах, богатых цитатами подробнее
#plugin (и #theme-component)
Отзывы по Discourse Reactions сфокусировались на снижении трения: «нажмите, чтобы присоединиться к существующей реакции, как в Slack/Discord», лучшая обнаруживаемость категорий эмодзи и вопрос, должны ли «часто используемые» быть привязаны к аккаунту, а не к браузеру подробнее
Продолжается поддержка компонентов тем: Миниатюры списка тем получили обновление с исправлением, и пользователи поделились CSS-подходами для скрытия миниатюр-заглушек на мобильных устройствах для тем без изображений подробнее
Помог закрыть вопрос по «отсутствию стороннего хостинга плагинов», указав на монтирование томов в каталог плагинов контейнера как на жизнеспособный локальный рабочий процесс подробнее
Уточнил, что Discourse не обновляется автоматически — ./launcher rebuild app является основным путем обновления — и обсудил реалии фиксации версии Discourse при сохранении совместимости плагинов подробнее
Продолжил устранение неполадок с внутренними конечными точками ИИ и защитой от SSRF, подчеркивая правильную конфигурацию разрешенных хостов (ожидания имени хоста против IP) подробнее
Объяснил, почему график прогресса перевода ИИ может вводить в заблуждение на начальном этапе (кэширование + этап определения языка не показан) и предложил настроить скорость заполнения в зависимости от бюджета подробнее
Ответил на вопрос, почему темы переводятся «быстрее», чем сообщения, при схожем размере пакетов и объеме сообщений на тему, и как настроить max-age/скорость заполнения, чтобы сократить разрыв подробнее
Подтвердил доступность функций при self-hosting: SSO и геймификация являются базовыми и доступны без платных планов при self-hosting подробнее
Установил ожидания по SEO и вложенным ответам: рендеринг для краулеров недавно вернулся к плоскому контенту, но краулер, понимающий вложенность, пока не является приоритетом подробнее
Отметил крайний случай ИИ-саммари как #wontfix: HTML-комментарии могут быть включены в саммари, и компромиссы предобработки того не стоят (администраторы могут настроить промпты) подробнее
Разрешил путаницу с конфигурацией embed, четко разделив discourseUrl и discourseEmbedUrlподробнее
Выпустил быстрое исправление для адаптивной кнопки «Новая тема», метка которой не возвращалась после изменения размера окна подробнее
Объяснил поведение редактора относительно голосования за сообщения: категория «Идеи» управляет настройками по умолчанию, но голосование за сообщения остается глобальным для сайта, и предоставил фрагмент компонента темы для скрытия переключателя вне категорий «Идеи» подробнее
Разгадал загадку поддержки: темы-баннеры по-прежнему существуют, но они требуют, чтобы тема находилась в публичной категории (без ограниченных разрешений группы) подробнее
Диагностировал сбои почтовых заданий Sidekiq как проблему псевдоселектора CSS в электронной почте (a:visited), которая нарушает инлайнинг CSS подробнее
Направил пользователей перевода к Discourse AI как к предпочтительному пути в будущем (плагин переводчика поддерживается для исправления багов/безопасности, но больше не является рекомендуемым подходом) подробнее
Опубликовал исправления в процессе для проблем UX Событий (поведение изображений + согласованные переключатели расширенного режима) подробнее
Уточнил, как идентифицировать/отключить различные баннеры установки приложения / PWA, включая настройку native_app_install_banner в соответствующем случае подробнее
Объявил о двух заметных улучшениях продукта: всплывающее окно списка пользователей реакций в чатеподробнее и Прямой эфир как атрибут событияподробнее
Обновил и поддерживал компоненты тем, такие как Миниатюры списка темподробнее
Включился в тему «плагины только для локального использования» на раннем этапе с подсказками, а позже указал на смену тона и призвал к деэскалации, сохраняя при этом фокус на решении подробнее
Помог прояснить запутанную маркировку версий вложенных ответов («2026.6.0-latest» не обязательно совпадает с началом changelog), призывая к обновлениям для решения проблем с исчезающими ветками подробнее
Расследовал визуальную регрессию модернизации Foundation, влияющую на отображение кнопок, привязал исправление ядра и предложил обходной путь через переключатели Предстоящих изменений подробнее
Реагировал на обратную связь по UI о отступах в выпадающем списке «Отклонить», отмечая, что это было изначально намеренным, но, возможно, сломанным работой по модернизации подробнее
Помог с путаницей в UI хостинговых планов относительно «вариантов обновления» и предложил альтернативные пути для администраторов в ожидании обратной связи от ответственной команды подробнее
Подтвердил, что Ask Discourse недавно сменил модель (на локально размещенную модель с открытыми весами) и пообещал валидацию регрессий качества подробнее
Глубоко взаимодействовал с отзывами по отчетности о переводе и указал, что улучшения запланированы, включая лучшее руководство по Data Explorerподробнее
Обсуждал направление настроек языка интерфейса/контента, предлагая улучшения интерфейса и целевую реализацию в ближайшей перспективе подробнее
Помог объяснить поведение языка по умолчанию для локализации контента (нет языка по умолчанию, если отключено; «использовать английский» подразумевает установку английского как языка по умолчанию) подробнее
Попросил целевые диагностические данные по странности анонимного доступа на /, когда категории ведут верхнее меню (коды состояния + безопасный режим + исключение плагинов) подробнее
Честно адресовал ограничения хостинговой загрузки видео (интеграции Mux существуют, но не планируются для нижних тарифов) и указал на надстройки хранилища как альтернативу обновлению тарифа подробнее
Продвигал вложенные ответы вперед, обсуждая будущие потребности в конфигурации, такие как настройки для каждой категории для глубины/лимита, чтобы подходить под разные стили дискуссий подробнее
Открыл важное мета-уровневое обсуждение процессов: где должно находиться «открытое обсуждение продукта» теперь, когда Вклад > Функции становится все более ориентированным на голосование/закрытие подробнее
Реагировал на запросы относительно действий UI в embed (например, возвращение флагов), спрашивая обоснование и ограничения, чтобы embed оставался чистым, но функциональным подробнее
Отрегулировал UX категорий на Meta, изменив сортировку по умолчанию в Вклад > Функции с Голосов на Активность, чтобы снизить дезориентацию подробнее
Опубликовал Текущие проекты — июнь 2026, собирая обновления дорожной карты и приглашая к обратной связи/вопросам для формирования приоритетов подробнее
Помог сайту быть (пере)обработанным для включения в Discourse Discover после изменения настроек и публикации сайта подробнее
Продолжал итерации над вложенными ответами, включая уточнение того, как «в ответ на номер сообщения» влияет на вложенность, и запрос более подробных данных для воспроизведения, когда отчеты касались ответов по электронной почте подробнее
Объявил об изменении настроек по умолчанию для вложенных ответов (глубина уменьшена, лимит включен) и обсудил долгосрочное направление (включая eventual кастомизацию для каждой категории) подробнее
Подтвердил, что сценарий таймаута редактирования длинного сообщения решен поведением «diff слишком сложный», уменьшая таймауты сервера, сохраняя при этом возможность редактирования подробнее
Приоритизировал и объединил давнее исправление, чтобы лимиты слов не ломали ввод IME, улучшая удобство использования для пользователей IME подробнее
Отметил улучшение общих правок как выполненное (включая более широкий доступ), привязав к выпущенному PR подробнее
Спасибо за чтение, и увидимся на следующей неделе!
Несколько повторяющихся тем этой недели (со ссылками): особенности хранения объектов/CDN (например, маршрутизация пользовательских эмодзи в #Bug), улучшение UX администратора (например, сообщения об «Предстоящих изменениях» в #UX), а также настройка и управление ИИ (от квот на расходы в #Announcements до «подводных камней» перевода в #General).
Интересные темы
#Announcements
Discourse AI получил квоты на основе стоимости (бюджет в долларах, а не только токены), что упрощает контроль расходов у разных провайдеров — подробнее.
Опубликовано объявление о релизе за июнь 2026 года, со ссылками на версии 2026.6 и патч-релизы (2026.1.5 / 2026.4.2 / 2026.5.1) — подробнее.
Администраторы теперь могут просматривать и массово приостанавливать «еще не активированные» аккаунты, что улучшает реакцию на волны регистраций и подозрительные регистрации — подробнее.
Единый вид списка новых тем (и его влияние на DiscourseHub) продолжает развиваться, включая обсуждение правил сортировки и согласованности с приложением/интерфейсом — подробнее.
Долгожданнный переход GIFs-in-core продолжал вызывать практические вопросы у администраторов (что настраивается, что скрыто за «Предстоящими изменениями» и почему это кажется запутанным) — подробнее.
Тщательное расследование обхода маршрутизации CDN пользовательскими URL эмодзи при использовании S3/R2 завершилось объединением исправления; в теме также были выявлены реальные проблемы с конфигурацией Cloudflare R2 + CDN — подробнее.
Отчет показал, что вложенные ответы не учитывали оформление «цвет персонала / официальный», воспроизведение подтверждено и ограничено вложенными шаблонами — подробнее.
В редакторе Rich Text было обнаружено удаление кавычек внутри синтаксиса [wrap=theme-install-button ...] (что ломало установку); исправление в ядре последовало быстро — подробнее.
Сравнения на сайте релизов вводили людей в заблуждение относительно количества исправлений безопасности; проблема была объяснена как артефакт сравнения и исправлена изменением на сайте релизов — подробнее.
Интерфейс Composer: новое выпадающее меню действий «Тип поста» могло отображаться за редактором на сенсорных планшетах; были предложены временное решение с z-index и плановое исправление — подробнее.
Проблемы со сменой домена: учетные данные Discourse ID могут перестать работать после смены имени хоста при самостоятельном хостинге, что вызвало обсуждение улучшения UX администратора и того, что можно безопасно автоматизировать — подробнее.
Пользователь самостоятельного хостинга, меняющий домены, столкнулся с discourse remap конфликтами дублирующихся ключей в аналитике и topic_links; решение заключалось в целевом удалении SQL-записей для устранения конфликтов перед повторным запуском remap — подробнее.
Обратная связь от AWS: одна тема решила правильный формат конца webhook AWS SNS после проб и ошибок (/webhooks/aws) — подробнее.
Пользователи Theme Creator сообщали о простоях (500 «Oops»); инцидент был отслежен и подтверждено восстановление работы после объединения исправления — подробнее.
Администраторы спрашивали, вызывает ли Discourse провайдеров ИИ в фоновом режиме; ответ: да, в зависимости от включенных функций (заполнение сводок, эмбеддинги, анализ тональности и т. д.) — подробнее.
#Self-hosting
Глубокий технический гид по передаче IP-адресов доверенных клиентов прояснил, как nginx внутри контейнера должен интерпретировать заголовки и цепочки доверия, и почему «просто передавать XFF» может быть опасно при неправильной настройке — подробнее.
Несколько тем сошлись на обработке «реального IP» после изменений на вышестоящем уровне: обсуждение регрессии Cloudflare/IP связано с записью о цепочке доверия и более безопасных значениях по умолчанию — подробнее.
Практический вопрос «как сделать»: редактирование конфигурации nginx внутри Docker (за HAProxy) получил четкий ответ «не редактируйте контейнер напрямую; сохраняйте через app.yml», а также рабочие примеры set_real_ip_from — подробнее.
Проблемы с производительностью хранения объектов: пользователи, отлаживающие медленную загрузку аватаров после перехода на S3/R2, изучали поведение кэширования, фоновую генерацию и указание на обновленные рекомендации по обслуживанию аватаров — подробнее.
Сбои при пересборке, связанные с отсутствием tsconfigs/пакетов, были отследины до удаления файлов основных плагинов; вывод: «ядро ожидает наличия основных плагинов», наряду с PR по укреплению, чтобы пайплайн ломался менее катастрофически — подробнее.
Уведомление администратора, отображаемое, когда Предстоящее изменение становится официальным, было признано вводящим в заблуждение; коренная причина («переход к Постоянному выявил ошибку ссылки») была выявлена и исправлена — подробнее.
UX сносок: вложенные заметки при наведении мыши можно было создать, но не получить доступ; выбранная мера смягчения заключалась в удалении вложенных сносок во избежание вводящего в заблуждение интерфейса — подробнее.
Обратная связь по панели управления: переработанная панель администратора по-прежнему показывает воспринимаемую медленную начальную загрузку и отсутствие шлифовки вокруг закрепленных выводов Data Explorer по сравнению с графиками — подробнее.
#Theme component
«Сезонный брендинг» получил толчок: был предложен (и прототипирован) новый подход с мини-компонентами для планирования изменений логотипа с использованием преобразователей значений home-logo-image-url — подробнее.
Don выпустил Post Score, компонент темы для отображения метрик вовлеченности в постах (с просьбами задокументировать настройки) — подробнее.
Don также выпустил компонент YouTube PiP + плеер плейлиста темы; за ним последовало обсуждение возможной совместимости со сценариями использования прямых трансляций/мероприятий — подробнее.
Официальный компонент Homepage Feature прошел модернизацию, включая эксперименты с адаптивным размером изображений, а затем быстрое откат из-за огромных очередей заданий миниатюр, плюс руководство по очистке — подробнее.
Versatile Banner получил улучшение обслуживания/безопасности: отказ от долгоживущей зависимости от внешнего хоста изображений (imgur) в пользу ресурсов из темы — подробнее.
sam продвинул управление ИИ с помощью квот на ИИ на основе стоимости (подробнее), высказался по поводу поведения единого списка в обсуждении единого нового вида (подробнее) и указал на ограничения безопасности при рендеринге заголовков на страницах ошибок (подробнее).
loic опубликовал объявление о ежемесячном релизе за июнь 2026 года и указатели на список изменений (подробнее), а затем последовал за путаницей вокруг поиска CVE и времени распространения (подробнее).
nat поделился трудным опытом по переводу ИИ + индексации/SEO (и привел ссылку на запись от первого лица), а также выпустил исправление для «подводного камня» настройки перевода (подробнее).
supermathie написал подробное руководство по самостоятельному хостингу по обработке «цепи доверия» реального IP (подробнее) и применил эти мысли, чтобы помочь людям, затронутым изменениями доверия к заголовкам после последних коммитов (подробнее).
Falco помог распутать предположения о маршрутизации CDN против бакетов в теме пользовательские эмодзи + S3/R2 (включая нюанс конфигурации «два CDN») (подробнее), прояснил ожидания поддержки относительно экспериментальных плагинов против ESR в Resenha (подробнее) и предложил, как отлаживать сбои функций ИИ, запрашивая ai_api_audit_logs (подробнее).
awesomerobot провел широкую «плановую уборку» по UX и экосистеме тем: логика сравнения исправлений безопасности на сайте релизов была объяснена на высоком уровне (подробнее), разобран и направлен на исправление парсинг атрибутов wrap в ProseMirror/RTE (подробнее), прояснен приоритет действий watched-words (подробнее), и выпущено несколько обновлений компонентов тем (например, итерации Homepage Feature: подробнее; Versatile Banner: подробнее).
chapoi предоставил практические рекомендации по реализации для нескольких вопросов администратора/кастомизации: создание планировщика смены логотипа через преобразователи значений (подробнее, рекомендация современного подхода к пользовательским домашним страницам вместо устаревших маршрутов (подробнее), смягчение поведения вложенных сносок путем удаления вложенных заметок (подробнее) и выпуск исправления позиционирования кнопки AI-title (подробнее).
mcwumbly выпустил инструменты администратора для просмотра/приостановки неактивированных аккаунтов (подробнее, обсудил значения по умолчанию для самостоятельного хостинга для Предстоящих изменений и компромиссы при включении изменений раньше (подробнее), и установил ожидания по все еще не приоритизированному усилию «безопасные загрузки в чате», собирая детали реального воздействия (подробнее).
martin продолжал работать над системой «Предстоящие изменения»: проясняя, где живут «Постоянные» изменения, и улучшая руководство вокруг /whats-new (подробнее), отвечая на запутанные предупреждения «постоянного» характера, связанные с GIF, и вводом метаданных (подробнее), и продолжая итерации над поведением единого списка тем и согласованностью с DiscourseHub (подробнее).
pmusaraj сосредоточился на правильности продукта и здравомыслии администратора: подтверждение/воспроизведение разрыва в стиле вложенных ответов (подробнее), установка ожиданий по счетчикам DiscourseHub и компромиссам простоты (подробнее) и предложение улучшений поведения ограничений «первого дня» в режиме Bootstrap через PR (подробнее).
Спасибо за чтение, и увидимся на следующей неделе!
Предстоящее изменение: удаление особого статуса категории «Без категории» читать далее
Несколько «цифровых» тем, которые постоянно всплывали
Локализация контента и перевод с помощью ИИ (ошибки, пользовательский интерфейс и новые настройки) были основной темой этой недели — от настроек перевода, ограниченных рамками категории (читать далее), до отчетов об усечении перевода (читать далее) и корректировок подсказок и агентов (читать далее).
Изменения в пользовательском интерфейсе реакций и лайков продолжали вызывать отголоски в виде отчетов об ошибках и вопросов по настройке (например, исправление «залипания» всплывающего окна лайков: читать далее, и побочные эффекты включения реакций по умолчанию: читать далее).
Эргономика самостоятельного размещения оставалась в центре внимания: установщик и Let’s Encrypt получили внимание (читать далее), и снова поднялся вопрос о реальных требованиях к размеру диска (читать далее).
Интересные темы
#Объявления
Категория «Без категории» перестает быть «особой» и переводится в разряд стандартных категорий для устранения ошибок и несоответствий; руководство включает рекомендации для сайтов, использующих только теги (предложение по компоненту темы), и описывает изменения при включении этой опции — читать далее
GIF в ядре: вопросы атрибуции и брендинга поставщиков снова актуализировались; при переносе поддержки GIF в ядро был упущен элемент логотипа/атрибуции поставщика, и он восстанавливается, чтобы интерфейс выбора мог корректно отображать брендинг источника — читать далее
Включение реакций по умолчанию продолжает выявлять пограничные случаи (особенно для сообществ, которые «стилизовали» кнопку Лайк); обратная связь описывает путаницу из-за смешанных иконок/цветов и трудности миграции, когда реакции внезапно появляются — читать далее
Прямые трансляции и События: рабочие процессы в стиле « breakout-комнат» пока не поддерживаются (и сильно зависят от поставщиков), но обсуждалось использование веток в чате как потенциального обходного решения, пока набор функций не будет доработан — читать далее
#Компонент_темы
Перемещение селектора языка в нижний колонтитул боковой панели выпущено как новый компонент темы, с целью уменьшить загромождение заголовка; последующие доработки уточнили поведение для гостей, чтобы переключатель оставался доступным, даже если боковая панель не отображается — читать далее
Планируемая смена логотипа (сезонные логотипы) внедрена как компонент темы для автоматической ротации логотипов сайта по календарю; ранняя обратная связь выявила ошибку «значения по умолчанию до изменения», которая сейчас расследуется — читать далее
Загрузка с помощью перетаскивания и предпросмотр файлов для страниц диалогов с ИИ-ботами опубликованы для упрощения рабочего процесса «загрузка файла в диалог с ботом» за счет улучшений пользовательского интерфейса — читать далее
Предпросмотры списка тем (TLP) получили нативный CSS-masonry рендеринг (там, где поддерживается), что обещает значительный прирост эффективности рендеринга и снижение энергопотребления (с резервными вариантами там, где masonry недоступен) — читать далее
#Функция
Разрешить пользователям удалять свои ожидающие одобрения темы/сообщения из /activity/pending: PR добавляет кнопку удаления inline, чтобы пользователям не нужна была помощь персонала для отзыва чего-либо, все еще ожидающего одобрения; в теме обсуждались ожидания от отмены/восстановления и случаи, когда требуются диалоговые окна подтверждения — читать далее
Конвертация «эмотиконов в эмодзи» как пользовательская настройка, а не глобальная для сайта: в обсуждении рассматривалось, почему поведение перепечки/цитирования для каждого пользователя быстро усложняется, и стоит ли это технических затрат — читать далее
Улучшение пользовательского интерфейса для общих отчетов Data Explorer: запрос на отображение общих отчетов в более доступном месте, чем страницы групп; предложения включали добавление специальной записи в меню пользователя или условное отображение ссылки в боковой панели, когда отчеты общие — читать далее
Перевод пользовательских ссылок/разделов боковой панели стал ближе: давнее ограничение (пользовательский контент боковой панели не локализуется) получил ответ «скоро™», продолжая тему, которая формировалась вокруг боковой панели и ожиданий по локализации-контента — читать далее
Ограничение перевода тем определенными категориями: было объединено изменение, добавляющее новый тип настройки, поддерживающий области видимости, такие как «все/публичные» или списки включения/исключения, что позволяет более гибкое внедрение локализации-контента — читать далее
RFC 5005 для RSS-лент Discourse: запрос выйти за рамки «последние 25 элементов» и поддержать пагинацию/архивирование лент, чтобы потребители могли получать доступ к более старым записям стандартизированным способом — читать далее
На Android «выделение для цитирования» периодически ломается — и обходное решение странно эффективно: реакция на сообщение может повторно включить выделение; более глубокий анализ указывает на утечку глобального состояния «нет выделения текста» из обработки касаний реакций — читать далее
Ошибка редактирования категории: slug становится «обязательным» при переключении определенных настроек категории, даже если он был необязательным/пустым при создании; исправление заключается в автогенерации при сохранении и ослаблении излишне строгой проверки — читать далее
Немецкие переводы иногда содержат сырые артефакты обертки перевода/JSON; расследование выявило противоречия в подсказках, было предложено исправление, а также руководство для администраторов, скопировавших агентов по умолчанию, чтобы они также обновили шаблоны подсказок — читать далее
Переводы молча обрываются посередине предложения без ошибок: отчеты описывают неполные сохраненные переводы, когда разбор JSON-потока ломается, без логов rails/sidekiq, указывающих на сбой — читать далее
Всплывающий интерфейс лайков может «залипать» после перехода на профиль пользователя (особенно в начале темы); исправление было быстро объединено после воспроизводимых отчетов в различных браузерах — читать далее
Помеченные изображения чата не отображаются в снимке очереди проверки: модераторы не могут увидеть загруженное изображение, на которое пожаловались, что особенно запутывает в личных сообщениях, где транскрипты опускают пометку — читать далее
Обратная связь по новому установщику: отлично работает, когда все в порядке, но ограничения скорости хоста/Let’s Encrypt могут быть суровыми при повторном тестировании; обсуждение включало планы по отказу от acme.sh в пользу нативной поддержки ACME в nginx для лучшего выявления и обработки этих сбоев — читать далее
Мало места на диске для обновления (реальность VPS на 25 ГБ): даже небольшие экземпляры могут сталкиваться с накладными расходами Docker overlay и pull-запросов образов; в теме разбирается, куда уходит место и почему многие администраторы в итоге увеличивают ресурсы, а не постоянно чистят — читать далее
«Форумы, запрещающие контент от ИИ… как дела?» продолжилось с практических точек зрения модераторов: обнаружение становится сложнее, ложные срабатывания часты, и политика + человеческая модерация остаются основным рычагом (но это изматывает) — читать далее
«Любопытно услышать ваш лучший урок по Discourse на данный момент» вызвало практическую мудрость администраторов: избегайте создания сообществ, пока нет реальной потребности, и проводите время в Документации, прежде чем изобретать велосипед — читать далее
lindsey руководила коммуникацией вокруг предстоящего изменения по удалению особого обращения с категорией «Без категории» (читать далее) и прояснила ограничения/следующие шаги для запросов в стиле breakout-комнат в Событиях (читать далее).
chapoi выпустил и поддерживал новые компоненты темы, включая запланированную/сезонную ротацию логотипов (читать далее), и участвовал в обсуждении UX по «удалению ожидающих тем» (трение модального окна vs возможность восстановления) (читать далее). Он также помог в устранении неполадок с изменениями поведения реакций/лайков, влияющими на сайты с отключенными реакциями (читать далее), и прояснил разницу между хостингом Discourse и самостоятельным размещением в вопросе по интеграции с Wix (читать далее).
Falco активно занимался операциями Discourse AI и надежностью: предлагал исправления для противоречий в подсказках перевода (читать далее), объяснял, почему связывание новых моделей ИИ со старыми версиями Discourse хрупко (читать далее), и советовал по контролю на уровне подсказок для сохранения проприетарной лексики при переводе (читать далее). Он также направлял самостоятельных хостеров, экспериментирующих с Ollama через совместимость с OpenAI (читать далее), и дал понимание ловушек ограничений скорости установщика + Let’s Encrypt и будущих изменений ACME (читать далее).
mcwumbly направлял несколько разговоров о «области видимости vs сложности»: детализация уведомлений как долгосрочное направление вместо простого хардкода групп (читать далее), технические ограничения за предпочтениями конвертации эмодзи/эмотиконов для каждого пользователя (читать далее), и как развивать обратную связь по Discobot Discoveries в конкретные примеры, а не общий запрос функции (читать далее). Он также прояснил изменения в планах хостинга (наследие плана Starter) (читать далее) и исследовал более богатые элементы управления макетом для авто-сеток (режимы списка, сетки, карусели) (читать далее).
awesomerobot внедрил быстрые исправления и руководства по UX и ошибкам: слишком строгая проверка slug категории при редактировании (читать далее), «обновление баннера после обновления» как базовое поведение и почему оно редко встречается вне графика развертывания Meta (читать далее), и неравномерное обращение с переведенными описаниями категорий (с PR для согласования поведения) (читать далее). Он также обновил документацию для начинающих по темам Discourse, чтобы соответствовать последнему UI (читать далее), и дал практические советы по выбору шрифтов для доступности/производительности (читать далее).
martin продолжал работу по внедрению «гранулярных разрешений на основе групп», отображая влияние настроек и координируя последующие корректировки (читать далее), и устранил визуальный шум на странице Предстоящих изменений, удалив запутывающий фильтр «Постоянный» (читать далее). Он также помог найти пропущенный элемент атрибуции поставщика GIF при переносе в ядро (читать далее).
nat продвинул две важные темы локализации/UX администратора: подтвердил, что работа над переводом боковой панели скоро начнется (читать далее), и выпустил объединенное улучшение для ограничения перевода тем режимами выбора категории (читать далее). Он также участвовал в обсуждении повышения видимости общих отчетов Data Explorer в UI (читать далее) и начал диагностировать более строгие ограничения использования тегов, взаимодействующие с тегами только для администраторов (читать далее).
HAWK прояснил политику/ожидания по использованию RSS-лент на Meta (RSS в порядке; язык ToS направлен против вредоносного скрейпинга/мониторинга) (читать далее) и вернулся к тому, как стандартные ограничения скорости Discourse все еще применяются на Ask Discourse, потому что он работает на движке Discourse (читать далее).
davidb реализовал несколько быстрых исправлений и прояснений: восстановление атрибуции поставщика GIF в ядре (читать далее), выпуск и объединение исправления для ошибки «залипания» всплывающего окна лайков (читать далее), и корректировка сообщений вокруг предстоящего изменения «более простых тем email», чтобы администраторы понимали, что предпочтения будут соблюдены (читать далее). Он также объяснил, как реакции по умолчанию могут создавать визуальный эффект «двойного лайка», если не отключить их через настройки предстоящих изменений (читать далее).
j.jaffeux поделился заметками по дорожной карте: рабочие процессы скоро позволят поведение «подсказки/модальные окна, вызываемые поиском» (закрывая старый запрос в преддверии запуска) (читать далее), подтвердил работу в процессе по закреплению сообщений чата для видимости (читать далее), и предоставил исторический контекст ранних решений по реализации Реакций (удобство локального хранилища на тот момент) (читать далее).
Спасибо за чтение, и увидимся на следующей неделе!
Отчетный период: 2026-07-12 → 2026-07-19 (7 дней), на основе такого же снимка активности, который теперь можно изучить в обновленном админ-дашборде (см. подробнее).
Ключевая статистика
Всего новых сообщений:446 (за последние 7 дней) — контекст: обсуждение способов измерения и отображения таких метрик продолжается в теме обновленного дашборда (подробнее).
Всего новых тем:71 (за последние 7 дней) — и вопрос «что куда относится» в админке продолжает развиваться, например, инструменты для категорий и изменения UX администратора (подробнее, подробнее).
Первое знакомство с Workflows (workflows): lindsey поделилась превью нового визуального конструктора, призванного выйти за рамки Автоматизаций для многоступенчатой логики, задержек, условий и внешних/AI-действий — с параллельным развитием документации (подробнее, подробнее).
Появилась страница управления категориями в админке: Новый раздел /admin/config/category-management упрощает аудит типов/видимости/связей категорий, с обсуждением и PR для быстрых улучшений UX (подробнее).
Приглашение администраторов стало безопаснее и понятнее (invites): keegan представил одношаговый путь приглашения администратора, который сначала дает права модератора, а затем администратора после подтверждения email — и в теме сразу же обсуждались эргономика «приглашения модератора vs администратора» (подробнее).
Бейджи «Решено» теперь включены по умолчанию для новых сообществ (solved): Небольшой, но значимый толчок к признанию и здоровым циклам поддержки, включая ответы о поведении обратного заполнения для существующих решенных постов (подробнее).
Прибыли коды входа по email (не magic links) (login, signup): Discourse представил поток входа без пароля с кодом, который избегает ловушек magic-link во встроенных браузерах приложений и подготавливает почву для будущих passkey (подробнее).
Обсуждение анонса бесплатного плана Discourse: Сопутствующая тема для блога о бесплатном плане собрала ранние реакции и контекст о том, что включено, а что нет (подробнее).
#Hosted-Customers
Что такое «CDCK/MoM» в настройках AI? (ai): Falco объяснил хостинговый роутер «Mixture of Models», который выбирает модели с открытыми весами для каждой задачи (резюме, эмбеддинги, действия ассистента) с использованием AI-кредитов (подробнее).
#Self-Hosting
Самостоятельный хостинг vs управляемый хостинг: ловушка терминологии (server-resources, hosting): Новичок задал вопросы «что на самом деле означает самостоятельный хостинг» и получил удивительно исчерпывающие ответы по VPS против домашнего оборудования, ожиданиям по обслуживанию и компромиссам (подробнее).
«После обновления… форум работает некорректно»: Классический сценарий сбоя после обновления (миграции/кэш темы) был быстро диагностирован с помощью rebuild + рекомендаций по миграциям, и автор подтвердил успех (подробнее).
Обработка реальных IP изменилась через прокси (решено): Настройка обратного прокси перестала корректно определять реальные IP-адреса клиентов, и решение сместилось в сторону конфигурации set_real_ip_from / цепочки доверия (подробнее).
«Процесс установки на VPS для новичков с FAQ» (живая тема) (install, domains, email): Формируется пошаговый журнал сборки вокруг решений по DNS/SMTP/доменам, с предупреждениями о попытках решить SSO слишком рано и напоминаниями о резервных копиях/ответственности (подробнее).
Вход через Wix + Discourse: «какие у меня есть варианты?» (openid-connect, discourseconnect): Тема столкнулась сразу с двумя ограничениями — ограничениями аутентификации в бесплатном плане Discourse и доступностью SSO в Wix — направляя обсуждение в сторону реалистичных путей интеграции и выбора планов хостинга (подробнее).
#Feature
Сделать встроенные превью PDF действительно читаемыми (pdf-previews): Запрос на улучшение удобства использования встроенных PDF по умолчанию перерос в более широкое обсуждение клика для открытия против принудительного скачивания, времени регрессии и эргономики превью (подробнее).
Исключать группы в /filter (topic-filter): Небольшой, но мощный запрос на улучшение получил быстрый PR + мерж в ядро, чисто расширяя существующие шаблоны фильтров (подробнее).
Контроль по категориям для «кто может принимать решения» (solved): Возник практический паттерн для многопользовательских систем: публичные категории требуют строгого «только автор/модератор/админ», но категории только для клиентов могут хотеть «любой из группы клиента может отметить как решенное» (подробнее).
AI-бот Retry дублирует сообщения в публичных темах (ai, ai-bot): Отчет выделяет, что «Retry» должен регенерировать на месте (как в личных сообщениях), а не затоплять темы новыми ответами бота — исправление уже в процессе (подробнее).
Переведенный/локализованный cooked HTML пропускает хуки post_process_cooked (affiliate, content-localization): Глубокая ошибка интеграции плагинов: переписывание ссылок для партнерской программы работает на оригинальном cooked HTML, но не на переведенном cooked-контенте — что означает потерю комиссий/переписываний для каждой локали (подробнее).
Удаленные сообщения по-прежнему показывают полный контент, когда включен перевод (ai, dynaloc): Серьезная проблема «приватности/ожиданий», при которой переведенные представления могли продолжать отображать контент после того, как автор удалил сообщение на исходном языке (подробнее).
Числовые теги конфликтуют/двусмысленны в старых формах URL (tags): Странный крайний случай, при котором числовое имя тега, например 2013, может конфликтовать с маршрутом на основе ID существующего тега и разрешаться некорректно (подробнее).
Поддержание сборки после отключения SSH (nohup против tmux): Прагматичная тема по эксплуатации, рекомендующая tmux/screen вместо nohup, чтобы сборки выживали при разрыве сессии и могли быть повторно подключены (подробнее).
Вставка в композер включает фрагменты <span lang="…"> (composer): Очень нишевая (и очень реальная) проблема «вставки из богатых сайтов со скриптурами»: спаны появляются в композере, и интервалы/отображение становятся сложными — с тщательной оценкой изменений ядра, чтобы избежать удаления намеренной разметки (подробнее).
Форумы поддержки видят падение активности (AI + SEO + компромиссы с ограничением доступа): Широкая тема обсуждала «приватно по логину» против обнаружимости, переход от «ценности библиотеки» к «ценности кофейни» и то, как измерять успех в мире, где AI потребляет ответы, не отправляя клики обратно (подробнее).
«Сообщение из будущего»: советы, которые вы бы отправили своему первому себе-админу: Рефлексивный запрос породил много мудрости в духе «принципа KISS», «читай документацию», «не переусложняй кастомизацию» и «найми экспертов, когда нужно» (подробнее).
Какой рекорд по «наибольшему количеству сообщений в одной теме»?: Забавный (но важный для производительности) вопрос, который вновь поднял пределы мега-тем, реальные примеры и почему Discourse по умолчанию автоматически закрывает темы около 10k сообщений (подробнее).
#Plugin
Голосовые комнаты Resenha: SFU через LiveKit + улучшения качества жизни: Плагин Resenha продолжает созревать с опциональным масштабированием SFU, выбором устройств, упоминаемостью и контролем макета — приближаясь к статусу «серьезных голосовых комнат для сообщества» (подробнее).
lindsey продвигала несколько продуктовых анонсов и настроек по умолчанию: раннее знакомство с Workflows (подробнее), официальная тема плагина Workflows + детали включения (подробнее), и включение бейджей «Решено» по умолчанию для новых сообществ (подробнее). Она также расширила подход «включено по умолчанию» на бейджи голосования за темы в текущей теме улучшений (подробнее).
Falco сосредоточился на AI и ясности для хостинговых клиентов: объяснение маршрутизации CDCK/MoM и использования кредитов (подробнее), решение бага AI-бота «Retry дублирует ответы» с PR исправления, связанным в отчете (подробнее), и уточнение совместимости эмбеддингов Gemini (AI Studio против Vertex/Enterprise endpoints) в решенной теме поддержки (подробнее). Он также опубликовал существенные обновления плагина Resenha вокруг масштабируемости SFU (подробнее).
awesomerobot выпускал быстрые итерации по ядру и компонентам темы: реализация поддержки исключения групп в /filter с быстрым PR + мержем (подробнее), объяснение компромиссов в дебатах о активности форума поддержки (видимость SEO против ограничения доступа) (подробнее), и взятие на себя исправления поломок на мобильных устройствах в пользовательских ссылках верхней навигации с работой по рефакторингу (подробнее). Он также сортировал ограничения зависимостей upstream для предупреждений шрифтов иконок FullCalendar (подробнее).
martin продолжал проталкивать «информационную архитектуру админки»: анонс новой страницы Управления категориями для видимости и фильтрации по типам (подробнее), и реализацию улучшений гранулярных разрешений на основе групп (включая последующие PR) в длинной теме анонса разрешений (подробнее, подробнее). Он также участвовал в очистке и коммуникации вокруг перехода GIFs в ядро и связанных предупреждений админа (подробнее).
chapoi реализовал несколько улучшений UX и соответствия стандартам: мерж фикса мобильных отступов темы Horizon для малых действий в ЛС (подробнее), дал четкое объяснение на основе CommonMark для парсинга HTML-блоков <div> (и почему пустые строки важны) (подробнее), и улучшил текст бейджа «Первая реакция», чтобы администраторы могли уменьшить путаницу (подробнее). Он также продолжал защищать компромиссы дашборда/навигации перед админами, которые хотят «информацию о версии» на видном месте (подробнее).
david занимался рутиной обслуживания для разработчиков: улучшение того, как Discourse обрабатывает метаданные совместимости компонентов темы и предупреждения (подробнее), предоставление четких рекомендаций по концу жизни компонентов темы (например, переключение «десктоп/мобильный вид» больше не актуально) (подробнее), и публикация сроков устаревания для .hbs и .js.es6 в темах/плагинах (подробнее, подробнее). Он также помог диагностировать неприятную проблему компилятора темы «все сломалось после обновления» с сбросом кэша через консоль (подробнее).
zogstrip выкатил устойчивый поток «небольших, но острых» фиксов: исправление запроса уведомлений Topic Voting, когда лимиты голосов отключены (подробнее), исправление поведения предстоящих событий вокруг фильтрации подкатегорий (подробнее), решение регрессий отслеживания/наблюдения вокруг малых действий с постами (подробнее), и исправление локализованной/переведенной обработки cooked, чтобы хуки плагинов (как переписывание партнерских ссылок) применялись последовательно (подробнее). Он также объяснил практический предел «исправления» IMDB oneboxes, когда WAF блокирует скрапинг, сосредоточившись вместо этого на улучшении сообщения об ошибке для пользователя (подробнее), и поставил в очередь фикс для сбоев загрузки многоpart-бэкапов в S3 (подробнее).
pmusaraj поддерживал регистрацию/вход и сортировку багов для администраторов: уточнение, почему потоки входа по email-коду избегают проблем со встроенными браузерами (и подготовка будущих nudges для passkey) (подробнее), воспроизведение и исправление краша селектора аватаров с выбираемыми аватарами (подробнее), и изложение «почему» за Discourse ID (сокращение обслуживания аутентификации админа, будущие централизованные учетные записи) (подробнее).
mcwumbly делал упор на продуктовое направление + гранулярность конфигурации: изучение реального кейса использования «кто может принимать решения» по категориям и подтверждение более широкого движения к строительным блокам на уровне категорий (подробнее, подробнее). Он также подтвердил полезность исключения групп в /filter с точки зрения UX (подробнее) и продвигал семантику URL, которая избежала бы двусмысленности числовых тегов для обратной совместимости (подробнее).
keegan реализовал улучшенный опыт приглашения администратора и объяснил логику онбординга/безопасности за «сначала модератор, потом администратор после подтверждения» (подробнее).
Спасибо за чтение, и до встречи на следующей неделе!
Чтобы увидеть активность сотрудников, ознакомьтесь с обсуждениями, связанными с группой @team, приведенными ниже (например, читать далее, читать далее, читать далее).
Интересные темы
#Announcements
В Discourse появилась более понятная настройка администратора для выбора главной страницы: новое параметр сайта default homepage делает выбор явным (и может указывать на страницы, не входящие в top menu). читать далее
Функция автоматического создания подписей к изображениям в Discourse AI получила значительное обновление, направленное на улучшение доступности: теперь подписи можно генерировать в фоновом режиме, хранить отдельно от исходного текста поста, отображать для скринридеров/поиска/лайтбоксов и даже интегрировать с процессами перевода. читать далее
Плагин Data Explorer теперь поддерживает генерацию SQL-запросов и их обновление с помощью ИИ, позволяя администраторам запрашивать новые запросы или уточнять существующие, не теряя ручного контроля. читать далее
Управление эмодзи стало удобнее: появились закрепленные группы эмодзи в пикере, а также массовый импорт/экспорт пользовательских эмодзи (через ZIP-архив и манифест). читать далее
В RSS Polling выпущен переработанный интерфейс администратора с валидацией лент, более понятной конфигурацией и новыми настройками, такими как таймаут запроса и подробное логирование. читать далее
Настройки уведомлений для чата были объединены на основной странице настроек уведомлений, заменив старый отдельный переключатель настроек чата более понятным выпадающим списком push_notification_level. читать далее
Ежемесячное обновление «Текущие проекты» осветило работу над различными частями платформы (включая улучшения дашборда, обнаружение ботов и многое другое), продолжая регулярную практику прозрачности в отношении того, над чем работает команда. читать далее
Тема «Модернизация темы Foundation» в разделе Предстоящие изменения привела к полезному уточнению: все темы наследуют настройки Foundation по умолчанию, поэтому активация этой опции может повлиять на любую тему сайта, если она явно не переопределена. читать далее
Загрузка фотографий на iOS 16.7 перестала работать на старых устройствах Apple; в теме было установлено, что проблема связана с новым оптимизированным конвейером загрузки, и планируется исключение для устаревших устройств iOS. читать далее
Администраторы Android столкнулись с раздражающим UX-багом: при изменении владельца поста клавиатура закрывалась на мобильных устройствах. Был подготовлен и подтвержден исправляющий коммит. читать далее
В серьезном отчете о баге для self-hosted инстансов было обнаружено, что Sidekiq может использовать устаревшие настройки сайта после рефорка, из-за чего фоновые задачи ведут себя так, будто настройки не менялись. Был быстро открыт PR с исправлением. читать далее
В Workflows (встроенный плагин) проявился крайний случай миграции: схема утверждала, что миграция выполнена, но ключевая таблица не была создана, что вызывало повторяющиеся исключения задач. Была подробно описана обходная схема и меры по смягчению последствий. читать далее
Защищенные категории и дублирующиеся заголовки: предложенное изменение будет блокировать дублирующиеся заголовки только в том случае, если пользователь видит другую тему, и при блокировке будет показана ссылка, что снижает путаницу без раскрытия конфиденциальной информации. читать далее
Давно существующий баг со списком «Активные постеры» вновь привлёк внимание, когда старый PR устарел, а затем был подхвачен и слит. читать далее
Небольшой запрос на «микро-исправление UX администратора»: удаление описаний категорий в выпадающем списке категорий в редакторе можно решить с помощью небольшого CSS-правила темы. читать далее
Сайты, которые хотят иметь аватары, но не разрешать общую загрузку изображений, рассмотрели практическое обходное решение с использованием ограничений на загрузку, вместо того чтобы разрешать изображения везде. читать далее
Self-hosted инстанс сообщил об «внутренней ошибке сервера» при отправке ЛС; корень проблемы был найден в несовместимости версий/плагинов и решен обновлением. читать далее
Вопрос мультиязычного администратора о снижении затрат на email привел к прямому решению: отключить email-уведомления о ЛС глобально, изменив уровень сообщений по умолчанию. читать далее
#Self-hosting
Подробная тема «Установка на VPS + FAQ» превратилась в практический чек-лист: не переусердствуйте с ресурсами, избегайте панелей управления, которые конфликтуют с Docker, и следуйте стандартной документации по установке, чтобы снизить риски. читать далее
Загрузка в Cloudflare R2 не удавалась, пока администратор не обнаружил тонкую, но критически важную деталь конфигурации: Discourse ожидает, что регион S3 будет N. Virginia, и правильные заголовки CORS (включая ETag) имеют значение. читать далее
Семантический поиск по AI-эмбеддингам возвращал 500-е ошибки из-за несоответствия конфигурации: изменились размеры эмбеддингов (768 против 3072), и пересоздание конфигурации cleanly решило проблему. читать далее
#Theme компонент
«Мягкое требование входа» предложил гибкий паттерн мягкого шлюза для сообществ, которые хотят менее строгую стену входа, чем стандартное поведение «требуется вход». читать далее
«Автоматическая временная метка в заголовке» выпустила простую, но surprisingly полезную идею для журналов/дневников, а также быструю итерацию, позволяющую ограничивать использование по категориям и/или тегам. читать далее
«Подтверждение удаления поста» добавил легкий диалог подтверждения перед удалением — именно тот вид небольших защитных механизмов, который предотвращает случайные ошибки модерации. читать далее
UX-раздражение при общении с AI-ботами («Enter отправляет сразу») породило как обходное решение через компонент темы, так и запрос на добавление переключателя на уровне администратора в ядре. читать далее
Два свежих компонента визуального улучшения появились в конце недели: Ореолы аватаров авторов тем (выделение OP по всей теме) и Ореолы аватаров групп (стилизация ореолов по основной группе / уровню доверия). читать далее + читать далее
Новый бета-плагин позволяет пользователям TL2 видеть прогресс TL3 с помощью визуальных индикаторов — и вызвал хорошие вопросы о том, что показывать, если пользователи заблокированы на определенном уровне доверия. читать далее
Механика перехода организаций: когда давний волонтер уходит, старые упоминания могут стать бременем для поддержки. Варианты варьировались от баннеров/закрепленных тем до избирательного переотображения строк (с осторожностью относительно ложных срабатываний). читать далее
Запрос на интеграцию с точки зрения безопасности просил безопасный, ограниченный доступ к API к несущественным настройкам сайта без необходимости использования ключа администратора — двигаясь в сторону принципов наименьших привилегий для диагностических/синхронизационных инструментов. читать далее
Энтузиазм по поводу Workflows продолжался: обратная связь запрашивала более богатые узлы (чат-ЛС, операции с категориями, API плагинов) и даже предлагала создать отдельную категорию Workflows для обмена и устранения неполадок автоматизации. читать далее
Практичная идея «событий без сложности»: позволяя владельцам тем устанавливать собственные таймеры истечения срока для объявлений — что вызвало обсуждение того, что должно означать «истечение срока» (удаление против архивации против заглушенных категорий). читать далее
awesomerobot выпустил несколько улучшений UX и надежности: новый параметр default homepage был добавлен, чтобы сделать конфигурацию главной страницы более заметной (читать далее), была добавлена поддержка отображения реальных имен в Тематических карточках для инстансов, отдающих приоритет полным именам (читать далее), и было исправлено поведение куки Versatile Banner после сообщения о том, что изменение имени куки не приводило к повторному показу баннера (читать далее).
Он также слил долгожданный фикс для «Активные постеры в разделе Latest» после того, как PR всплыл снова (читать далее), и ответил на вопросы о встраивании/системе комментариев для использования в «полноценном приложении» на внешних сайтах (читать далее).
nat добился большого успеха в области доступности с фоновыми AI-подписями к изображениям (и прояснил, как подписи отображаются в HTML + поиске) (читать далее), и представил AI-генерируемые запросы Data Explorer непосредственно внутри рабочего процесса плагина (читать далее).
Он также занимался устранением неполадок с AI/поиском, направляя администраторов к логам и проясняя, что делает «Запустить тест» (по сравнению с полным поведением семантического поиска) (читать далее), и продолжал улучшать отчетность по AI-переводу (кэширование времени, разбивка прогресса и обратная связь в UI) (читать далее).
В области локализации долгожданная функция — перевод пользовательских разделов/ссылок боковой панели — была подтверждена как завершенная через работу над PR ядра (читать далее), и был исправлен баг AI-локализации, связанный с переводом удаленных постов (читать далее).
chapoi помог упорядочить UX настроек, перенеся настройки уведомлений чата на основную страницу уведомлений (читать далее), и поддерживал эксперименты с UX DiscourseHub, такие как удаление вспомогательной панели клавиатуры iOS для освобождения места для написания (читать далее).
Он также помогал администраторам разбираться в поведении хостинговых планов и жизненном цикле сайта — в частности, диагностировал вероятное отключение бесплатного плана из-за неактивности (читать далее) — и участвовал в обсуждениях изменений в поведении мобильного редактора (управление превью на мобильных и путь переключения между markdown/RTE) (читать далее).
zogstrip слил и координировал несколько исправлений продуктов/кодовых путей: он слил PR, позволяющий настраивать базовый URL Telegram Bot API для интеграции чата в ограниченных сетях (читать далее), и предложил безопасное для конфиденциальности улучшение валидации «заголовок уже использован», которое блокирует только в том случае, если пользователь видит конфликтующую тему (читать далее).
Он также быстро отреагировал на крайний случай локализации пользовательской боковой панели, попытался создать PR с исправлением (читать далее), помог диагностировать «внутреннюю ошибку сервера» в ЛС self-hosted инстанса, рекомендуя подход «сначала обновить» (читать далее), и поддержал обсуждение «упоминаний прошлых ролей» с вариантами, такими как массовая замена строк (с оговорками) (читать далее).
rishabh опубликовал ежемесячный обзор «Текущих проектов», охватывающий недавно завершенные инициативы (включая запуск бесплатного плана) и то, что завершается следующим — постоянный ориентир для видимости дорожной карты и обратной связи. читать далее
Alteras реализовал улучшения пикера эмодзи (закрепленные группы эмодзи) и долгожданные инструменты администратора для массового импорта/экспорта пользовательских эмодзи, включая руководство по реорганизации групп эмодзи через рабочие процессы экспорта/редактирования/реимпорта. читать далее
lindsey выпустил переработанный интерфейс администратора для RSS Polling, включая валидацию лент и операционную ясность для текущих задач опроса (читать далее).
Он также прояснил объем и намерения в изменениях поведения продукта (например, что означают изменения сортировки «Hot» внутри категорий голосования по сравнению с глобальным списком) (читать далее), и быстро исправил сломанную ссылку в теме объявления RSS Polling после того, как она была сообщена (читать далее).
HAWK предоставил контекст о том, как Discourse AI по-разному работает на бесплатных и платных планах — в частности, что на бесплатных сайтах ИИ используется для сканирования незаконного контента, что помогло прояснить, почему некоторые функции являются «критическими» в одной среде, но не в другой. читать далее
Он также связал обсуждения построения сообщества, где улучшения UX могут противодействовать тенденциям снижения активности в форумах поддержки (читать далее).
Juan_David_Martínez объявил о значительном развитии плагина анти-спама: Discourse hCaptcha был переименован в Discourse Captcha, с расширением поддержки для включения reCAPTCHA и вперед-совместимой архитектуры для дополнительных провайдеров. читать далее
martin продолжал курировать изменения архитектуры разрешений по всей платформе, включая работу, связанную с гранулярными разрешениями групп и переходом от устаревшей группы «everyone» в пользу более четкой семантики анонимных/авторизованных пользователей (читать далее).
Он также прояснил детали запуска хостинга, связанные с переносом GIF в ядро (включая включение на хостинге + руководство по настройке self-host) (читать далее), и связал связанные обсуждения эмодзи/реакций с недавно выпущенным объявлением о закреплении эмодзи и массовых инструментах (читать далее).
Спасибо за чтение, и до встречи на следующей неделе!