Reporting window: 2026-03-08 → 2026-03-15, as reflected across active threads like the FAQ/Guidelines housekeeping discussion (read more) and late-week UX/browser reports (read more).
Webinar announcement: moderator programs (read more)
Interesting Topics
#Announcements
Discourse AI got OpenAI/Azure “service tier” selection, letting admins trade off cost vs latency vs reliability in provider settings (ai, #Announcements) — read more
A new webinar was announced: “Creating & Nurturing a Moderator Program” (with a promised replay for registrants) (webinar, #Announcements) — read more
Hosted AI capacity limits were increased significantly (plus model + throughput improvements), with updated quotas reflected on the pricing page (ai, #Announcements) — read more
The Discourse team published a detailed write-up on the Upcoming Changes system and how it supports gradual rollouts across varied site configurations (blog) — read more
#community-building Building
A fun and insightful thread asked: “How old is your forum?”—prompting migration histories from Yahoo Groups, phpBB, Ning, vBulletin, and more (#community-building Building) — read more
Cross-platform community ops came up again in a “WhatsApp challenges” follow-up: one practical pattern was capturing key takeaways from chat groups into a shared Discourse category (#community-building Building) — read more
Meta’s evergreen “Discourse is great” energy continued, with community members sharing milestones and encouragement (#community-building:praise) — read more
A tricky edge case: after merging topics, one post could no longer be marked as the Solved answer—eventually traced to an existing solved record in the original topic and manually repaired, with a fix planned (solved, Support) — read more
Multilingual admins asked how to localize custom badges and groups; the key takeaway: seeded badges are i18n’d, but custom badges need translation overrides (currently console-dependent) (translation, badges, Support) — read more
A “forum acquisition” question explored how to bring topics from one Discourse into another without full restore, pointing back to established migration workflows (Support) — read more
A clean, low-code customization request: adding explanatory text above /g (groups index) was solved with a tiny theme component using After Header + CSS gating (groups, Support) — read more
Moderator capability boundaries surfaced: moderators can delete users, so the recommended approach for tighter control was Category Moderators + per-category moderator groups (Support) — read more
A self-hosting anxiety post (“install on my VPS”) turned into a practical mini-guide: one-line installer, backup mindset, and hosted-vs-self-host tradeoffs (#Self-hosting, Support) — read more
A Onebox/OpenGraph failure that worked on Meta but not on the user’s site ended up being a certificate chain / server-side fetch trust issue, reinforcing that Onebox generation is server-side and sensitive to TLS setup (onebox, Support) — read more
Admins trying to “require TOS acceptance” used a clever workaround: a required custom user field checkbox to gate saving profile/preferences (Support) — read more
A dashboard UX/data issue: the Site Traffic graph becomes unhelpful when crawlers dominate, prompting a request for smarter scaling or a “rescale” control (dashboard-reports, bug) — read more
A content-localization bug: localized tag names weren’t being cleaned/slugified, breaking body classes and tag display; a fix plus migration shipped (content-localization, bug) — read more
Form Templates: selecting multiple templates per category didn’t persist after refresh due to missing save behavior in a simplified category-creation flow; workaround + merged fix provided (form-templates, bug) — read more
Discourse v2026.3.0 upgrade pain: discourse-subscriptions failed boot due to a route constant load-order/deprecation edge case; a core PR removed the deprecation point (subscriptions, bug) — read more
A scary report: using topic timers + schedule publishing in a draft with a missing destination category could spiral into a heavy, “catastrophic” UI state (topic-timers, bug) — read more
Mobile composer toolbar: when too many buttons exist (often from theme components), later buttons can look “missing”; discussion turned to whether scroll affordances (like arrows) should appear on touch devices (composer, ux) — read more
On some tablets/browsers, the floating search widget produced bizarre input behavior (reversed character order), eventually linked to a floating keyboard feature (search, Support) — read more
A login-page polish issue: top logo alignment shifts when language switcher or theme toggle is present (login, ux) — read more
A notable new plugin: diskuz Call brings peer-to-peer voice/video calls into Discourse using WebRTC (signaling on server, media P2P/TURN) (#customization:plugin) — read more
Another plugin showcase: a Discourse Points Mall prototype (check-in, shop, orders, ledger) with candid notes about current bugs and readiness (#customization:plugin) — read more
A theme-component tooling thread: Tag Style Tool shipped updates quickly after reports of disappearing UI and Font Awesome SVG subset quirks (tags, #customization:theme component) — read more
A no-rebuild alternative to server plugins: Bilibili inline player as a theme component, compared against an existing rebuild-required plugin approach (onebox, #customization:theme component) — read more
“Banner Featured Links” got an update to address htmlSafe deprecation and other cleanup, pinned to 2026.3.0-latest (#customization:theme component) — read more
The terminal-based Discourse client “termcourse” added MessageBus-powered realtime notifications and began aligning shortcut conventions (experimental, #customization:extras) — read more
Falco focused on practical admin fixes and roadmap notes: explained Cloudflare “everyone got banned” IP behavior and the need for the Cloudflare template (read more), confirmed work on a new UI to display full “and N more…” reactions lists (read more), clarified Data Explorer API behavior changes and limits/pagination guidance (read more), expanded hosted LLM capacity limits and model capabilities (read more), and outlined replacements for Google’s discontinued Custom Search integration plus future “native web search tools” support (read more).
nat delivered several “deep internals” clarifications and fixes: corrected the realities of i18n for custom badges and provided the console-based TranslationOverride approach (read more), investigated localized tag output and shipped a cleanup fix + migration (read more), responded to dashboard traffic-graph scaling feedback with “changes coming” context (read more), and pointed users to the experimental tag settings page for managing translated tags after AI translation (read more).
sam shipped and discussed multiple AI/automation developer-facing improvements: announced OpenAI/Azure provider service tiers and how to configure them in LLM settings (read more), advanced the “automation pipelines” idea (trigger → filters → actions, observability, extensibility) (read more), responded to upgrade issues around USERNAME_ROUTE_FORMAT with a core PR to remove the deprecation pressure point (read more), and continued triage on AI Search resource usage expectations vs unexpected CPU pressure (read more).
awesomerobot handled a broad spread of admin UX + bug triage: reproduced and confirmed the multi-form-template persistence bug, suggested a workaround, and followed with a merged fix (read more); investigated toolbar overflow behavior and the “hidden arrow on touch devices” tradeoff (read more); identified a third-party plugin causing “official” components to fail after update and offered safe-mode isolation steps (read more); and suggested structured approaches for gating access via guidelines acceptance using Policy + Automation patterns (read more).
Danielle coordinated community-facing updates: announced the moderator-program webinar and confirmed recordings will be shared after the session (read more), and helped steer a process for reviewing/updating older FAQ/Guidelines documentation references (read more).
supermathie provided crisp diagnostics and user-expectation improvements: tested problematic mobile browsers for text-selection UI issues and concluded the most viable path is recommending supported browsers (read more), documented a temporary email regression caused by a gem update (with break/fix commits) for anyone impacted that day (read more), and proposed a UX hint for multisite “guest” admins who can’t access /sidekiq to reduce confusion (read more).
chapoi engaged on UX polish and dashboard/report behavior: clarified the intent behind the site-traffic Y-axis behavior and agreed it should be smarter in crawler-heavy scenarios (read more), pointed developers to Discourse docs being included directly in the core repo (read more), and confirmed a tablet TOC overlay bug should be fixed by an upstream DiscoTOC PR (read more).
martin worked on both production troubleshooting and product communication: diagnosed why “mark as solution” can fail after merges (a prior solved record in the old topic) and applied a fix while investigating a preventative change (read more), and published the companion discussion topic for the “Upcoming Changes system” blog post (read more).
HAWK kicked off a cleanup thread about FAQ/Guidelines link confusion, which quickly evolved into a documentation and process review effort (read more).
pmusaraj supported Discourse ID troubleshooting: requested backtraces for “can’t alloc thread” signup failures and helped narrow suspicion toward memory constraints / reproducibility via fresh installs (read more), and offered direct cleanup of duplicate redirect-URI credentials as a temporary fix while workflow improvements are in progress (read more).
Thanks for reading, and I’ll see you again next week!
A busy week on Meta (2026-03-15 → 2026-03-22), with lots of energy around experimental UX (nested replies), developer-facing changes (plugin build tooling + deprecations), and a steady stream of admin/support troubleshooting across hosting, auth, and calendars (see the mega test thread: read more).
Key Stats
New posts:644
New topics:82
Most active / most appreciated users (posts + likes received this week):
Discourse added Calendar subscription URLs (ICS feeds) directly in user preferences, including bookmarks-with-reminders and optional event feeds when the calendar plugin is enabled: Calendar subscription URLs for external calendar apps.
March’s “what we’re building” roundup shipped, including AI limit increases and a roadmap-style digest in Current Projects - March 2026.
A new experimental plugin brings a “Wikipedia-style” workflow for post improvements without granting broad edit rights: Discourse Suggested Edits.
Plugin authors got a big modernization with caching, ES modules, and precompile opportunities in Introducing a new build system for plugins, and the compiler was soon enabled by default in latest (read more).
The review-queue prompt “Is this post something else or spam?” triggered a nuanced UX/wording discussion about binary prompts, dropdown semantics, and grammar ambiguity in “Is this post something else or spam?”.
A “dismiss” button that isn’t truly dismissing (because the underlying condition persists) raised the broader question of snoozing vs clearing admin notices in Clearing advice doesn’t actually clear it.
Meta’s own “Guidelines / FAQ” discoverability prompted discussion about static pages vs topics, restricted categories, and search expectations in Guidelines/FAQ not appearing in search results?.
People couldn’t find the releases site, and the community pushed for better IA/link placement — resulting in quick fixes discussed in Where is the link to the releases? (with changes implemented shortly after: read more).
Cloudflare ops folks shared updated real-world WAF/rules guidance and plan limitations (e.g., regex operator availability) in the evergreen guide thread Using Discourse with Cloudflare: Best Practices.
Discourse shipped a very experimental nested/threaded topic view plugin for testing, explicitly framed as feedback-on-feel rather than bug reporting: Testing Nested Replies on Meta.
To reduce “where did the other posts go?” confusion once deep nesting triggers a detached “context view,” a UI clarity pass was proposed and demoed in UX improvements for deeply nested thread view.
People want per-post translation UX that’s less fiddly than highlight→Ask AI→Translate, plus a way to cache/save translations to avoid repeated API spend: Translate post with AI and save translation (building on earlier localization ideas: read more).
Principales usuarios (mensajes / me gusta recibidos esta semana)
Moin — 34 mensajes / 75 me gusta — ayudó a clasificar problemas como la puntuación en las etiquetas de votación de temas (lee más) y aclaró el comportamiento de limpieza de cargas tras las eliminaciones (lee más).
david — 20 mensajes / 70 me gusta — respondió sobre la visibilidad de los lanzamientos y los anuncios en Meta (lee más), implementó una corrección para los correos electrónicos de «nueva versión» que se quedaban atascados (lee más) y trabajó iterativamente en el sitio de lanzamientos (bucle de retroalimentación sobre RSS y estilo) (lee más).
Falco — 12 mensajes / 55 me gusta — explicó el contexto de la ola de correcciones de seguridad (lee más), impulsó la actualización a la API v2 de Patreon (lee más) y discutió los objetivos de traducción de mensajes privados para Discourse AI (lee más).
zogstrip — 12 mensajes / 29 me gusta — coordinó una serie de correcciones, incluida la validación de alias de emojis (lee más) y mejoras en la experiencia de usuario (UX) de la moderación y la cola (lee más).
merefield — 12 mensajes / 28 me gusta — ofreció un análisis de riesgos reflexivo sobre los complementos de «limpieza de residuos de bases de datos» (lee más) e impulsó soluciones mantenibles para la privacidad y la obtención de enlaces (lee más).
R23D_Printing — 21 mensajes / 28 me gusta — iteró rápidamente en Discourse Challenges, añadiendo intervalos semanales y acceso para moderadores, y luego un ChallengeBot impulsado por mensajes directos (lee más).
awesomerobot — 9 mensajes / 27 me gusta — corrigió regresiones de interfaz de usuario (UI), como la puntuación en la votación de temas (lee más) y propuso mejoras en los permisos de la API para about.json (lee más).
darkpixlz — 19 mensajes / 25 me gusta — ayudó a depurar la ruptura de complementos por CDN/CORS (lee más) y se opuso correctamente a ocultar los banners de temas rotos «rojos y grandes» (lee más).
RGJ — 8 mensajes / 20 me gusta — ofreció una explicación clara de cuándo se eliminan las cargas tras una eliminación permanente (lee más) y sugirió enfoques de proxy más seguros para la obtención de enlaces y la privacidad (lee más).
nathank — 16 mensajes / 20 me gusta — ofreció orientación práctica para administradores (p. ej. visibilidad de grupos en la página «Acerca de») (lee más) y exploró enfoques de funciones y flujos de trabajo relacionados con eventos y llamadas (lee más).
Ed_S planteó preocupaciones sobre los lanzamientos «sigilosos» y pidió que los mensajes de lanzamiento volvieran a Anuncios; david reconoció el problema y dijo que el equipo está discutiendo mejores referencias en Meta (lee más).
La confusión sobre el consumo de lanzamientos continuó en un hilo centrado en la usabilidad de releases.discourse.org, con solicitudes de RSS y mejor legibilidad, lo que resultó en la rápida implementación de un feed RSS (lee más).
El flujo de registro del plan gratuito alojado encontró un error de «demasiados sitios aprovisionados»; HAWK y pedro intervinieron para investigar y confirmar las entradas (lee más).
Los autohospedados que depuraban Discourse ID aprendieron el requisito obligatorio: si tu sitio le dice a Discourse ID que la URI de redirección no es HTTPS, deberás corregir force_https / las cabeceras del proxy; la discusión incluyó malentendidos comunes sobre proxies inversos (lee más).
Un hilo práctico de soporte preguntó cómo eliminar moderadores de la página /about sin eliminar el grupo; un enfoque simple de «grupos ocultos» (y grupos dinámicos opcionales) lo resolvió (lee más).
Una pregunta sobre un «banner rojo grande» se convirtió en un recordatorio: las alertas de temas rotos son intencionalmente llamativas, y la solución correcta es abordar el componente, no ocultar la advertencia (lee más).
Un administrador preguntó cómo mover un banner/imagen a la parte muy superior; las respuestas destacaron que esto se hace mejor mediante un pequeño componente de tema/ajuste de CSS en lugar de manipular el marcado (lee más).
Una molestia de larga data —sin correos electrónicos de «nueva versión disponible»— se rastreó hasta un cambio en la gema redis y recibió un PR principal para corregir el trabajo roto (lee más).
Un problema agudo de «parece HTML plano» en el navegador integrado de Facebook en iPhone se atribuyó a la clasificación errónea de MetaIAB por la detección de rastreadores, y se abrió un PR principal para ajustar los valores predeterminados (lee más).
Varios administradores reportaron fallos silenciosos de complementos tras la actualización debido al comportamiento de CORS del lado del CDN; la depuración temprana apuntó a las cabeceras de BunnyCDN y al momento de la regresión (lee más).
Un pequeño pero real problema de interfaz: con la votación de temas activada y «0 votos» ocultos, aparece una coma después de la última etiqueta; la personalización del tema de Meta estuvo implicada y se ajustó rápidamente (lee más).
Un incidente doloroso con el editor: la carga de imágenes HEIC causó un error y una recarga, perdiendo un borrador largo; la investigación se centró en los pasos de reproducción y los detalles del error (lee más).
Un informe de UX de Meta señaló entradas de 2FA alineadas a la izquierda al iniciar sesión mediante el flujo de «inicio de sesión por correo electrónico»; se abrió un PR de corrección y el diseño de inicio de sesión de Meta recibió un nuevo escrutinio (lee más).
La corrección de los emojis tuvo su momento: :champagne: no existe, pero un alias hizo parecer que debería; el seguimiento añadió validación para prevenir alias a emojis inexistentes (lee más).
Una solicitud de affordance móvil: añadir una barra de agarre a la hoja inferior de acciones de administración de publicaciones (que coincide con la UI de acciones de administración de temas) para mejorar la descubribilidad y el manejo (lee más).
Una solicitud de UX de función propuso un visor de «expandir tabla» de pantalla ancha (solo lectura) para que las tablas markdown grandes sean legibles sin entrar en modo de edición (lee más).
La experimentación continua en Meta con respuestas anidadas reveló tanto entusiasmo como confusión de navegación, especialmente al venir de notificaciones o de la vista plana (lee más).
Los autores de temas y complementos recibieron otro empujón: los archivos .hbs están obsoletos (mover a .gjs), y el tema también destacó Ask Discourse como un ayudante rápido para conversiones pequeñas (lee más).
El soporte para <script type="text/discourse-plugin"> en línea ahora se ha eliminado; el hilo de modernización canónico se actualizó con el hito de eliminación de marzo de 2026 (lee más).
Una actualización del equipo: la charla sobre el nuevo sistema de compilación de complementos se compartió externamente (encuentro Ember Europe), brindando a los desarrolladores un camino para aprender el nuevo flujo de trabajo (lee más).
#customization:plugin
Discourse Challenges evolucionó rápidamente: intervalos semanales, acceso de moderadores y luego ChallengeBot (confirmaciones por DM, recordatorios, comandos como status/leaderboard/streak) llegaron en rápida sucesión (lee más).
Una nueva idea de complemento, Plugin Cleaner, tenía como objetivo escanear y eliminar «residuos» huérfanos de complementos desinstalados; los comentarios destacaron el riesgo inherente de eliminar estructuras de complementos desconocidas o ahora no migradas (lee más).
Discourse Member Application introdujo un flujo de entrada estructurado /apply para comunidades privadas o solo por invitación, reemplazando formularios externos/hojas de cálculo con un proceso de revisión e invitación dentro de Discourse (lee más).
#customization:extras
Dexo, un cliente nativo de Discourse para iOS construido con UIKit/Swift, mostró soporte multi-foro, renderizado HTML, flujos de autenticación y un enfoque de UI limpio (lee más).
#community-building Construcción de comunidad
Un nuevo propietario de comunidad pidió retroalimentación sobre un nuevo foro Discourse para una comunidad de juegos; las respuestas cubrieron el tema, el pulido de UX y hacer que Discourse se sienta menos «genérico» desde el principio (lee más).
Un administrador de comunidad de habla portuguesa preguntó si su foro de juegos está bien organizado; las sugerencias incluyeron replantear los intercambios de etiquetas/subcategorías y mejorar las rutas de incorporación (p. ej. vincular directamente al editor prellenado) (lee más).
Una solicitud a gran escala buscó un experto en migración de phpBB a Discourse para ~870k publicaciones con RTL en hebreo y requisitos estrictos de SEO/redirección, enfatizando tiempo de inactividad mínimo y mapeo de URL (lee más).
david se centró intensamente en la experiencia de lanzamiento y las señales de actualización: abordó preocupaciones sobre anuncios faltantes en Meta y confusión en el panel de control en el hilo de correcciones de seguridad (lee más), movió y organizó los comentarios del sitio de lanzamientos mientras implementaba mejoras como RSS rápidamente (lee más) y respondió a preguntas sobre fijación de versiones para autohospedaje (y corrigió dónde establecer version:) (lee más). También impulsó correcciones/actualizaciones principales que abarcan la entrega de correos electrónicos de «nueva versión» (lee más) y la detección de UA para el navegador integrado de Facebook en iPhone (lee más), además de documentar la eliminación de etiquetas de script en línea heredadas (lee más).
Falco mezcló retroalimentación de producto, integraciones e IA: proporcionó contexto sobre por qué muchas correcciones de seguridad llegaron juntas (lee más), actualizó la experiencia de comentarios incrustados en el blog de Discourse y señaló problemas de tema/relleno para iterar (lee más), y avanzó en la migración a la API v2 del complemento de Patreon, añadiendo un agente de usuario personalizado según se solicitó (lee más). También aclaró las expectativas de comportamiento de Chat/GIF (función vs error) (lee más), dirigió las solicitudes de funciones de calendario al nuevo trabajo de URL de suscripción (lee más) y propuso mejorar los controles de traducción de IA para que los administradores puedan elegir explícitamente si incluir mensajes privados (lee más).
zogstrip estuvo en una racha de corrección de errores, vinculando consistentemente las correcciones a PRs: se discutieron activamente las correcciones del flujo de cola/compositor de moderación (lee más), el comportamiento de aumento de susurros obtuvo un plan de implementación (lee más), los problemas de onebox (incluido el comportamiento roto de x.com) se pusieron en cola para corrección (lee más) y se reconocieron los casos extremos de eliminación permanente con una corrección entrante (lee más). También mejoró el flujo de trabajo de alias de emojis previniendo alias a emojis inexistentes (lee más) y continuó puliendo las expectativas de UX de administración/informe en los interruptores de «Próximos cambios» (lee más).
awesomerobot se concentró en pequeños problemas de UI/UX y mejoras pragmáticas: la regresión de puntuación en la votación de temas/etiquetas se corrigió rápidamente en Meta (lee más), el problema de alineación de 2FA en el inicio de sesión por correo electrónico se rastreó a un flujo específico y se puso en cola para corrección (lee más), y se añadió claridad sobre los resultados de búsqueda semántica/IA frente a las coincidencias exactas (lee más). En el lado de la API, abrió un PR para permitir que los usuarios de API granular lean about.json (lee más) y pidió una mejor reproducción de errores en el informe de pérdida de borrador/HEIC (lee más).
supermathie ayudó a desbloquear problemas de identidad/autenticación autohospedados: explicó por qué Discourse ID insiste en URIs de redirección HTTPS (y qué hace realmente force_https) (lee más) y dio seguimiento a las discusiones sobre mensajes de error/ámbito de API alrededor del acceso a about.json con claves granulares (lee más).
sam opinó sobre problemas de alojamiento «difíciles de reproducir» y UX más amplia: participó en un hilo complicado de fallo de clonación git de tema (señalando interrupciones de GitHub / limitación de velocidad como sospechosos probables) (lee más), impulsó una reevaluación holística de cómo se siente la «aprobación de publicaciones» para los usuarios finales (transparencia de cola, notificaciones, comportamiento del editor) (lee más) y actualizó la documentación principal limpiando material obsoleto (p. ej. la guía «Buscar eficazmente») (lee más). También actualizó la documentación emergente del editor para administradores (lee más) y llamó la atención de ingeniería hacia un enlace de integración de Extras que daba 404 (lee más).
pmusaraj investigó problemas de interoperabilidad de ActivityPub: se identificó el cambio de parámetro de Mastodon (scope → scopes) y se propuso una corrección aguas arriba/en el complemento (lee más), y los problemas de verificación Discourse↔Discourse AP posteriores se redujeron al comportamiento del actor de Meta frente a otros actores (lee más). También confirmó mejoras en Discourse ID para conflictos de URI de redirección de ahora en adelante (lee más) y dio seguimiento al comportamiento de correo electrónico alternativo en sitios del nivel gratuito (lee más).
manuel dio orientación directa al usuario final sobre la configuración de notificaciones (vigilancia/seguimiento) cuando alguien reportó «Meta ya no me notifica» (lee más).
HAWK reconoció y escaló un error de aprovisionamiento de plan gratuito alojado al equipo, manteniendo el ciclo de soporte en movimiento rápidamente (lee más).
pedro se sumó al mismo problema de aprovisionamiento alojado para recopilar detalles de diagnóstico (el valor exacto del dominio ingresado) y ayudar a confirmar la solución alternativa (lee más).
Gracias por leer, ¡y nos vemos de nuevo la próxima semana!
Una gran parte de la energía de la semana se concentró en nuevas funcionalidades de interacción (el nuevo experimento de Impulsos: leer más), incrustar Discourse como un sistema de comentarios completo (leer más) y la continuación de iteraciones en flujos de trabajo de IA / localización (por ejemplo: retroalimentación sobre la calidad de las traducciones de etiquetas en leer más, además de correcciones posteriores como el soporte para iconos de etiquetas traducidas en leer más).
Temas interesantes
#anuncios
Discourse está experimentando con Impulsos (una reacción con un mensaje corto) y la comunidad debatió la superposición de UX con reacciones/me gusta, las implicaciones de moderación y la nomenclatura (el tema de «nombrar cosas» incluso tuvo una aparición especial). leer más
Los incrustados recibieron una actualización importante: el «modo de aplicación completa» ahora carga la aplicación completa de Discourse dentro del iframe para que los visitantes puedan responder/me gustar/citar sin salir del sitio anfitrión, con discusiones sobre la descubribilidad de la barra de desplazamiento y la colocación de «responder al tema». leer más
Los agentes de IA de Discourse ahora pueden conectarse hacia afuera a cualquier servidor MCP («Trae tu propio MCP»), expandiendo la superficie de automatización para agentes de IA a través de herramientas externas. leer más
Una mejora de soporte pequeña pero significativa: los usuarios que siguen/observan temas en las categorías resuelto ahora reciben notificaciones cuando un tema se marca como resuelto, además de comentarios iniciales sobre casos límite de preferencias de notificación. leer más
El lanzamiento mensual de marzo de 2026 se publicó con enlaces a los registros de cambios y lanzamientos de parches, y generó al menos un informe fluido de «cambio a la rama de lanzamiento». leer más
nat publicó una historia «detrás de cámaras» de la evolución multilingüe de Discourse durante 13 años, con elogios y contexto posteriores del equipo. leer más
El equipo aclaró cómo Meta organizará Webinars vs. Horas de Oficina de la Comunidad, incluyendo dónde se alojarán las repeticiones y las sesiones futuras. leer más
#contribuir:feedback-del-sitio
ask.discourse.com estuvo fuera de línea brevemente, fue confirmado por varias personas y se solucionó rápidamente. leer más
Las traducciones de etiquetas generadas por IA provocaron una revisión detallada de la calidad (traducciones sin contexto como editor → «Komponist»), además de discusiones sobre estrategias de contextualización (descripciones de etiquetas, código/glosario). leer más
Una solicitud para agregar ucraniano y ruso al selector de idiomas de Meta recibió una señal positiva del equipo para una acción a corto plazo. leer más
Un retroceso móvil causó que algunas páginas de Meta se mostraran solo con el encabezado/título en navegadores iOS; la investigación lo rastreó hasta un cambio reciente en un componente de tema y se revertió. leer más
Los banners de etiquetas perdieron temporalmente su visualización de etiquetas (banners que parecían vacíos), diagnosticado rápidamente como un cambio en la disponibilidad de datos, luego parcheado en el componente del tema. leer más
Caso límite de etiquetas numéricas: un patrón de URL antiguo /tag/#### producía un error 500 (malo para los rastreadores); el equipo confirmó que tenían un ojo puesto en una corrección mientras mantenían la compatibilidad con /tag/name. leer más
El plugin de expertos de categoría provocó fallos en la fusión de usuarios debido a restricciones de validación; una corrección se coló mediante un PR del plugin. leer más
Un retroceso de traducción mostró IA «pensando/comentando» filtrándose en la salida alemana; el agente se actualizó y los títulos/mensajes afectados se limpiaron. leer más
Las copias de seguridad a Cloudflare R2 fallaron en cargas multipart con una versión más nueva de aws-sdk-s3; fijar las versiones restauró la funcionalidad para las instalaciones afectadas. leer más
Temas archivados + reacciones tenían una lógica incorrecta: algunos mensajes aún podían recibir reacciones bajo ciertas condiciones; se preparó una corrección central. leer más
#contribuir:funcionalidad
El componente de icono de etiqueta ganó soporte para etiquetas traducidas (con un PR referenciado y capturas de pantalla que muestran etiquetas traducidas + iconos correctos). leer más
La integración de incrustaciones de Mistral encontró un desajuste de compatibilidad con OpenAI (dimensions vs output_dimension), lo que provocó una solicitud para admitir la nomenclatura de parámetros de Mistral. leer más
Una solicitud práctica de medios: detectar o rechazar cargas VP9-in-MP4 que fallan silenciosamente en iOS Safari, con discusiones sobre enfoques de transcodificación seguros y opcionales. leer más
Los administradores pidieron permitir correo entrante para grupos automáticos (para evitar soluciones alternativas de «grupo duplicado + sincronizar miembros»), con notas sobre soluciones alternativas existentes solo por consola. leer más
El «Descartar» del editor durante el flujo de edición sigue siendo confuso: las propuestas incluían cambiar el texto de la interfaz a «Cancelar edición» y solo solicitar confirmación cuando hay cambios reales. leer más
La MFA obligatoria puede «atrapar a los usuarios» en la pantalla de seguridad con una orientación limitada; el hilo exploró mejores patrones de personalización (texto del sitio vs inserción de componente de tema encima del outlet del envoltorio). leer más
Un informe de retroceso mostró que los permisos de seguridad de categoría se restablecían al cambiar las relaciones de categoría principal/subcategoría bajo la «creación simplificada de categorías», con el personal confirmando la investigación. leer más
Un problema de flujo de trabajo de larga data: los usuarios no pueden dejar de seguir cuentas suspendidas/baneadas sin des-suspenderlas temporalmente; se vinculó un PR de corrección. leer más
Un hilo sincero sobre crecer una comunidad sin una «tracción» de producto/servicio revisitó las ruedas de actividad, el patrón 99–9–1 y la participación sostenible «no impulsada por el fundador». leer más
«¿Qué tan minimalista es tu foro?» provocó inventarios concretos de lo que los administradores eligen no habilitar (categorías, plugins, chat, reacciones, LLMs), y se desvió naturalmente hacia compensaciones en torno a etiquetas y niveles de confianza. leer más
lindsey lanzó dos anuncios dirigidos al usuario: el nuevo experimento de Impulsos (leer más) y notificaciones mejoradas de Resuelto para observadores/seguidores en categorías de soporte (leer más). También hizo un seguimiento de un elemento de estado de «Proyectos Actuales» relacionado con componentes de estilo de Crowdin (leer más).
Falco impulsó múltiples hilos de producto y plataforma: anunció el nuevo modo de aplicación completa para incrustados y siguió con detalles de simplificación de UI y comportamiento (leer más); reforzó el comportamiento de notificaciones push en la pantalla de inicio de iOS (y señaló la causa raíz de la fragilidad) en el hilo de notificaciones push (leer más); confirmó que Meta podría agregar ucraniano/ruso en el selector de idiomas pronto (leer más); y discutió estrategias de mitigación de cargas VP9 con referencias a Video Stream como opción (leer más). También continuó iterando en MCP y flujos de trabajo de IA (por ejemplo, sopesando enfoques de «activación de flujo de trabajo» para bots solo de mención en leer más, y destacando el soporte de edición de publicaciones de MCP en leer más).
nat se centró intensamente en la localización y la calidad de la traducción por IA: publicó la historia multilingüe extensa «Construyendo para Cada Idioma» (leer más), respondió rápidamente a la retroalimentación de «las etiquetas traducidas por IA carecen de contexto» y discutió mejoras de prompts/herramientas (leer más), y confirmó que se venía una corrección para el caso límite 500 de URL de etiqueta numérica (leer más). También entregó/coló mejoras en toda el área de superficie de localización, incluido el soporte de iconos de etiquetas traducidas mediante PR (leer más) y una corrección dirigida para la filtración de «comentarios/pensamiento de IA» en traducciones alemanas (leer más). En el lado de la configuración, delineó un futuro más granular para el alcance de la traducción por IA (incluyendo controles de traducción de MP) con un plan de migración y enlace de PR referenciado en el tema (leer más).
awesomerobot estuvo activo en UX de producto y mantenimiento: aclaró cómo se ajustaban los Impulsos en una jerarquía de interacción y confirmó que la función será opcional, mientras también discutía características de seguridad como palabras vigiladas y posibilidades futuras de escaneo de IA (leer más); diagnosticó y corrigió un retroceso en banners de etiquetas con un rápido retorno de PR (leer más); y proporcionó un enfoque concreto de componente de tema para agregar guía personalizada de cumplimiento de MFA mediante una inserción de outlet (leer más). También abrió/fusionó mejoras de flujo de trabajo como hacer que los flujos de rechazo creen un borrador para editar después del rechazo de la cola de revisión (leer más), ajustó el texto del sistema confuso sobre «responder a este mensaje» cuando no hay usuario/grupo de contacto configurado (leer más), y reconoció rarezas de UI de Ask Discourse como el enlace redundante «Volver al Foro» en la página de inicio (leer más).
zogstrip implementó una amplia serie de correcciones y PRs a través del núcleo y plugins/componentes oficiales: abordó preguntas sobre Impulsos y aclaró que los impulsos no reordenarán los mensajes (leer más); corrigió la lógica de «me gusta/reacciones en temas archivados» (leer más); vinculó un PR de corrección para dejar de seguir usuarios suspendidos/baneados en el plugin de seguimiento (leer más); y manejó varios problemas operativos menores como el comportamiento de «notificar usuarios» en la invitación masiva de grupos (leer más) y un problema de RTL en el comportamiento del icono de enlace externo (leer más). También aclaró un entendimiento erróneo sobre un ajuste relacionado con el registro y actualizó su descripción para reducir la confusión de los administradores (leer más), y coló una corrección para problemas de esquema acceptedAnswer descubiertos a través de Google Search Console (leer más).
david proporcionó soporte técnico profundo y comunicación de lanzamiento: explicó por qué los problemas de CORS surgieron después de actualizaciones recientes (scripts de módulo + encabezados) y guió a los administradores a través de los requisitos de reconstrucción de NGINX/CDN, incluyendo señalar la ruta exacta de la corrección y el comportamiento de reconstrucción (leer más); publicó el anuncio de lanzamiento de marzo de 2026 con enlaces al registro de cambios (leer más); y depuró un escenario de colisión de migración asistido por IA en discourse-ai, incluyendo los detalles de ordenamiento de migración subyacentes y opciones de mitigación (leer más). También fusionó y lanzó un PR de dependencia (Soporte de Sidekiq 8 para mini_scheduler) rápidamente después de la presentación (leer más).
sam continuó impulsando Discourse AI + MCP: anunció «Trae tu propio MCP» para agentes de IA de Discourse (leer más) y publicó la guía de administración para conectar servidores MCP a agentes (leer más). También sopesó compensaciones en torno a la lógica de respuesta de bots solo de mención (inclinándose hacia los valores predeterminados para reducir la dispersión de opciones) (leer más), y participó en el hilo de colisión de migración con ideas como linting/habilidades para imponer migraciones con marcas de tiempo correctas al usar herramientas de IA (leer más).
mcwumbly participó en varios puntos de contacto de «cómo ejecutamos Meta» y «cómo enviamos cambios»: elogió y añadió contexto al post de historia multilingüe (leer más), discutió un enfoque de prototipo de «espacios de trabajo» que mapea categorías a espacios de equipo (tipo Slack) (leer más), y compartió cómo Meta ajustó los límites TL3 usando Explorador de datos, incluyendo un puntero a la publicación de referencia de consulta exacta (leer más). También reconoció y coló la investigación para un retroceso de restablecimiento de permisos de categoría bajo la creación simplificada de categorías (leer más), y continuó atendiendo las mecánicas y comportamientos de barra lateral/etiquetas del hilo del experimento «hub de jardinería de contenido» (leer más).
Bas manejó un incidente de operaciones rápidamente: confirmó y luego resolvió la caída de ask.discourse.com, publicando la actualización «solucionado» una vez que el servicio regresó (leer más).
davidb identificó la probable causa raíz del «problema de página de tema rota en móvil» como un commit específico en el componente discourse-tag-icons, e inició una reversión temporal mientras investigaba (leer más).
Bookmarks got a major discoverability improvement with “jump to bookmarked posts” from the topic footer action menu: read more
The Meta Branded theme rebuild shipped (new implementation + early look at the Blocks API), sparking a lot of UI/icon feedback: read more
A wave of quick UX and bugfix PRs landed (RSS exclude tags, calendar/iCal formatting, composer strings, localization edge cases), often with “fixed by PR” replies directly in-topic, e.g. RSS exclude_tag: read more
Interesting Topics
#Announcements
Boosts on Meta (#Announcements) — The ongoing “Boosts” experiment triggered a deep discussion about signal vs. noise, moderation implications, and UI density (especially on mobile), with proposals like folding/expanding boosts and concerns about “negative boosts”: read more
Easier access to bookmarks (bookmarks, #Announcements) — Discourse added quick access to all bookmarked posts in a topic via the bottom-of-topic bookmark control, making “where did I bookmark that?” much easier to solve: read more
Mobile composer in 2026 (composer, mobile, ux) — Canapin kicked off a “mobile-first reality check” on the composer’s growing complexity; replies centered on what to remove, what must remain, and iOS-specific reliability issues: read more
How to close the tag selector on mobile (composer, mobile, tags, ux) — A small-but-daily papercut: the tag chooser doesn’t have an obvious “close” affordance on mobile, forcing users to learn a non-intuitive tap target: read more
Bookmarks UI edge cases on mobile (bookmarks, #contribute:feature) — A nuanced UI/mental-model thread: how should the footer bookmark icon communicate “topic bookmarked” vs “post(s) bookmarked”, and how do you keep actions consistent without hiding “jump to bookmarks” discoverability? read more
Community-building discussions on Meta (#Site feedback) — mcwumbly asked how Meta should better encourage community building / management discussions after category reshuffles (and what behavior/structure changes would help): read more
Feature/bugfix announcement topics and version clarity (#Site feedback) — A practical meta-process request: include versions in announcement topics so admins who can’t realistically run tests-passed daily can still plan upgrades: read more
#Site feedback
Rebuilding the Meta Branded theme + Blocks API (meta-theme-feedback, meta-redesign-2026, #Site feedback) — The new Meta theme rebuild showcased Lucide icons, tighter theme/palette controls, a custom homepage direction, and an explanation of how Blocks differ from PluginOutlets for more stable layouts: read more
Inaccurate plugin availability notes (#Site feedback) — Several official plugin topics still claim “available on all hosting tiers” despite new plan tiers; the thread explored linking directly to pricing tables and reducing “two sources of truth” drift: read more
#customization:theme component
Discourse Lucide Icons (#customization:theme component) — A dedicated theme component topic for Lucide landed, quickly collecting icon mapping feedback (e.g., reply/share confusion, filled heart behavior, missing icons like calendar-heart): read more
Topic Hover Cards (#customization:theme component) — A new component proposes tooltip-style previews when hovering/tapping internal topic links; early feedback asked for clearer screenshots/preview before adoption: read more
Highlight to Search (search, #customization:theme component) — A small productivity boost: highlight any text and immediately search for it, packaged as a new theme component with a live preview: read more
Customizable Print to PDF Button (#customization:theme component) — A new “clean print” topic button component aimed at improving topic export/printing compared to the stock print flow: read more
Unhide composer fullscreen toggle for tablets (composer, tablet, #customization:theme component) — A focused component to restore the fullscreen composer toggle on touch devices with larger screens where it’s hidden by default: read more
OIDC login error on the OpenAI hosted forum (openid-connect, hosted-support, Support) — Users reported OIDC authorization failures; escalation + confirmation of resolution followed shortly after: read more
Private Topics / Ticket System permission scare (resolved) (Support) — A “this might be a security incident” moment turned out to be a configuration misunderstanding in the Private Topics plugin; the fix was to remove a group from “always show topics started by…” so TL0 users wouldn’t see everything: read more
Windows support expectations (Support) — A clear statement emerged: Discourse doesn’t support Windows versions Microsoft doesn’t support, though browser forks may work in practice for legacy systems: read more
New site signup stuck on “Almost there…” (resolved) (free-plan, Support) — New customer onboarding briefly failed; staff confirmed an incident and then a fix: read more
Structured data issue: missing fields in mainEntity.suggestedAnswer (bug) — A schema/microdata regression was investigated and partially fixed; follow-up indicated remaining validator complaints around missing text/datePublished fields: read more
Data Explorer won’t save queries containing semicolons in quoted HTML entities (data-explorer, bug) — A validation rule blocked harmless semicolons inside quoted strings; the request was to only reject actual query terminators outside quotes: read more
Data Explorer output double-escapes HTML (data-explorer, bug) — A confusing display bug: Fish & Chips renders as Fish & Chips in query results, making it harder to work with plain text outputs: read more
Exclude_tag broken in category RSS feeds (rss-polling, bug) — Excluding tags from category RSS didn’t work, but a /latest.rss?category=...&exclude_tag=... workaround did; a core fix was proposed right in the thread: read more
Highlight.js bundles + S3/CDN CORS fallout after upgrade (fixed) (cdn, #Self-hosting) — A subtle “assets loaded from the wrong CDN” bug caused highlight-js failures on codeblocks; a PR corrected highlightjs bundle URL behavior for that S3-only configuration: read more
Falco anchored several “what’s realistically supported?” conversations, including legacy OS access expectations (Windows support guidance), and helped land calendar subscription improvements by implementing a better calendar name field for Google/Outlook via X-WR-CALNAME (webcal name fix PR link in-topic). He also engaged in AI/provider nuance in support threads about model selection and constraints (Mistral translation/images discussion).
zogstrip handled multiple fast-turnaround fixes and polish items: making preview “reading time” localizable instead of hardcoded (“mins” localization fix), fixing ampersand escaping in calendar event sync (& in event titles), addressing RSS exclude_tag behavior (exclude_tag RSS fix), and tackling composer/UX text issues (“discard post” wording) (discard prompt fix).
mcwumbly steered “Meta about Meta” conversations: asking how to encourage community-building discussions after category changes (community-building structure discussion), responding thoughtfully to concerns about developer time and autonomy in the Boosts experiment debate (Boosts philosophy response), and collaborating on reducing confusion around plugin availability callouts (plugin availability notes).
david clarified Discourse’s rationale around deprecations and platform consistency (especially the .js.es6 extension confusion and tooling impact) (deprecation rationale), and diagnosed a self-hosting CDN/CORS issue affecting highlightjs bundles with a concrete fix proposal (highlightjs bundle URL fix).
davidb investigated and merged structured data fixes for missing microdata fields, while identifying edge cases like emoji-only and image-only posts confusing validators (schema/microdata update).
supermathie helped untangle a “private topics” ticketing configuration scare by pushing for clearer problem statements and future-reader usefulness (requesting explanation for posterity), and contributed practical confirmation about calendar name fields across clients (Outlook expectations) (X-WR-CALNAME confirmation).
Thanks for reading, and I’ll see you again next week!
Discourse reafirmó su postura de código abierto (y por qué la «seguridad por oscuridad» no funciona), en «Discourse no va a ser de código cerrado» — una respuesta oportuna a la ansiedad de la industria sobre el descubrimiento de vulnerabilidades impulsado por la IA. leer más
#Announcements
La creación de categorías recibió un gran impulso en la UX: las «categorías de ideas» ahora se pueden crear más fácilmente con Discourse Topic Voting, incluyendo un flujo de configuración más claro y valores predeterminados. leer más
La incrustación de Discourse como un sistema de comentarios completo sigue madurando; el hilo de anuncio recibió más comentarios del mundo real y seguimientos, incluidas mejoras como una affordance flotante para responder/ver la línea de tiempo. leer más
El lanzamiento de «Aplicar cuadrículas automáticamente a las subidas de imágenes» recibió aclaraciones: «Estable» en Cambios próximos no siempre significa que la configuración desaparecerá; a veces es solo un cambio de valor predeterminado. leer más
#contribute:feature
Un debate de UX de larga data resurgió: la advertencia de «responder a un tema antiguo» ha desaparecido, y los administradores quieren un reemplazable configurable, orientado a la guía, en lugar de un bloqueo desalentador. leer más
Ergonomía de la Cola de revisión: los moderadores pidieron agrupar los elementos revisables por usuario (o un contexto más fuerte) para evitar acciones accidentales de «eliminar usuario» cuando las banderas y los mensajes están separados en la cola. leer más
Solicitudes de funciones para Chat llegaron en dos hilos estrechamente relacionados: encuestas dentro de los canales de chat y configuraciones predeterminadas del canal (por ejemplo, hilos preconfigurados, permisos, etc.). leer más y leer más
Un caso límite doloroso en la actualización: los plugins no podían guardar configuraciones de categoría cuando enable_simplified_category_creation estaba activado; los desarrolladores fueron dirigidos a patrones de migración de FormKit y se les aconsejó desactivar temporalmente mediante Cambios próximos. leer más
Problema de escalado de Traducción por IA: el portugués (pt) fue omitido al traducir a muchas configuraciones regionales a la vez, lo que llevó a una investigación sobre fallos en el backend, registro detallado y comportamiento de reintento. leer más
El menú de llave inglesa de mensajes de administrador tenía consejos de desplazamiento rotos o faltantes; se abrió un PR principal para corregir los errores de copiar/pegar y agregar títulos donde fuera útil. leer más
Inconsistencia en la UX de etiquetas: el editor a veces afirmaba que una etiqueta estaba permitida y a veces no, dependiendo de la entrada de autocompletado; la corrección requería una lógica de aplicación «más inteligente» alrededor de los límites. leer más
Regresión en Calendario/Evento + Resumen: un enlace de chat faltante en el widget de evento del mensaje se rastreó hasta cambios en el sistema de compilación y se corrigió rápidamente mediante un PR. leer más
Los usuarios no podían ver las pestañas de detalles de invitación debido a un error de ruta (controllerFor vs modelFor); se envió una corrección mediante un PR principal. leer más
El autocompletado de hashtags activó errores de consola en modo seguro, con una ruta vinculada a la falta de helpers de generación de iconos; las correcciones se implementaron mientras continuaba la reproducción más profunda para el segundo modo de error. leer más
Perfeccionamiento del editor RTL: el campo «título de nuevo tema» permanecía LTR cuando estaba vacío; se propuso y fusionó una corrección basada en marcado para intercambiar el comportamiento de dirección según si el campo tiene contenido. leer más
Mejora del modal de compartir en móvil: la colocación del botón Copiar era incómoda en pantallas pequeñas; un PR reorganizó el contenido manteniendo la fecha del mensaje visible. leer más
La transparencia de la Cola de revisión cambió: los detalles de la puntuación de banderas fueron eliminados intencionalmente debido a la confusión, lo que generó discusión sobre qué debería permanecer visible y por qué. leer más
Continuó una gran discusión sobre las limitaciones de composición en móvil (descubribilidad de la barra de herramientas, altura comprimida del editor y la tensión entre las expectativas web vs. aplicación). leer más
Confusión en los mensajes del plan gratuito: los usuarios informaron de comunicaciones de apagado / tiempo de solo lectura engañosas, lo que desencadenó una investigación del personal sobre la claridad de la línea de tiempo y el comportamiento de automatización. leer más
Cuento de advertencia de Redis: vaciar Redis «arregló» una interfaz de usuario «Actualizando…» atascada, pero los respondedores enfatizaron el papel de Redis en sesiones/trabajos de Sidekiq y animaron a un diagnóstico más dirigido. leer más
Imágenes remotas: un sitio alojado comenzó a descargar y reemplazar URLs de imágenes remotas inesperadamente; la depuración sugirió subidas ya descargadas (coincididas por hash) y limpieza de tiempo. leer más
Personalización de texto de administrador: cambiar el texto «Bienvenido de nuevo» en /login se resolvió localizando js.login.header_title (y un recordatorio de presionar retorno en la interfaz de búsqueda). leer más
#customization:theme component
Una mejora de interfaz ligera: Discourse Dynamic Sidebar Icon alterna el icono de la barra lateral según el estado abierto/cerrado, con comportamiento móvil opcional. leer más
Wikipedia Lookup se lanzó como un componente de tema, agregando tooltips y URL base configurable (soportando Wikipedias específicas de idioma y otros dominios de wiki). leer más
#customization:plugin
Un nuevo plugin experimental: Buffer — simplificar el compartir temas en redes sociales, agregando «Compartir en Buffer» desde el modal de compartir / llave de administración de tema para flujos de trabajo del personal. leer más
Caso límite de incrustación de WP Discourse: los mensajes de WordPress «Solo galería» rompieron la extracción de vista previa debido a Readability (algoritmo de Mozilla Reader View); el hilo mapeó mitigaciones prácticas y configuraciones de selector de incrustación relevantes. leer más
sam ancló la conversación meta más grande de la semana con una declaración clara sobre por qué Discourse no va a ser de código cerrado, y por qué la apertura aún se alinea con los valores de Discourse. leer más También ayudó a depurar «las actualizaciones en tiempo real no aparecen» verificando si las instancias estaban detrás de un proxy. leer más
Falco impulsó una discusión de alto rendimiento en el mundo real sobre incrustaciones con Tecnoblog, cubriendo encabezados de caché, comportamiento de análisis de incrustaciones y múltiples correcciones iterativas (altura dinámica, carga diferida y recorte de consultas específicas de incrustaciones). leer más También confirmó el comportamiento de configuración de idioma para mensajes mixtos en traducción por IA. leer más Y dio seguimiento a las mejoras de comentarios incrustados (affordances flotantes para responder/ver la línea de tiempo). leer más
awesomerobot implementó (o inició) múltiples correcciones de calidad de UX: corrigiendo los consejos de desplazamiento del menú de mensajes de administrador mediante PR. leer más También explicó la causa raíz de «los plugins no pueden guardar configuraciones de categoría» bajo la ruta de creación simplificada de categorías/FormKit, incluyendo una referencia de migración y mitigación temporal mediante Cambios próximos. leer más Además, corrigió un error de visibilidad de detalles de invitación de usuario. leer más
pmusaraj proporcionó diagnósticos profundos en múltiples problemas: ayudando a depurar «la traducción por IA omite portugués» pasando de preguntas de configuración → hipótesis de tasa/tiempo de espera → registro detallado y errores de backend. leer más También lanzó el plugin experimental de compartición Buffer para flujos de trabajo sociales del personal. leer más E identificó un error «el tema no existe» complicado al cambiar configuraciones regionales como un parámetro de URL ?preview_theme_id= obsoleto. leer más
chapoi contribuyó tanto a la dirección del producto como al triaje de soporte: reaccionando públicamente a la discusión de la postura de código abierto y reforzando el orgullo interno en la decisión. leer más También dirigió las discusiones de UX de la cola de revisión hacia un espacio de interfaz accionable (expandiendo el área de información). leer más E involucró al personal para investigar un informe de «no se puede desactivar el modo solo lectura» del Plan Gratuito. leer más
nat se mantuvo activo en soporte de IA y plugins: asesorando sobre la depuración de fallos de traducción por IA (registros detallados, límites de tamaño de mensajes, ventanas de contexto de LLM y notas sobre calidad del modelo). leer más También rastreó y corrigió un problema de restauración/indexación de Categorías de Documentación probablemente desencadenado por efectos secundarios del Calendario. leer más Y parcheó un caso límite del plugin Livestream donde el grupo «todos» no se comportaba como un grupo real para verificaciones de permisos. leer más
manuel destacó las mejoras de herramientas del ecosistema (notablemente la interfaz de lanzamientos mejorada) en el hilo de código abierto. leer más También rescató un proyecto práctico de generador de archivos estáticos para Discourse, compartiendo un repositorio y un archivo demo para evaluación. leer más
jomaxro aclaró la arquitectura de autenticación y las limitaciones alrededor de 2FA con inicios de sesión externos (incluyendo Discourse ID), corrigiendo un detalle de protocolo inicial y confirmando que la aplicación recae en el proveedor externo. leer más También aclaró la postura actual sobre pruebas gratuitas y requisitos de tarjeta de crédito, y ayudó a resolver la confusión alrededor de orientaciones muy antiguas. leer más
zogstrip implementó correcciones y explicaciones en todo el comportamiento principal: reconociendo y corrigiendo un problema de pista de límite de etiquetas en el editor. leer más También señaló la corrección para el helper de icono faltante en el autocompletado de hashtags. leer más Y explicó el mecanismo interno de «presupuesto de diff» detrás del mensaje «El diff es demasiado complejo para mostrar», enlazando directamente a la implementación. leer más
martin aclaró cómo funciona el mensaje de estado de Cambios próximos (y qué implica realmente «Estable»), incluyendo orientaciones para futuros tipos de impacto de «configuración predeterminada». leer más También ayudó a cerrar el ciclo en el hilo de «los plugins no pueden guardar configuraciones de categoría» señalando dónde se comunicaron las advertencias y confirmando que las correcciones oficiales de plugins se fusionaron. leer más
A few threads that drove a lot of discussion this week (sampling)
The Meta theme homepage got a Blocks-powered refresh, plus follow-up troubleshooting around “why don’t I see it when logged in?” (read more)
Reactions/likes UX changes kept evolving, including fixes and follow-ups for mobile/touch behavior (read more)
Nested Replies testing continued to surface real-world navigation + notification challenges (and feature debate) (read more)
Several admin-focused improvements landed in quick succession: Data Explorer charting (read more), category approval flexibility (read more), Topic Voting UX improvements (read more), and bulk pin/unpin actions (read more)
Internationalization and SEO got tangible wins: localized emoji search (read more) and a canonical/hreflang fix for ?tl= pages (read more)
Interesting Topics
#announcements
Current Projects (April 2026) landed with the latest “what we’re building now” roundup, framing recent deliverables like embedding improvements and ongoing focus areas for the platform (read more)
Data Explorer got more charting options: nat shared how the plugin now auto-selects better chart types based on result “shape”, making queries easier to interpret without exporting data elsewhere (data-explorer) (read more)
Category approvals became more flexible: new category moderation controls allow “everyone except certain groups” or “only certain groups” approval requirements, reducing mod workload while keeping guardrails (#announcements) (read more)
Topic Voting UX improvements shipped: voting access while scrolling, prompts to follow after voting, and improved “Hot” sorting made idea categories feel more responsive and intentional (topic-voting) (read more)
Bulk pin/unpin is here: admins can now pin or unpin multiple topics at once from topic list bulk actions—small change, big time saver for ongoing curation (#announcements) (read more)
Simpler email subject lines: lindsey outlined changes that remove redundant/technical formatting from email subjects to make communities feel less “developer-ish” in inboxes (email) (read more)
Emoji search now works in your language: emoji keyword matching expanded beyond English into 48 locales—a long-standing need for multilingual communities (localization) (read more)
#contribute:site-feedback
Meta’s homepage got a dashboard-style update: derek rolled out a Blocks-based homepage layout (events, hot topics, contributors), with discussion on why educational video content is surfaced and how personal homepage preferences interact with the new “Home” link (meta-redesign-2026) (read more)
Where should “show-and-tell” posts go?mcwumbly suggested a lightweight convention: post in General and tag show-and-tell—then let patterns emerge before adding structure (and the topic itself became a mini show-and-tell) (read more)
Category organization feedback continued: users highlighted friction around long inline category references (e.g. parent/subcategory paths), hashtag completion ergonomics, and discoverability tradeoffs after the Meta category refresh (meta-redesign-2026) (read more)
Restricted/private-ish tags leaking into UX: the “tag cleanup” thread resurfaced questions about whether restricted tags should be discoverable to unauthorized users at all—leading to investigation and a core fix (tags) (read more)
Possible slow rendering with disco-toc + many headings: Moin reported noticeable delays that disappeared in safe mode, raising suspicion that certain components (or ToC generation) may be too heavy on long/structured posts (disco-toc) (read more)
User deletion modal had an absurdly long button label on mobile: Canapin reported the truncation, and awesomerobot proposed a redesigned flow (choose delete type first, then confirm) with a PR already in motion (mobile) (read more)
Event date styling next to topic titles was confusing on mobile: the mobile rendering lacked the visual separation seen on desktop, prompting a quick “make it consistent (and simpler)” fix proposal (calendar-and-event) (read more)
Mobile review queue UI got a cleanup pass: misaligned header elements, spacing issues, and overly tall titles were raised—then awesomerobot followed up with a batch of improvements in core (review-queue) (read more)
SEO + localization bug: ?tl= pages canonicalized incorrectly: multilingual admins flagged that translated crawler pages couldn’t rank because the canonical pointed to the base language; nat agreed and shipped a fix via core PR (seo, content-localization) (read more)
Chat performance: Pitchfork timeouts and “silent threads”: a deep write-up suggested chat reply tracking could bloat over time and cause slow/unreliable loads; sam tested and reported a huge performance improvement via indexing/query changes (chat) (read more)
Mentions reachability check broke with uppercase usernames: thoka found case-sensitivity gaps that prevent “won’t notify” warnings in restricted categories; follow-up discussion led toward smaller, safer endpoint-level fixes (mentions) (read more)
Communiteq Power Tools plugin: RGJ consolidated lots of “small but practical” admin enhancements into one maintained plugin—reducing the need for console access and bundling quality-of-life tweaks (#customization:plugin) (read more)
Serve Discourse content as Markdown: benword released a plugin that outputs “cooked → markdown” via Accept: text/markdown or .md URLs, aimed at cheaper LLM ingestion and simpler downstream processing (markdown, ai) (read more)
Combined login/signup button component: Lilly shipped a header-space saving theme component that merges auth buttons into one dropdown/modal—especially helpful on mobile where signup can be hard to spot (login, signup) (read more)
Show hidden categories component: pfaffman shared a theme component approach to “preview” hidden categories (via a “fake category” linking to group join/request), and compared it to existing options (#customization:theme-component) (read more)
General / #customization:extras (show-and-tell energy)
Domniq: a Discourse-native Android+iOS app preview: nicolsdennis showcased an app build with push notifications, moderation actions, and a polished UI—plus discussion of theme inspiration and chat styling (show-and-tell) (read more)
“I populated my forum with bots” sparked a philosophical debate: the experiment reframed bots as a personal briefing engine rather than simulated community, and the thread explored authenticity, value, and design aesthetics (show-and-tell) (read more)
Discourse Shortlink Router proposed a new way to share “support URLs” cleanly: swap your domain for a router domain to generate clickable admin/settings links, alongside a trust/privacy discussion (#customization:extras) (read more)
lindsey shipped multiple admin-facing improvements and updates this week: the April roadmap newsletter (Current Projects), more flexible category-level approvals (read more), bulk pin/unpin actions (read more), and Topic Voting enhancements (read more). She also continued the “make Discourse feel less technical in inboxes” push with simplified email subjects (read more) and documented new safeguards for permanent deletion settings becoming admin-visible (read more).
Falco advanced multilingual UX with localized emoji search (read more) and pointed translators back to the change when older support topics resurfaced (read more). He also kept driving embed-as-comments improvements and troubleshooting in the Tecnoblog embed thread (read more), helped isolate tracking/analytics issues via PR links (read more), and advised on Ghost integration behavior and expectations (read more). On AI translation operations, he clarified how switching LLMs affects translation progress (read more) and coached on improving AI triage examples/tool-call usage (read more).
nat focused on localization correctness and SEO: she confirmed that translated ?tl= pages should be self-canonical and shipped a fix quickly (read more), plus guided follow-up rollout questions (read more). She also clarified retry/backfill behavior and expectations in an AI translation reliability debate (read more), and closed the loop on multiple content-localization bugs with deployed fixes (read more; read more; read more). Separately, she announced richer Data Explorer charting to make community analytics more accessible (read more).
awesomerobot had a particularly UX-heavy week: he proposed a cleaner deletion flow to avoid giant mobile button labels (read more), addressed mobile event date styling inconsistency (read more), and pushed fixes for mobile review-queue alignment/spacing issues (read more). He also took on tricky mobile modal/viewport behavior with an “add user to list” modal fix attempt (read more) and explained why some “empty space” on topic lists is reserved for live presence UI (read more). On Meta’s redesign goals, he added important context about broadening Meta beyond developers in the homepage refresh thread (read more).
chapoi continued polishing the reactions/likes experience: he shared progress on making “display all reactions” better than the initial fix (read more) and clarified intended “new normal” behavior (reactions on the left) (read more). When users of likes-only sites objected to the new two-heart UI, he confirmed the team was working on restoring the single-like-button layout for reactions-disabled sites (read more). He also chimed in on Meta tag UX expectations around restricted tags (read more) and reacted to the AI-bot “show-and-tell” forum experiment with thoughtful framing (read more).
derek rolled out and supported the new Blocks-based Meta homepage, explaining design intent and tradeoffs (including surfacing educational content) (read more), and then quickly resolved a break caused by a core change interacting with the theme’s custom homepage model (read more).
zogstrip was active across multiple “small but sharp” bugfixes: he investigated restricted tags leaking into tag autocomplete and landed a core fix (read more), reviewed the “double-escaping underscores in image alt text” regression and opened a PR despite it being tricky (read more; read more), and handled draft deletion API inconsistencies with a fix proposal (read more). He also responded to mention-case-sensitivity issues by opting for safer incremental endpoint fixes (read more) and investigated a backups-page breadcrumb race condition (read more).
mcwumbly helped shape Meta’s culture/structure around “sharing builds” by proposing the show-and-tell convention (read more) and then encouraging spin-off topics for deeper feedback loops (read more). He also explored product-design space in a sensitive feature request about “post approval by future self / trusted friends,” including the idea of opt-in just-in-time AI feedback (read more), and apologized/clarified a Meta mishap where a topic became inaccessible due to category privacy changes (read more). Finally, he confirmed Discourse ID username changes are now available directly in user settings after recent work (read more).
supermathie tackled several technical/support edges: he highlighted how “private email” mode makes outgoing emails confusing when the topic link is removed (read more), participated in an older-but-active discussion about automating access to Discourse via external tools and clarified intent vs automation boundaries (read more), and dug into federated 2FA/MFA signaling limitations for Discourse ID (OAuth2 vs OIDC needs) (read more). He also confirmed an MCP permission fix for about.json access was merged (read more) and answered a self-hosting filesystem question with a pragmatic GeoIP symlink suggestion (read more).
pmusaraj stayed deep in Discourse AI and “diagnose + set expectations” support work: he explained token-cost implications and retry behavior in translation failures when upstream LLMs return errors (read more), and followed up with concrete improvements to category-targeting behavior and locale overrides in AI translation tooling (read more). He also encouraged contributions on Onebox behavior for Google Photos albums by tagging it pr-welcome (read more), and praised the “cooked-to-markdown” approach in the new Markdown export plugin thread (read more).
Thanks for reading, and I’ll see you again next week!
General Discourse’s “infinite scroll” sparked a nuanced debate about UI mechanics vs. algorithmic feeds, including accessibility/legal angles and whether “bottomlessness” is inherently addictive in a forum context. read more
Generalshow-and-tellkirupa shared an update on resurrecting a quiet community with bots—now with full source code published for others to learn from. read more
#Announcements
#Announcementstopic-votingbadges New Topic Voting badges landed (Daydreamer → Visionary), plus thoughtful backfill/notification rules to avoid spamming users for ancient vote milestones. read more
#Announcementstrust-levels Defaults for TL3 requirements are being adjusted via an upcoming change, aimed at making TL3 achievable on very active sites without admins needing to hand-tune caps. read more
#Announcementsrelease-notes The April 2026 monthly release shipped, with the canonical changelog linked for the full list of improvements and fixes. read more
#Announcementscalendar-and-event Calendar subscription UX got a real-world nudge: admins reported users grabbing the “wrong” subscription URL first, prompting discussion on re-ordering options to reduce confusion. read more
bugdata-explorer A Data Explorer UI regression limited report results to a cramped, scroll-boxed view—quickly confirmed and fixed for affected sites. read more
bugfixed Plugin/theme compilation logs got noisy and confusing due to missing ember-this-fallback helper modules; the underlying breakage was identified and patched (with a backport planned). read more
bugchat A “phantom ping spam” issue caused duplicate mention notifications from a single message; a fix was merged shortly after reports. read more
bugcomposerai The new docked AI composer got early testing feedback: editing, quoting, sidebar interactions, and mobile scrolling issues were reported, triaged, and iterated on via follow-up fixes. read more
bugfixed After updating to 2026.4, some sites saw “Document tree depth limit exceeded” from crawler-related middleware paths; investigation led to targeted fixes. read more
uxinvites Invites UI oddities: users could create invites from other people’s profiles, which felt misleading because the invite still originates from the clicker—not the profile being viewed. read more
ux Relatedly, an Invite tab appearing on hidden profiles was flagged as a UI leak (even if it didn’t expose the hidden user’s data). read more
uxcategory-badge-styles Category badge text colors became unreadable for some themes due to foundation modernization CSS interactions; a component-level fix was proposed and PR’d. read more
ux Some users reported smaller mobile font sizes on certain hosted communities, with investigation pointing to the modernized Foundation theme being enabled on those instances. read more
uxtagsmobile Long tags (or many tags) can get cut off at the screen edge without clear truncation affordances, raising questions about mobile readability and layout rules. read more
Support The age requirement (13+) question turned into a practical guide on what differs between self-hosting and CDCK hosting, plus how compliance regimes (COPPA / UK OSA / EU DSA) shape obligations. read more
Supportemail A quick clarification on customizing digest/summary email subjects: admins can often do this via site texts like user_notifications.digest.subject_template. read more
Support Enabling Ruby YJIT via template led to a great debugging thread—ultimately boiling down to how environment variables were being checked (and how sudo can scrub env). read more
Supportcomposer Admins asked how to hide category descriptions in the category chooser; a small CSS snippet solved it cleanly. read more
Supportuser-directory Partner-program “directories” came up again, with pointers to the built-in user directory and ways to present it as cards via theme components. read more
#customization:theme component A “pagination-like” workaround arrived fast: Load More Button theme component intercepts auto-loading and requires manual input—useful for admins worried about “infinite scroll” semantics. read more
#customization:theme componentModern User Card work continues: restoring/modernizing the experimental usercard design surfaced deprecations and refactor needs as core evolves. read more
#customization:theme The new Verso theme dropped: lightweight, editorial-inspired styling with soft colors and both light/dark schemes. read more
developmenttheme-guidesblocks A new repo of Claude Code “skills” for Discourse theme + Blocks authoring was shared, including an example theme and patterns for layout frames/outlets. read more
development A candid “case study” write-up on learning plugin development while building a contact-form plugin—useful perspective for aspiring community builders who aren’t full-time engineers. read more
Marketplace A pre-launch community platform build request sparked candid scoping reality checks: “design-layer” tweaks, a custom member portal/profile, and auth-related flows likely exceed a tiny starter budget. read more
blogDiscourse Discover: Hobbyist Edition highlighted communities built on deep, durable expertise—exactly the kind of “slow web” Discourse tends to enable. read more
Falco was everywhere this week: clarified hosting vs self-hosting responsibility in the age requirement thread (read more), fixed a duplicate-notification “ping spam” bug (read more), and untangled YJIT enablement confusion for self-hosters (read more). They also guided composer image resizing configuration—pointing out the difference between “threshold” and “target width” settings (read more), plus continued improvements around embedding Discourse as a full comment system (read more) and crawler middleware fixes (read more).
chapoi helped anchor two high-signal UX debates: the framing of “infinite scroll” vs algorithmic “infinite feeds” (read more) and the practical reality of footers/homepages in topic-list UIs (including a clear “not on the roadmap” answer on pagination) (read more). They also triaged a category badge contrast regression and committed to investigating root cause (read more).
lindsey shipped and enabled new Topic Voting badges, then explained how backfill notifications are intentionally throttled to avoid retroactive spam (read more). They also responded to calendar/event UX threads, including pointing to the newly added “All day event” checkbox (read more) and confirming .ics event descriptions now populate correctly (read more).
manuel published a practical, AI-assisted theming accelerator: theme + Blocks authoring skills and examples, plus follow-up notes on how Blocks shifts theme customization from “inject components” to “define layout frames.” (read more). They also reiterated that Meta’s branded theme isn’t intended for public reuse, while pointing builders to Blocks-based approaches to achieve similar outcomes (read more).
david posted the April 2026 release announcement pointing admins to the canonical changelog (read more) and jumped quickly on the ember-this-fallback deprecation crash report—shipping a fix and planning a backport (read more). They also clarified that OIDC group sync is now available and referenced the updated changelog/docs (read more).
pmusaraj released the Verso theme (editorial styling, light/dark, CSS-only) (read more) and diagnosed an iOS-only horizontal scrollbar issue affecting embedded comments/admin views—linking it to an in-flight fix (read more).
awesomerobot asked for sources and helped steer the “infinite scroll” thread toward evidence-based discussion (read more), and reinforced the practical constraints of hosting providers needing to follow regulations in jurisdictions they serve (read more).
martin announced upcoming default changes for TL3 promotion requirements, confirming how upcoming-change defaults interact with admin overrides and resets (read more).
HAWK provided an important compliance perspective: even self-hosted communities may have obligations (e.g., UK OSA) depending on where users can sign up from, and admins should plan accordingly (read more).
nat acknowledged and rapidly resolved the Data Explorer “5-row” layout regression, confirming when the fix landed for the reporter’s site (read more).
Thanks for reading, and I’ll see you again next week!
Localization & translation UX kept surfacing in different corners of the product — from “what Discourse looks like in Japanese” (read more) to guidance on choosing one translation approach in the Translator plugin thread (read more) and schema / SEO edge cases tied to translated content (read more).
Embedding & comment experiences continued to get attention, including smoother embedded login flows (read more) and practical setup gotchas like cross-domain cookie behavior (read more) plus clarifications on auto-creating topics for embedded comment threads (read more).
AI operational reliability was a recurring thread: token / context sizing confusion (read more), translations getting stuck with “thinking” models (read more), and translation failures due to structured output / reasoning interactions (read more).
Admin UX & reporting: “Site traffic” visibility issues turned out to hinge on hidden settings (read more), and crawler counts differing between reports were clarified as rollout-date related (read more).
“What It’s Actually Like to Use Discourse in Another Language” sparked practical discussion about what doesn’t translate (plugin UI, theme strings), and how quickly missing theme strings can be patched once spotted (read more).
“The Digg Lesson: Why Moderation Infrastructure Matters” revisited a classic cautionary tale and prompted thoughtful reflections on the tools and systems needed for moderation at scale (read more).
#Announcements
Discourse Discover got “Hot Topics”: a new cross-community surfacing mechanism was introduced (starting in DiscourseHub iOS), raising interesting implications for discovery and ranking across the network (read more).
Embedding Discourse as a full comment system got another round of practical Q&A, including confirmation that embedded threads can auto-create their backing topics on first visit (read more).
A plugin author’s “case study” on breakages, deprecations, and documentation turned into a broader conversation about pace, stability, and how docs should be maintained (GitHub PRs vs wikis, deprecation timelines, and expectations) (read more).
bin/lint regressions for non-bundled plugins were quickly reported, reproduced, and fixed, highlighting how linting workflows differ across plugin setups (read more).
#contribute:feature
Chat as “first-class content”: a prototype “single activity view” concept proposed interleaving topics, subcategories, and chat channels by recency — raising big questions about information architecture and discoverability (read more).
Parent categories vs muted subcategories: a high-volume publishing/community hybrid use case asked for better ways to surface “hot” discussions without flooding Latest, while still enabling an aggregated view inside a parent category (read more).
Translated quotes losing context: a feature request argued that translation should preserve the helpful “quoted from topic/post” metadata and dropdown context currently present in non-translated quotes (read more).
Impersonation auto-timeout UX: when experimental impersonation ends automatically, the UI can become misleading — prompting ideas like timers, MessageBus UI updates, and graceful “Stop impersonating” behavior (read more).
Blank /custom page after a theme switch on login: when a logged-out user’s theme has a custom homepage but the logged-in theme doesn’t, users can end up on an empty page — with suggestions to show an actionable “Take me home” fallback (read more).
The missing tag “info” button: a UX regression report noted that non-admin users can’t easily find tag descriptions anymore if the info affordance is gone (only admins see the wrench) (read more).
Full name requirement vs Discourse ID: enabling full-name requirements didn’t behave as expected in a Discourse ID signup flow, and the issue was reproducible enough to be moved into bug for fixing (read more).
OpenID Connect group sync ejecting users from “unsynced” groups: a serious membership-change edge case was described where losing one OIDC group could remove users from unrelated groups, with a fix proposed quickly (read more).
Survey editing error after transferring topic ownership: editing someone else’s survey (after transfer) threw an error, and the plugin fix was shipped promptly (read more).
AI translation failures tied to “reasoning” models and structured outputs: debugging showed how reasoning tokens can consume completion budgets, and how model capability mismatches (e.g., json_schema support) can break translations (read more).
Bootstrap mode removal (“legacy?”): the rationale, what got replaced (admin onboarding panel), and which old “bootstrap niceties” might deserve a comeback (directory refresh cadence, first-admin-as-mod, etc.) made for a very constructive postmortem (read more).
Discourse Splash (“blue dots”) can’t be disabled anymore: the removal of the disable setting was explained, including performance/SEO implications and a practical workaround via an animated SVG replacement (read more).
Excluding a category from Latest site-wide: admins compared “default muted categories” vs plugins and settings for suppressing noisy daily categories from the global feed (read more).
“Site traffic report” missing: the root cause was traced to the hidden use_legacy_pageviews setting — and how that hides the newer report UI entirely (read more).
#Self-hosting
“File too large” wasn’t actually a Discourse build issue: a Russian self-hosting thread ended up being a provider firewall / payload blocking problem (uploads + signups), with a detailed recovery and tuning checklist shared (read more).
Installing Discourse behind a non-routable public IP: the install “connection test” hurdle and HTTPS requirements came up again, with practical workarounds (skip test / dev install / tunnels / cert setup) (read more).
AWS Lightsail + Ubuntu upgrade planning: the thread compared in-place OS upgrades vs “spin up a new server, restore backup, swap DNS” migration playbooks (and TTL prep) (read more).
Safeguarding/reporting workflow needs: a charity asked for a specialized reporting button and emergency-protocol flows; replies clarified the boundary between theme vs plugin work and pointed to built-in flag tooling and components (read more).
#community-building Building
Welcoming new users (especially via Chat): the community explored ways to notify regular users about new signups and how chat/email behavior affects “welcome” flows, especially under hosted constraints (read more).
nat focused on localization and translation expectations — showcasing multilingual UX in the companion blog topic (read more) and advising that communities should pick one translation experience (preferring newer automatic translations over the older Translator UX) (read more).
gabriel announced the new Discover feature “Hot Topics”, outlining how the crawler and subject clustering works and where it’s launching first (DiscourseHub iOS) (read more).
pmusaraj did a deep dive on “Bootstrap mode is legacy?”, explaining why it was removed, what replaced it (admin onboarding panel), and which parts might be worth reintroducing or rethinking (read more). They also clarified TestFlight availability and app UI scope in the Discover Hot Topics announcement thread (read more), engaged with “chat as first-class content” experiments (read more), reproduced and escalated the Discourse ID / full-name requirement issue into bug (read more), and posted a fix for OIDC group-sync membership removal edge cases (read more).
awesomerobot confirmed the removal of the splash-screen disable setting (and why it matters for Core Web Vitals), plus shared an animated SVG approach to replace the dots entirely (read more). They also clarified why crawler values can show as 0 in the newer Site Traffic report for older date ranges (read more), shipped accessibility polish for decorative badge images (empty alt tags) (read more), and continued tightening invites/profile UX by hiding confusing invite UI in unsupported contexts (read more; read more).
Falco was active across embedding, AI, and self-hosting guidance — including cross-domain embed login behavior via same_site_cookies settings (read more), confirming embedded-comment topic auto-creation behavior (read more), and steering AI translation debugging away from reasoning-model pitfalls (read more; read more). They also linked to fixes for ongoing crawler “document tree depth” errors (read more), and recommended a safe “new-server restore + DNS swap” path for Lightsail/Ubuntu migrations (read more).
david engaged on developer experience and maintenance tradeoffs — balancing stability/customization expectations in the plugin-author case study thread (read more) and clarifying deprecation timelines (read more). They also fixed and merged the bin/lint regression impacting non-bundled plugins (read more), explained Markdown link boundary behavior (and the angle-bracket escape hatch) (read more), requested plugin inventories in a self-hosting memory/precompile investigation (read more), and clarified that tests-passed remains a working alias for latest (read more).
derek shipped UI polish and theme-related fixes — quickly resolving a missing theme translation string spotted in multilingual browsing (read more), confirming a merge for category badge color/contrast issues (read more), and acknowledging investigation into the “blank custom homepage after theme switch” login edge case (read more).
chapoi provided context and guidance around constraints and implementation details — adding perspective on why documentation can lag during rapid platform evolution in the plugin-author case study (read more), pointing theme authors to the correct plugin outlet for inserting navigation headers (read more), and troubleshooting notification/trigger ambiguity in a UI-notification investigation thread (read more).
martin took ownership of improving the impersonation timeout experience, outlining a two-part approach (UI updates when time expires + graceful stop behavior), with an openness to PR collaboration (read more; read more).
HAWK drove community strategy discussion via a moderation-history lens in the Digg retrospective (read more) and shared community-building advice focused on intrinsic motivation and Communities of Practice dynamics (read more).
Thanks for reading, and I’ll see you again next week!
Grandes lanzamientos que vale la pena revisar: respuestas anidadas (lee más), nuevas optimizaciones de imágenes del lado del cliente (lee más) y la nueva señal “Yo también” para temas de soporte sin resolver (lee más).
Temas interesantes
#Anuncios
markvanlan presentó respuestas anidadas para comunidades que necesitan conversaciones completamente encadenadas, además de una vista previa del modo de hilo único y controles de administración (lee más).
lindsey anunció mejoras en Resuelto: un botón “Yo también” para temas sin resolver en categorías de soporte que también suscribe a los miembros para que sean notificados cuando se acepte una solución (lee más).
Falco implementó nuevas optimizaciones de imágenes del lado del cliente, incluida la conversión de GIF a WebP animado para reducir el tamaño de carga y mejorar el rendimiento percibido (lee más).
Las acciones masivas recibieron una limpieza con Mejor gestión masiva de etiquetas: ahora agregar, reemplazar o eliminar etiquetas se realiza en un único modal “Gestionar etiquetas” (lee más).
martin compartió un flujo de configuración simplificado para crear categorías de Eventos usando el plugin Calendario y Eventos, continuando la “iniciativa de configuración de categorías” (lee más).
Los usuarios del tema Horizon recibieron una actualización por defecto: las tarjetas de temas de alto contexto ahora están habilitadas por defecto, exponiendo señales como Resuelto/Votación/Asignación y vistas previas más ricas (lee más).
martin presentó pseudogrupos granulares para permisos más claros: separando anónimo de usuarios_conectados para reducir la confusión causada por @todos en la configuración del sitio de listas de grupos (lee más).
Notificaciones push de PWA en iOS: la configuración de suscripción puede fallar silenciosamente cuando el service worker aún no controla la aplicación, con una corrección propuesta y discutida en el núcleo (lee más).
Un caso límite de Discourse Automation: las automatizaciones recurrentes mensuales no se activaban como se esperaba, lo que provocó un análisis profundo de cómo se calcula la recurrencia mensual (lee más).
Navegación Lightbox en cargas en cuadrícula: las imágenes se muestran en el orden incorrecto (por ejemplo, 1, 3, 2, 4), con una corrección rastreada y vinculada (lee más).
Regresión en páginas de grupos: los usuarios no podían ver quién era el propietario del grupo, aunque los datos estaban presentes, lo que llevó a un PR para volver a renderizarlos (lee más).
Dolores de crecimiento iniciales de las respuestas anidadas: las acciones de la llave inglesa de administración de mensajes parecen inutilizables en la vista anidada, requiriendo volver al modo plano como solución temporal (lee más).
Problema con el Creador de temas: exportar temas en móviles resulta en una pantalla en blanco/blanca, mientras que en escritorio se comporta con normalidad (lee más).
Tropezón en la actualización autoalojada: un crash en la actualización del panel de administración (tiempo de espera de compilación de JS del plugin) se recuperó reconstruyendo mediante ./launcher rebuild app (lee más).
Pulido del modal de marcadores: se debatió y luego eliminó mediante PR un botón de alternancia “superfluo” en el diálogo de edición de marcadores (lee más).
Ergonomía del editor de categorías: se señaló como riesgosa/confusa la prominencia del botón Eliminar sobre Guardar en la interfaz de usuario simplificada de categorías (lee más).
Microdiseño del perfil: el texto en cursiva en la biografía de un usuario puede aparecer ligeramente cortado, probablemente debido a reglas de desbordamiento (lee más).
UX de administración móvil: configurar scripts de Discourse Automation en una vista de teléfono es estrecho y difícil de usar (lee más).
Preguntas sobre el comportamiento de seguimiento: los administradores notaron lo que parece ser un cambio en la rapidez con la que los temas pierden su estado “NUEVO” en las listas después de entrar en un tema (lee más).
Verificación de seguridad de reorganización de categorías: la discusión aclaró que cambiar el nombre o el slug de una categoría es seguro porque las URLs se resuelven mediante IDs y los slugs antiguos redirigen (lee más).
Integración en Salesforce: los desafíos de iframe y autenticación llevaron a orientación práctica sobre la alineación del dominio de cookies y ajustes en same_site_cookies (lee más).
Confusión con facturación/actualización alojada: un administrador del plan gratuito no podía ver la opción de actualización a Iniciante y el personal investigó/mitigó el problema (lee más).
Autoalojamiento orientado a la seguridad: preguntas sobre Nginx CVE-2026-42945 y si las imágenes base/reglas de Discourse se ven afectadas provocaron una respuesta del equipo (lee más).
#Componente_de_tema
Un nuevo componente de tema para hacer las etiquetas del botón de respuesta más claras (y traducibles), especialmente relevante con las respuestas anidadas cambiando la semántica de respuesta (lee más).
Un componente de tema pequeño pero útil para ocultar “votos restantes” en las interfaces de votación de temas (especialmente cuando se emulan votos “ilimitados”), además de discusión sobre nuevas configuraciones de límite de votos (lee más).
markvanlan lideró la implementación y la sesión de preguntas y respuestas sobre respuestas anidadas, cubriendo por qué el encadenamiento es una elección de administración (no una preferencia por usuario) y cómo la activación/desactivación es reversible (lee más, lee más).
Falco implementó y explicó la nueva tubería de optimizaciones de imágenes del lado del cliente (incluida la conversión de GIF a WebP animado) (lee más), y coordinó correcciones de notificaciones push de PWA en iOS solicitando un enfoque de actualización de service worker (lee más). También asesoró sobre restricciones de inicio de sesión en iframe/incrustación para implementaciones de Salesforce (lee más) y respondió a fallos de actualización autoalojada relacionados con tiempos de espera de compilación de plugins (lee más).
lindsey anunció y aclaró la nueva experiencia “Yo también” para temas de soporte sin resolver, y debatió cómo debería comportarse el contador (iniciando en 1 para incluir al OP) (lee más, lee más). También presentó el modal consolidado de gestión masiva de etiquetas para flujos de trabajo del personal (lee más).
HAWK mantuvo en movimiento la discusión sobre preparación empresarial con múltiples hilos sobre escalabilidad: puntos de ruptura a medida que las comunidades crecen (lee más), los riesgos de escalar demasiado tarde o demasiado pronto (lee más), señales tempranas de que una estrategia necesita revisión (lee más) y un borrador de lista de verificación de preparación empresarial para recibir comentarios (lee más).
martin expandió la iniciativa de “configuración de tipo de categoría” haciendo más fácil configurar categorías de Eventos (lee más) y habilitó un descubrimiento más rico en Horizon habilitando por defecto tarjetas de temas de alto contexto (lee más). También introdujo semánticas de grupo más claras mediante nuevos pseudogrupos para usuarios anónimos vs conectados (lee más), mejoró las opciones de la interfaz de usuario de “próximos cambios” del administrador para funciones de informes (lee más) y aclaró cómo funcionan los enlaces opcionales “Vista previa” y “Comentarios” para entradas de próximos cambios (lee más).
awesomerobot aclaró el comportamiento del nuevo botón “Yo también” frente a Impulsar (y por qué está vinculado a notificaciones de solución) (lee más), corrigió fricciones en la interfaz móvil donde “última ejecución” de Automation solapaba los botones de acción (lee más) y abordó pequeños problemas de producto como “la etiqueta LLM predeterminada no se actualiza” con un PR (lee más). También restauró la visibilidad de propietarios de grupos para usuarios que no son del personal (lee más), discutió configuraciones de límite de votos en la votación de temas en el contexto de ocultar “votos restantes” (lee más) e incluso limpió una elección de patrón oficial de tema después de notar posibles connotaciones negativas (lee más).
zogstrip entregó un flujo constante de correcciones: ordenamiento de lightbox en cuadrícula (lee más), un diálogo de eliminación demasiado estrecho en móviles en Edge (lee más), múltiples reproducciones y correcciones en chino alrededor de flujos de edición/navegación (lee más, lee más) y triaje de soporte para un error 500 de API vinculado a la serialización de silenced_till (con una referencia a la corrección relevante) (lee más). También ayudó a dirigir una investigación sobre un error recurrente de automatización “mensual” señalándolo para revisión (lee más).
chapoi confirmó y explicó errores de UX (incluidos problemas de modal móvil y peculiaridades del diálogo de marcadores) (lee más, lee más), y luego siguió con un PR para eliminar un interruptor de marcador innecesario (lee más). También ayudó a solucionar problemas de autoalojamiento con muchos plugins (insignias/interfaz de administración), dirigiendo repetidamente los informes hacia el aislamiento en modo seguro (lee más) y señaló preocupaciones sobre comillas en localización/traducción para mayor reflexión (lee más).
nat respondió rápidamente a problemas de IA/localización: abordando discrepancias en la detección de la localización noruega y sugiriendo soluciones basadas en prompts mientras se planea una actualización central de prompts (lee más, lee más). También confirmó casos límite de traducción como “el título se traduce pero el mensaje no”, señalando umbrales de longitud de traducción y ajustes posteriores (lee más) y discutió cómo las citas traducidas pueden perder metadatos importantes (especialmente en alemán) (lee más).
sam manejó tanto elementos relacionados con seguridad como de ingeniería: confirmando que las reglas de reescritura predeterminadas de Discourse no son vulnerables, aunque notando que se lanzarán actualizaciones de imágenes base para el hilo de Nginx CVE (lee más), fusionando/corrigiendo un problema de instalación en subcarpeta de MCP (lee más) y verificando un caso límite de configuración de proveedor de IA (presupuesto de “pensamiento” de Gemini) (lee más).
Gracias por leer, ¡nos vemos de nuevo la próxima semana!
Algunos hilos que ayudaron a atraer atención/me gustas esta semana (muestras):
Las mejoras de UX de Discourse AI destacaron con chats de IA marcados (leer más) y un editor acoplado para conversaciones con bots (leer más).
Las discusiones del blog generaron debates sobre la «web abierta» y los «rastreadores de IA»: posicionamiento primero web (leer más) y Discourse listo para agentes (leer más).
Los cambios de UI «documentación primero lectura» generaron comentarios a través de Modo simple de Categorías de documentación (leer más).
«Discourse está listo para agentes» (ai) provocó un debate amplio sobre si las comunidades deberían dar la bienvenida a agentes/rastreadores de IA o bloquearlos, incluyendo realidades prácticas como los raspadores que ignoran robots.txt y el valor incierto de llms.txt. leer más
«Discourse nunca te bloqueará de la web» contrastó la postura web de Discourse con las tendencias de bloqueo de apps primero, e inició la discusión sobre la atribución/mérito de los autores en los temas complementarios del blog. leer más
#Announcements
Marcar conversaciones de IA comunes (ai) implementó una pequeña pero significativa mejora de flujo de trabajo: los chats de bots marcados ahora aparecen en la parte superior de tu lista de conversaciones de IA (detrás de un interruptor de cambios próximos). leer más
Un editor acoplado para conversaciones con bots de IA (composer, ai, ai-bot) introdujo una sensación de «chat continuo» para los temas de bots, reduciendo la fricción de abrir repetidamente el editor. leer más
Categorías de documentación: «modo simple» (doc-categories) reformuló los temas de documentación en una vista de lectura primero donde las respuestas se colapsan detrás de un interruptor, mientras aún se expanden automáticamente para enlaces de respuesta directa. leer más
Lanzamientos intermedios (19 de mayo de 2026) recopiló notas de lanzamiento de correcciones de seguridad críticas y enlaces de versión para administradores que rastrean la urgencia de las actualizaciones. leer más
Eventos mejorados: RSVPs flexibles para eventos recurrentes (calendar-and-event) añadió la capacidad de confirmar asistencia solo a la siguiente ocurrencia frente a todas las ocurrencias futuras, evitando recordatorios no deseados y mejorando la claridad de asistencia. leer más
Nueva posición del conteo de respuestas de publicaciones para sitios que usan Reacciones (reactions) destacó un cambio de diseño destinado a alinear de manera más consistente la fila de reacciones entre publicaciones. leer más
El botón de aprobación en un perfil de usuario no funciona escaló un caso límite complicado de aprobación/revisión de cola: usuarios no aprobados que no aparecen en la revisión, notificaciones fantasma de aprobación e incluso errores 500 al intentar aprobar desde la interfaz de administración. leer más
El mensaje de correo electrónico «actualización disponible» enlazaba a notas de lanzamiento rotas (falta el prefijo v en la URL del registro de cambios), lo que produjo un error 404 hasta que se parcheó. leer más
Componente de tema de iconos de etiquetas: guiones bajos que se convierten en guiones rompió los iconos de manera inconsistente entre la barra lateral vs. las páginas de tema/etiqueta, probablemente debido a cambios en el manejo de slugs. leer más
Autocompletado de emojis + caracteres especiales (como ü) mostró una ruptura sutil pero real de UX tanto en el editor como en el chat, incluyendo errores de consola al insertar emojis después de usar «más…». leer más
Error de reacciones: el popover de «+1» al pasar el cursor se quedaba cargando resultó ser un problema de codificación de URL (+ interpretado como un espacio) y se corrigió rápidamente mediante un parche dirigido. leer más
NameError: ReactionsSerializerHelpers afectó la serialización de la secuencia de publicaciones del tema en algunas instalaciones que usan el plugin de reacciones integrado, y se abrió un PR para abordar el orden de carga. leer más
Respuestas anidadas + votación de publicaciones = error 500 mostró un caso límite de incompatibilidad donde los serializadores anidados esperaban metadatos que no estaban presentes, produciendo undefined method 'post_number' for nil. leer más
El resaltado de sintaxis no copia/pega con color de forma fiable se convirtió en una inmersión profunda en los formatos del portapapeles, diferencias entre navegadores (Firefox vs Chromium) y dónde se pierde el formato (copiar vs pegar). leer más
Comentarios interculturales sobre el orden de respuestas (más recientes primero vs más antiguos primero) planteó un problema de descubrimiento/usabilidad reflexivo para usuarios mayores y diferentes hábitos de lectura, además de un detalle de respuestas anidadas (la UX de línea de tiempo difiere). leer más
Desborrar una publicación no crea una entrada de registro de acciones del personal destacó una brecha de auditoría: las acciones de borrar se registran, el tema de desborrar se registra, pero desborrar una publicación no —lo que impulsó un PR. leer más
El banner de edición sugerida se superpone al historial de ediciones/fecha en la documentación wiki señaló una colisión de UI probablemente relacionada con el estilo de docs/mode simple, reduciendo la claridad alrededor de los metadatos de edición. leer más
Confusión sobre el plan gratuito / precios: email-in + tipos de categorías repentinamente restringidos documentó fricción del mundo real mientras el plan gratuito alojado continúa evolucionando, incluyendo expectativas alrededor de matrices de funciones y prompts de actualización de UI. leer más
Expectativas mínimas de actividad en sitios alojados gratuitos aclaró la política actual: avisos de inactividad temprana a ~3 semanas, otro a ~6 semanas y desmantelamiento a ~7 semanas si no hay actividad real de la comunidad. leer más
La copia de seguridad falla con PostgreSQL 18 (resuelto) recorrió la resolución de una incompatibilidad cliente/servidor de pg_dump cuando Discourse ejecuta la copia de seguridad desde un contenedor que usa herramientas pg más antiguas que un clúster PG18 externo. leer más
#support:migration
Ajuste de velocidad de migración phpBB → Discourse (phpbb) recopiló soluciones prácticas para problemas de rendimiento de importación (E/S vs DB vs Redis), además de recordatorios sobre importadores por lotes y el costo de volver a ejecutar migraciones grandes. leer más
#Community_Building
Una aplicación de cliente nativa de Discourse para iOS+Android (show-and-tell) presentó un concepto de cliente nativo de terceros (con advertencias sobre soporte de plugins y limitaciones de inicio de sesión/push dependiendo del alojamiento). leer más
«Nueva comunidad» onboarding + límites en Meta mezcló comentarios de bienvenida con un recordatorio de que Meta no es el lugar adecuado para promociones/pruebas funcionales —y para usar try.discourse.org para experimentos. leer más
awesomerobot participó directamente en la discusión sobre el equilibrio de los rastreadores de IA «listo para agentes» (incluyendo los límites de bloquear raspadores) en este hilo, luego también impulsó el pulido del producto confirmando la configurabilidad del nuevo texto «Me too» de Resuelto en este seguimiento. También recomendó la mejor práctica de manejo de spam («borrar y bloquear») en esta solicitud de función, y aclaró los umbrales de actividad de nivel gratuito en esta respuesta de soporte.
Falco ayudó a diagnosticar fallos de actualización autoalojada y limitaciones de recursos (especialmente instalaciones de 1 vCPU con plugins no centrales) en Bloqueo después de intentar actualizar, y continuó iterando sobre las limitaciones de UX de respuestas anidadas (disponibilidad de línea de tiempo, decisiones de reversión y brechas de diseño) en comentarios sobre orden de respuestas. Falco también encaminó un informe de error 404 de estado de lectura de respuestas anidadas al lugar correcto en este hilo de error, y señaló correcciones en progreso para acciones de administración en modo anidado en este informe de error anidado.
sam implementó mejoras de usabilidad de IA con el anuncio de conversaciones de IA marcadas en este tema, confirmó y delimitó un problema de historio/botón atrás de chat flotante en este error de chat, y respondió a un informe de bloqueo de marcado alentando un PR (y confirmando que está en la mira del equipo) en este tema de error.
david publicó los punteros de lanzamiento intermedio de la semana para correcciones críticas en el tema de notas de lanzamiento, y opinó sobre cómo deberían comportarse los activos preconstruidos durante las actualizaciones web (y por qué ciertas combinaciones de plugin+hardware aún luchan) en este hilo de bloqueo de actualización. David también señaló que un interruptor antiguo de «modo móvil basado en viewport» está atrasado para ser eliminado (y puede causar errores si se desactiva) en este seguimiento de noticias de desarrollo.
keegan presentó la experiencia de editor acoplado para conversaciones con bots de IA (detrás de una bandera de cambios próximos) en este anuncio.
saquetim implementó modo simple para Categorías de documentación (colapsando respuestas detrás de un interruptor mientras se mantienen funcionales los enlaces profundos) en este anuncio.
zogstrip estuvo en todas partes en seguimientos tácticos de corrección de errores: señaló una mejora inminente para el comportamiento de atrás de chat marcado en este error de chat, confirmó una corrección rápida para el problema de codificación de URL de popover de reacción «+1» al pasar el cursor en este informe de reacciones, y enlazó correcciones/PRs para múltiples molestias de larga duración —como 404s de paginación de Googlebot en este hilo de soporte, mejoras de restauración de publicaciones señaladas en este error, y una mejora de enlace de UX de descripción de configuración en este tema de UX. También intentó (y no pudo) reproducir un problema de modal de reacciones móviles, pidiendo mejores pasos en este tema de error.
HAWK respondió a los «puntos de ruptura» de escalado empresarial confirmando trabajo activo en calendario/eventos e intención de hoja de ruta para videoconferencia en esta discusión empresarial. También dio una visión clara de las capacidades de palabras vigiladas (y señaló la guía de referencia) en este tema de soporte de moderación, y explicó por qué el plan gratuito alojado se está desestabilizando mientras se sigue probando el ajuste producto-mercado en este hilo de precios/plan gratuito.
Danielle publicó la repetición y el resumen de una sesión de horas de oficina de MCP + Data Explorer (incluyendo ejemplos prácticos de «pregunta a los datos de tu comunidad como a un compañero») en esta publicación de Eventos.
Gran parte de la energía de la semana se centró en el lanzamiento de la nueva UX, la estabilidad de las respuestas anidadas y la solución de problemas de administración/autogestión, con varios hilos vinculados directamente a cambios nuevos o en curso en la plataforma, como las reacciones predeterminadas (leer más) y el ruido de notificaciones por «acciones pequeñas» (leer más).
Temas interesantes
#announcements
El núcleo de Discourse está recibiendo un nuevo sistema de compilación de JavaScript, pasando de ember-cli/webpack a rolldown (basado en Rust, alineado con Vite), lo que promete compilaciones de desarrollo ~80 % más rápidas mientras mantiene las instalaciones de producción sin afectar gracias a los activos precompilados (leer más). Antecedentes relacionados: activos precompilados para autoalojados (leer más).
Las reacciones se están habilitando de forma predeterminada para todos los sitios nuevos y existentes mediante un proceso de lanzamiento de «cambios próximos», con martin explicando por qué cambian las predeterminadas y cómo se manejan las exclusiones (leer más). Contexto canónico de la función: hilo del plugin Discourse Reactions (leer más).
Las publicaciones de «acción pequeña» (avisos de cierre automático, avisos de asignación, etc.) se están excluyendo de las listas de Observados/Seguidos para reducir el spam de notificaciones de administración, y esto no es opcional según las restricciones de implementación (leer más).
El plugin Calendar and Events recibió un flujo de creación de eventos mucho más fluido directamente dentro del compositor (editor interactivo en texto enriquecido y vista previa en markdown), reduciendo la fricción para las comunidades que organizan eventos (leer más). El tema canónico del plugin: Calendar and Events (leer más).
La versión mensual de mayo de 2026 llegó (v2026.05) con punteros completos del registro de cambios para cualquiera que realice un seguimiento de las actualizaciones en instalaciones autoalojadas y alojadas (leer más).
Discourse publicó «Proyectos actuales – Mayo 2026», que incluye notas de progreso en plugins integrados e iniciativas (notablemente: mejoras en la votación de temas y la experiencia de configuración de calendario/eventos) (leer más).
Se presentó un problema clásico de «no leído fantasma»: los usuarios veían Unread (14) mientras que /unread estaba vacío. El equipo reconoció el error y los arreglos en curso, mientras que se compartió un workaround práctico de rails/SQL para limpiar el estado de no leído en todo el sitio (con la advertencia importante de que también limpia los no leídos legítimos) (leer más).
Las respuestas anidadas siguieron presentando casos límite: los enlaces de sugerencia de tema a rutas anidadas devolvían 404 (y podían dejar el encabezado en un estado extraño). Se aplicó una corrección principal, con discusión posterior sobre redirecciones e indicadores de no leído en temas anidados (leer más).
Los usuarios de Form Templates se encontraron con un problema sutil: los campos del selector de etiquetas se rompieron cuando los nombres de las etiquetas tenían mayúsculas y minúsculas mezcladas. zogstrip reprodujo el error y publicó una corrección PR rápidamente, convirtiendo un problema de UX confuso en una regla práctica: normalizar la nomenclatura de etiquetas (leer más).
Un problema menor de UX se convirtió en una mejora de validación del backend: crear un grupo solo de solicitud sin un propietario producía un poco útil «FAILED». La investigación señaló la complejidad del formulario dividido y los patrones heredados de Ember; un PR restauró un mensaje de error descriptivo (leer más).
Un problema complicado de actualización: db:seed_fu falló debido a una colisión de nombres con anonymous al crear nuevos grupos del sistema. El hilo destaca casos límite de importación (nombres de usuario/grupos llamados anonymous) y plantea preocupaciones de nomenclatura/compatibilidad alrededor de los grupos automáticos (leer más).
Las instancias en francés expusieron una trampa tipográfica: ciertas sustituciones de apóstrofes/comillas convirtieron ' en > debido a la configuración de comillas. Deshabilitar enable_markdown_typographer lo resolvió, y el equipo señaló «ganancias rápidas» para mejorar la experiencia (leer más).
Las pruebas de respuestas anidadas siguen siendo controvertidas: un operador reportó una interrupción en producción (cambios de ruta, enlaces de notificación rotos, incompatibilidades de temas y problemas de diseño móvil) y recomendó advertencias más fuertes antes de habilitarlas, mientras que otros exploraron estrategias de prueba y gestión de expectativas (leer más).
Un hilo separado de compatibilidad de respuestas anidadas abordó conflictos entre votación de publicaciones y respuestas anidadas; la dirección a corto plazo se inclinó hacia deshabilitar explícitamente el comportamiento de votación de publicaciones en contextos anidados y considerar una futura función de «voto» dentro de las propias respuestas anidadas (leer más).
#contribute:feature
Se prestó atención a la fricción en la incorporación móvil: Discourse en móvil muestra «Iniciar sesión» de forma destacada pero oculta «Registrarse» detrás del flujo, lo que lleva a confusión del usuario. El hilo explora compensaciones de la interfaz de usuario, componentes alternativos y trabajo de PR para mejorar la descubribilidad sin saturar el encabezado (leer más). Idea de componente relacionada: botón de autenticación combinado (leer más).
Una discusión sobre seguridad vs. operabilidad: cuando «editar correo electrónico después del registro» está deshabilitado, los administradores también pierden la capacidad de editar el correo electrónico a través de la interfaz de usuario. La propuesta es un control más granular (solo administradores vs. solo usuarios), probablemente con fricción de «modo sudo» como confirmación de contraseña/2FA y un registro de auditoría sólido (leer más).
Comentarios sobre Discourse AI: se planteó la adición de soporte de webhooks/eventos para actualizaciones de artefactos de IA (o deshabilitar el sandboxing), y el equipo señaló revisar esto una vez que lleguen los «Workflows» (un nuevo enfoque de Automatización) (leer más).
Los autoalojados compararon proveedores de VPS y realidades de SMTP: un hilo «Vultr vs DO» rápidamente se convirtió en un recordatorio de que la entregabilidad del correo electrónico suele depender de políticas de puertos del proveedor y configuración correcta, no de la imagen del mercado, y que el camino de instalación oficial a menudo es más rápido que depurar una configuración de mercado no soportada (leer más). Solución de problemas SMTP y detalles de YAML (¡comillas curvas!) aparecieron en «Si los inicios de sesión locales están deshabilitados» (leer más) y la guía canónica de solución de problemas de correo electrónico (leer más).
Un problema práctico de almacenamiento: las actualizaciones fallaron debido a presión de disco y capas grandes de contenedores. El hilo incluye orientación concreta de limpieza (./launcher cleanup) además de discusión sobre qué son las imágenes base, por qué se acumulan capas antiguas y cómo recuperar espacio de forma segura (leer más).
«No se pudo registrar automáticamente con Discourse ID» bloqueó una instalación cuando se omitió el correo electrónico, y la causa raíz resultó ser los requisitos de URI de redirección HTTPS; el workaround fue crear un administrador a través de la CLI y habilitar force_https, luego completar la configuración (leer más).
Los administradores descubrieron una medida de seguridad de suplantación: existe una configuración oculta experimental_impersonation_time_limit_minutes (predeterminado 15), que se puede cambiar a través de la consola de rails (o mediante reconstrucción si se coloca en la configuración, aunque eso es más engorroso) (leer más).
Una pregunta sobre «necesito crear canales de chat a través de la API» fue respondida con el endpoint relevante (POST /chat/api/channels) más un ejemplo de parámetros funcional, útil para plataformas que aprovisionan cientos de comunidades programáticamente (leer más).
La retroalimentación del sitio señaló que una guía de larga data sobre «crear informes de errores» ahora contiene enlaces de categoría rotos después de la reestructuración de categorías; la solución sugerida es usar URLs de categoría con IDs para que los futuros cambios no rompan las referencias (leer más). La guía referenciada: «Creating bug reports for Discourse on Meta» (leer más).
Un nuevo componente de tema tiene como objetivo reducir la carga cognitiva de administración al descartar automáticamente ciertos tipos de notificaciones en el menú de usuario, especialmente útil para sitios con muchas invitaciones o avisos del sistema (leer más).
Una publicación de elogio reflexiva argumentó que empaquetar plugins populares (deshabilitados de forma predeterminada pero preinstalados) es en realidad una gran ventaja: los administradores pueden habilitar funciones sin reconstrucciones disruptivas durante operaciones en vivo (leer más).
david inició un elemento mayor de noticias de desarrollo introduciendo un nuevo sistema de compilación JS para el núcleo de Discourse (rolldown + módulos ES nativos) con grandes ganancias de rendimiento en modo de desarrollo mientras mantiene la producción estable (leer más). También sugirió depurar navegadores incompatibles con Discourse verificando la consola del navegador por detecciones de características fallidas (leer más), y actualizó la documentación sobre la nueva estrategia d-compat/* para la fijación de compatibilidad de plugins/temas (leer más).
sam lanzó/anunció un cambio de calidad de vida en las notificaciones de usuario: las acciones pequeñas ya no cuentan como actividad rastreada/observada, reduciendo los «ping de administrivia» durante cierres masivos y temporizadores (leer más). También conectó los informes de no leído fantasma con la ruta de lanzamiento del cambio de acción pequeña (leer más), y señaló a los solucionadores de problemas autoalojados hacia conjuntos de commits específicos para una corrección de guardia de middleware (leer más).
chapoi se mantuvo activo en hilos de UX y soporte: reconociendo el error de no leído fantasma y confirmando que el equipo está trabajando en ello (leer más); ofreciendo un argumento detallado de modelo mental en contra de las preferencias de vista anidada/lineal por usuario (leer más); señalando opciones prácticas para diseños estructurados (y aclarando cuándo las sugerencias se aplican a listas de temas vs. cuerpos de publicaciones) (leer más); y ayudando a un integrador a encontrar el endpoint de la API de creación de canales de chat (leer más).
awesomerobot anunció la mejorada UX de creación de eventos en el plugin Calendar and Events, incrustando un editor de eventos interactivo directamente en el compositor (leer más). También ayudó con la solución de problemas de accesibilidad para JAWS + atajos de teclado de Discourse (explicando cómo los lectores de pantalla pueden interceptar las pulsaciones de teclas) (leer más), y opinó sobre la discusión de descubribilidad de registro móvil con patrones de UX más amplios vistos en sitios populares (leer más).
martin anunció el lanzamiento próximo para habilitar Discourse Reactions de forma predeterminada, explicando tanto la razón del producto como cómo los «cambios próximos» hacen que los lanzamientos de bajo riesgo sean más factibles que en el pasado (leer más).
rishabh publicó la actualización de mayo «Proyectos actuales», resumiendo el trabajo en plugins e iniciativas en curso (leer más), y compartió una victoria significativa de usabilidad: los oneboxes de GitHub ahora muestran el estado del PR en línea (leer más).
Falco contribuyó en varios frentes técnicos: señalando errores de ruta anidada para investigación y dirigiéndolos al propietario correcto (leer más); discutiendo opciones futuras de evento/webhook para artefactos de Discourse AI (y vinculándolo a Workflows próximos) (leer más); aclarando los comportamientos de optimización de imágenes del lado del cliente y compensaciones alrededor de agregar más perillas de administración (leer más); y asesorando sobre la incrustación de comentarios de Discourse como parte de un enfoque de integración más amplio (leer más).
markvanlan continuó iterando en respuestas anidadas: publicando correcciones para enlaces anidados rotos y expectativas de comportamiento de redirección (leer más), y delineando una dirección para lidiar con incompatibilidades como la votación de publicaciones deshabilitándola explícitamente en contextos anidados (con pensamientos a largo plazo sobre votación integrada en respuestas anidadas) (leer más).
zogstrip entregó múltiples correcciones de giro rápido: resolviendo el error de mayúsculas y minúsculas mezcladas en el selector de grupo de etiquetas de Form Templates (leer más), enviando una corrección para la visibilidad de «quién votó» en contextos de votación de temas cerrados (leer más), e iterando en casos límite de corrección de aprobación/notificación (leer más).
loic publicó el puntero oficial para la versión mensual de mayo de 2026, dirigiendo a los administradores al registro de cambios completo (leer más).
Composer redesign (alpha): unified “Post Type” actions dropdown (#Announcements) — jordan.vidrine introduced a new composer actions menu behind enable_new_composer_actions, including moving whisper/no-bump/unlist toggles into the same dropdown for less “mode switching whiplash.” See details.
Nested replies: SEO, controls, and layout tradeoffs (#Announcements, nested-replies) — questions ranged from crawler behavior and canonical URLs to whether “view as flat” should remain available. markvanlan confirmed “view as flat” was removed after internal testing (read more).
“Small post actions” change (and its knock-on effects) (#Announcements) — the change to suppress “small actions” continues to surface implications for what gets tracked/watched; sam confirmed it applies broadly (including unlist/list actions) in the announcements thread (read more).
Events UX gets simpler… but mobile pain points remain (#Announcements, calendar-and-events) — “easier than ever to create events” is being tested hard in the wild, with reports about mobile discoverability and long descriptions in the events announcement topic (read more).
Enterprise: first iteration of a Discourse AI getting-started guide (#Enterprise) — fsasaki shared a structured, toggle-by-toggle guide to Discourse AI for enterprise stakeholders (read more).
Unread count says “Unread (14)” but the unread list is empty (bug) — a regression affecting the /unread experience (and sometimes showing phantom or missing unreads) was triaged, linked to the “small actions” tracking change, and fixed via a commit referenced by sam (read more). Related report: “Unread” tab is not listing all thread with unread messages.
Nested replies + Horizon: old replies “stick” when navigating via related topics (bug, nested-replies) — Andry_Osminin reported intermittent UI state leakage that only cleared after a full reload; the diagnosis pointed to “instant navigation” not resetting state, and markvanlan flagged an upcoming PR to address it (read more).
Topic cards: “likes” broke after a linting update (bug, topic-cards) — RGJ spotted that refactors removed/changed getters but left code calling them, breaking likes; a PR was merged quickly (read more).
AI Helper suggests tags that aren’t allowed in a category (bug, ai) — AI-assisted tag suggestions ignored category/tag-group restrictions and allowed selecting invalid tags (then failing on submit). zogstrip shipped a fix via PR (read more).
Chat thumbnails bypass s3_cdn_url and leak raw bucket URLs (bug, cdn, chat) — Lilly traced broken thumbnails (notably with Cloudflare R2) to serializers not applying the CDN URL; sam rebaked content on Meta while the fix discussion continued (read more). Related R2 migration pain surfaced again in Cloudflare R2 image URL display issue.
Passkey login: “security key is not owned by the user” (bug, passkey) — a cross-site pattern (Meta + several other communities) suggested either a Discourse regression or an upstream platform change; pmusaraj investigated but couldn’t reproduce reliably and asked for more Windows-based data points (read more).
Upgrade failure: db:seed_fu group/user namespace conflict (bug) — name collisions in the shared user/group namespace caused upgrade failures; martin produced and merged a fix (and clarified the underlying conflict pattern) in the original report (read more).
Odd bot signup/spam “attacks”: what to do when spam is at the account-creation layer (Support) — admins compared patterns (fake custom fields, “FirstLast1234” usernames), mitigation tactics (approve TL0, Data Explorer queries, Cloudflare rules), and tradeoffs of IP blocking vs VPN collateral damage. The thread includes a call for better built-in automation (read more). Helpful adjacent resources mentioned in-thread: the official hCaptcha plugin, a request for Cloudflare Turnstile support, spam-response playbooks like immediate actions during a spam attack and tips for preventing spam, and Cloudflare guidance in best practices.
“Registration challenge” without plugins on free hosting (Support, spam, signup) — on constrained plans, the discussion focused on what can still be done (must-approve-users, AI spam detection, and operational triage) even when you can’t install additional plugins (read more).
How to approximate Meta’s design on your own forum (Support) — the “how did Meta do that?” question brought together the custom homepage feature, the Blocks API work, and practical theming components (including hiding the sidebar by default) (read more). Related reading: Using the new custom homepage feature and the broader Meta theme rebuild notes in Rebuilding the Meta Branded theme.
Sidebar UX: “nest” group links under a collapsible parent (Support, sidebar) — while true nesting/collapsing isn’t available, the thread converged on restructuring via built-in custom sections, which solved the immediate need (read more).
Why can’t I install plugins “locally” in /var/discourse/plugins on production? (#Self-hosting) — the answer: it’s not blocked so much as “not how the production container build is wired,” so use app.yml (or spin up a dev environment and restore a backup locally). See the discussion (read more) and the related docs for installing plugins on a self-hosted site plus creating/restoring backups.
Webhooks suddenly firing ~24 minutes late (user_added_to_group) (Support, webhooks) — the key debugging path was Sidekiq latency/queue pressure (especially the low queue), with guidance to inspect /sidekiq for live queue health (read more).
Discourse install: port 443 “not accessible” connection test (and when to skip it) (Support) — a tricky install experience ended up using the --skip-connection-test flag once DNS/ports were verified; the thread also turned into a mini runbook for Virtualmin environments (read more). Related install edge case: skip connection test does not work.
Homepage topic links suddenly got smaller (Foundation modernization side-effects) (Support) — admins traced unexpected font-size changes to the Modernize Foundation theme upcoming change and toggled it off while awaiting further refinement (read more).
Review queue cognitive trap: “Yes” sometimes means “remove spam,” sometimes means “approve” (ux, review-queue) — a UX consistency report highlighted muscle-memory risk when processing large queues; discussion centered on reframing prompts so “Yes” consistently confirms a problem (read more).
Theme import: “branch: main” is a placeholder (not a default), leading to wrong branch pulls (ux, fixed) — an admin-side form subtlety caused real-world update confusion; chapoi shipped a copy/UX fix after clarifying the intended “nil means auto d-compat branch” behavior (read more).
“New Topic” button still appears where users can’t create topics (and why that’s controversial) (ux) — a debate between reducing friction (“let users open composer and post elsewhere”) and avoiding confusion (“don’t show a primary CTA that can’t complete”). The thread also surfaced workarounds and a newly added hidden setting restoring old behavior (read more).
Modernizing the Foundation theme: accessibility feedback and follow-through (#Announcements) — a tense but constructive accessibility thread led to acknowledgment of delayed feedback and a set of targeted WCAG-related fixes landing via PRs referenced by jordan.vidrine (read more).
markvanlan helped set expectations and steer nested replies implementation details, including confirming the removal of “view as flat” (it was intended for internal comparison/testing only) in Introducing nested replies, and flagging an upcoming fix for Horizon-specific nested navigation state issues in posts staying rendered after navigation.
A preview of the redesigned admin dashboard (dashboard, #Announcements): lindsey shared an early look at a more modular dashboard (highlights, pin-able reports/Data Explorer, traffic, engagement), and the thread quickly turned into a discussion of which KPIs should be customizable per community (e.g. internal vs public support use-cases). read more
Introducing the unified new view for the topic list (#Announcements): martin announced “unified new” as an upcoming default, combining the mental model of New vs Unread into clearer subtabs (Topics / Replies / All). awesomerobot clarified default behaviors and why this should be easier to explain to members. read more
GIFs are moving to Discourse core! (#Announcements): davidb announced the GIF picker is moving from a theme component into core (now via Klipy), with migration notes for hosted/self-hosted and follow-ups around edge cases like domain download restrictions and translation overrides. read more
Livestream is now part of the Events plugin (calendar-and-events, discourse-livestream, #Announcements): lindsey shared that livestream functionality has been folded into the Events plugin (single system, migrated settings, and plan availability on hosted tiers). read more
Boosts testing on Meta paused (for now) (#Announcements): martin confirmed Boosts have been disabled on Meta temporarily while the team considers how boosts/likes/reactions might evolve into a more cohesive system later. read more
Solved improvements keep evolving (solved, #Announcements): lindsey posted updates making the “I’m experiencing this issue too” interaction configurable per-category and easier to relabel in category settings. read more
Ads need a lot of space on topics with nested replies (nested-replies, bug): Moin reported that topic-list ads become visually intrusive (and sometimes broken) inside nested replies layouts; Falco tracked it to the custom topic list ads component and shipped fixes in component PRs. read more
Localization bug in recurring events (calendar-and-events, bug): a missing %{weekday} interpolation caused recurring events to render as “Every [missing…]”. awesomerobot pointed to a recent fix and the reporter confirmed an update resolved it. read more
Regression: PDFs download on click instead of opening (pdf-previews, bug): nathank reported PDFs attempting download rather than opening in a new tab when previews are enabled; zogstrip linked a fix for inconsistent display behavior between S3 vs local storage. read more
Trouble searching user custom fields in the directory (bug): pfaffman reported /u directory search didn’t respect custom fields even though global search did; zogstrip made the code paths consistent via a core fix. read more
SVG badge icons not displaying after import (badges, bug): AkarinLiu hit a Font Awesome SVG edge case (no dimensions → renders at 0px). awesomerobot added a Discourse-side fix so these icons display correctly. read more
Right Sidebar Blocks: Tags block conflicts with tag dropdowns (right-sidebar-blocks, bug): a repro on try.discourse led to a plugin-side fix; martin linked the PR resolving the behavior. read more
Try Discourse demo sending “account no longer on hold” PMs (Support): users noticed repeated automated PMs and an “empty” demo state; david linked the fix and noted it was deployed to try.discourse.com. read more
Delete category button is more prominent than Save (categories, ux): chapoi suggested moving “Delete category” into a clearer “Danger zone” and restricting it to an appropriate tab; lindsey agreed the placement felt odd across every tab. read more
Nested replies: root post is too narrow on mobile (nested-replies, Support): feedback that the OP becomes cramped when rendered with the same left-avatar indentation as replies; Falco agreed the author block should shift above (flat-topic style) for readability. read more
Tags & Tag Groups deserve a more visible place in the admin menu (tags, tag-groups, ux): RGJ argued that tags/tag groups feel “accidentally discoverable” and should be surfaced more directly in the new admin navigation under Content. read more
Why does the Reply button have a background transition effect? (ux): a deep-dive into a subtle hover animation inconsistency; awesomerobot explained it’s a legacy behavior intended to draw attention to the hovered reply control and is now “up for debate.” read more
Category “new content” indicators (“pastille”) (Support): gilles asked why categories don’t always show a “new/unread” marker on category-focused homepages; awesomerobot noted it exists in some UI surfaces (like the sidebar) but not others. read more
Hide admin user from user-directory and top contributors (user-directory, Support): a nuanced thread on why /u?exclude_groups=admins behaves differently for anon users when group membership is hidden; david explained the security model tradeoff, and the OP shared CSS workarounds to hide specific rows for anon. read more
AI Translation setting changed: “Translatable categories” → “Excluded categories” (ai, dynaloc, Support): Sara_Carmona_y_Lladó asked how scope and costs are determined; Moin explained the migration logic and suggested Data Explorer queries to audit translation volume. read more
Secondary Email Address missing (Support): JDParker couldn’t add a second email; the resolution was that email_editable (or auth overrides) can hide the UI entirely. read more
Change “click here” in email digest footer (Support): newbit1337 couldn’t find the string; awesomerobot pointed to the specific i18n key (user_notifications.digest.click_here) and where it is composed into the final digest template. read more
TooManyRecipientsError when emailing a group alias (email, Support): pHneutre found inbound mail rejected when a group alias expands beyond default recipient limits; chapoi connected it to anti-abuse settings and the relevant site setting threshold. read more
Matrix protocol bridge for chat (revived with an LLM-built prototype) (chat, #contribute:feature): pmusaraj shared a proof-of-concept Discourse↔Matrix chat bridge; testing quickly surfaced TL0 chat access defaults and federation/room visibility gotchas. read more
Extending chat message blocks (plugin API request) (chat, plugin-api, development): Anton_Akhmerov proposed making chat “blocks” extensible so plugins can register new structured card types (instead of hacking internals or relying on Markdown). read more
AI Tools Test Runner: HTTP/HTTPS port behavior (rest-api, ai, Support): Falco clarified current behavior: only HTTP→80 stays HTTP; other ports default to HTTPS, which can surprise when testing http URLs. read more
Theme import UX: misleading “branch” input (ux): david added clarity so admins can see both the installed branch and the resolved target branch during theme updates, reducing d-compat vs main confusion. read more
Avatar frame plugin effort (frames like Discord Nitro) (Support): an old “where can I find avatar frames?” question turned into a new plugin share—asa built and published a WIP avatar frames plugin and offered to share it with the community. read more
Modernizing the Foundation theme continues (#Announcements): Moin posted a dense set of UI consistency observations (borders, spacing, truncation). jordan.vidrine confirmed what’s intentional and linked a PR that will address the remaining items. read more
Shared an early, highly experimental preview of the redesigned dashboard and collected feedback on which admin KPIs should be configurable per community (admin dashboard preview, plus follow-up questions in post 4).
Confirmed livestream is now integrated into Events (with hosted plan notes and migration behavior) in the formal announcement (livestream merge).
Backed a UX improvement proposal to move destructive category actions into a clearer “Danger zone” section (delete category UX).
Helped explain the reasoning and definitions behind “unified new” and the New / Unread / Unseen confusion, including how the new labels aim to reduce cognitive load (unified new explanation).
Shipped multiple quick UX/bugfix responses across core and official components, including:
Clarified gaps in Events reminder behavior and discussed what “email reminders” could look like if aligned with notification-email preferences (event reminder email feature discussion).
Flagged that discobot’s answer about “censored usernames” was incorrect, clarifying that watched/blocked/censored words do not apply to usernames and reserved usernames is the current option (with admin exemptions) (censoring names clarification).
Investigated odd behavior on try.discourse daily restores after reports of repeated “account no longer on hold” PMs (try.discourse restore suspicion).
Provided structured troubleshooting guidance for a “notifications not happening” report and emphasized updating a very out-of-date install as a likely fix path (notifications troubleshooting).
Helped a free hosted customer regain admin access by re-authing via Discourse ID (free plan admin access).
Announced “unified new” becoming the default topic-list behavior via Upcoming Changes, including screenshots and rollout mechanics (unified new announcement).
Disabled Boosts on Meta temporarily and set expectations that it will return after more cohesive design work across likes/reactions/boosts (Boosts paused, and later reassurance in post 90).
Fixed an issue in the Right Sidebar Blocks plugin by linking and merging the relevant PR (sidebar tags block fix).
Confirmed an “Upcoming Changes notification for a hidden change” is a bug and agreed it should be fixed (upcoming changes notification bug).
Redirected “when will Foundation update everywhere?” support traffic to the canonical modernization thread and described the lifecycle from Upcoming Change → stable → permanent (Foundation rollout guidance).
Shared implementation nuance around group permissions in themes/components, noting currentUser?.groups is not reliable because it only includes visible groups (group visibility nuance).
providing the fix PR for an events sidebar label regression (“New Topic” vs “New Event”) in Horizon (events sidebar label fix).
Assisted with admin automation and email guardrails by diagnosing why group aliases can trigger TooManyRecipients rejections and pointing to the site setting involved (TooManyRecipients deep dive).
Supplied a working SQL pattern to tie SQL-triggered badge grants to a specific topic/post (post_id), solving the “link badge to a topic id” question (badge SQL pattern).
Started a thoughtful discussion on enterprise community ownership models—whether community should sit under Marketing/Support/Product or be autonomous—and engaged replies about mandate, boundaries, and member-first decision-making (community ownership models).
Explained the strategic rationale behind Discourse’s free plan as a freemium acquisition tier that often behaves like an indefinite trial and a pathway to retention (free plan rationale).
Answered “what’s the point of primaries?” by quoting canonical purposes (styling, flair, identity, default title) and linking to a reference explanation (primary groups purpose).
Noted weekend timing expectations on a nested replies support thread (“you caught us on the weekend”) while the report awaited deeper technical follow-up (nested replies support timing).
Teased upcoming “Workflows” as a major leap for automations (triggers/actions/flows) in a community building automation discussion (workflow hint).
Announced the migration of GIF support into core using Klipy, with clear instructions for hosted vs self-hosted customers and a roadmap for improving migration scripts over the next couple weeks (GIFs to core announcement).
Followed up on migration details like mapping provider settings (Giphy → Klipy) and potential updates to handle disabled_image_download_domains and translation overrides (migration follow-up).
Responded to nested-replies ad layout issues and documented why prior attempts didn’t fully solve it, then provided the concrete PR links that address spacing/placement in the correct component (ads + nested replies).
Confirmed content localization language switching requires cookie-based locale selection (per the docs) when a user reported the switcher “does nothing” (content localization cookie requirement).
Agreed the nested replies mobile OP layout should be adjusted so author info moves above (not beside) the opening post (OP width on mobile).
Clarified current limitations/behavior in the AI Tools Test Runner around protocol/port assumptions (HTTP only on port 80; others default to HTTPS) (AI tools runner behavior).
Engaged in the dashboard redesign thread (and GIF-based levity) while signaling that KPI customization is on the horizon but not immediate (dashboard thread participation).
Confirmed improvements to AI-generated tag translations on Meta after a thorough report, noting that the provided list made it straightforward to fix quickly (tag translation improvements).
Acknowledged a tricky content-localization edge case where interface language and translated content language can drift across tabs, and indicated it may be a quick fix (language mismatch report).
Confirmed the team is looking into broken category links/mentions resulting from category/subcategory structure changes and rebakes (category link breakage acknowledgement).
Confirmed a bug report about translated post links not using the translated language is on the team’s radar (translated links bug).
Helped clarify the security model behind hiding group membership and why anon users can’t reliably use exclude_groups without leaking membership data—while also acknowledging configuration realities (open registration vs invite-only) (exclude_groups explanation).
Delivered the fix that stopped try.discourse from spamming “account no longer on hold” PMs and confirmed deployment (try.discourse fix + deploy note).
Investigated CI bootability test failures with SKIP_DB_AND_REDIS and worked through reproduction attempts and environment knobs with reporters (CI bootability troubleshooting).
Improved theme import UX by adding visibility into what branch is truly installed vs what branch will be targeted during update checks (theme branch UX PR).
Confirmed Discourse hosted Free is available and pointed users to the official pricing page when asked whether free hosting exists (free plan confirmation).
Fixed RSVP/calendar behavior where “My events” could show every upcoming occurrence even when only RSVPing to the next one, and linked the PR for the correction (My events calendar fix).
Addressed a PDF preview regression by identifying inconsistency between S3 and non-S3 storage and linking the PR that standardizes behavior (PDF regression fix).
Fixed user-directory search inconsistencies for custom fields by aligning the relevant code paths, after a regression report (directory search fix).
Pointed to a just-landed fix for the recurring events localization string issue and advised updating to pull it in (recurring localization fix pointer).
Thanks for reading, and I’ll see you again next week!
Support communities seeing a “drastic drop” in engagement? A thoughtful thread on whether LLMs are displacing peer-support patterns, and how communities might shift toward belonging, events, and human-to-human value — read more
Forums that forbid AI/LLM-generated content: what policies actually work? Practical moderation patterns emerged (policy clarity, case-by-case enforcement, and where “AI content” overlaps with spam) — read more
Triggering UX/help based on a search keyword (theme vs workflows)? A discussion about whether search terms could become workflow triggers (with performance considerations) — read more
#Announcements
AI Helper suggestions moved inline in the composer (ai, ux): category/tag suggestions now integrate directly into the chooser UI to reduce “ask → wait → choose” friction — read more
Redesigned admin dashboard: testing + early feedback (dashboard): guidance on previewing via Upcoming changes, plus questions on custom Data Explorer chart formats and traffic/country calculations — read more
Unified topic list view: parity/edge-case UI feedback (ux): an issue noted where a “New” link opened the wrong tab in the new topic list layout — read more
Hover-to-preview larger emoji (especially custom emoji) (emoji): a request inspired by Discord interaction patterns, with a “totally unofficial” theme component prototype shared — read more
Event (calendar) UX issues: link targets, composer extensibility, and advanced settings quirks (calendar-and-events): a detailed list of friction points (including missing plugin outlets) — read more
Event email notifications feel “too lean” without the description (email, calendar-and-events): request to include event description in notification emails (not just post body) — read more
More recurrence options requested for events (calendar-and-events): “every 3rd week” and “xth weekday every other month/quarter/etc.” suggestions — read more
“Delete category” button more prominent than “Save” (now fixed) (categories): UI polish to reduce foot-gun risk — read more
Feedback wanted: sidebar topic-feed userscript → theme component/plugin/core? (chat, ux): a compact topic feed inside the sidebar to reduce tab overload and resource usage — read more
#contribute:feature
Android share target support for Discourse PWA (pwa): revisiting an older feature request now that Chrome supports PWAs as share targets, including UX expectations and a prototype PR — read more
Optionally allow other groups to open/close topics: a request aimed at delegating timer workflows without granting full mod/admin permissions — read more
“Simple mode” in doc categories: show all replies after posting (doc-categories): a UX request to avoid the “flash then hide under ‘Show comments’” effect — read more
Site setting type: group implemented (after being “never really implemented”) (completed): a neat example of docs/expectations mismatching reality, resulting in a quick core improvement — read more
Large polls: users can’t return to amend votes (polls): a bug affecting large/long-lived polls where the “< Vote” button misbehaved; fixes landed in two parts — read more
Who closed the poll? (audit trail + UI attribution) (polls): poll closure is now stored/logged and shown directly on the poll for accountability — read more
Event custom fields: dashes/periods crash advanced settings, uppercase fields don’t persist (calendar-and-events): field name normalization and validation fixes — read more
Error creating events due to a “trust_level_0” edge-case (calendar-and-events): an unusual collision between a test username and event group-name validation; guard added — read more
Transparent PNG uploads getting a background (bug): PNG→JPG conversion side effects and workarounds, with follow-up improvements to avoid the workaround in future — read more
Backup restore fails due to duplicate rows blocking a unique index rebuild (backups): deep debugging guidance (cleanup + reindex) helped unblock a multi-year upgrade path — read more
Login dialog offers auth providers that “aren’t enabled” (tabs UI gotcha): a self-host admin confusion resolved by finding the right “Social logins” tab/scroll location — read more
S3-compatible uploads failing with Cloudflare R2 (s3): troubleshooting endpoint/CDN URL formatting and bucket naming — read more
Search misses words split by inline HTML tags (e.g., <strong> + <sub>) (search): an example where indexing tokenization breaks expected queries after WordPress imports — read more
ActivityPub plugin disabled on Meta (maintenance mode elsewhere continues) (activitypub): rationale shared (low usage + UI confusion), alongside a reminder to update for security fixes — read more
Connected a sharp user-visits dip to Google Search’s May 2026 core update (helpful for anyone debugging “sudden drops”) — read more
Clarified how to opt into the redesigned dashboard via Upcoming changes (dashboard) — read more
Noted improved date-range chart heuristics (with credit to community feedback) (dashboard) — read more
southpaw reignited and shaped a long-requested mobile workflow:
Reopened the Android share-target discussion with concrete UX flow ideas (new topic/reply/PM options) (pwa) — read more
Bas helped steer early diagnostic questions in the engagement decline thread:
Asked for specificity on which metrics were actually falling (pageviews/topics/active users), keeping the discussion grounded (Community Building) — read more
pmusaraj provided a key platform decision update and nudged mobile work forward:
Announced that ActivityPub is disabled on Meta (while plugin support continues elsewhere), citing confusion/low usage (activitypub) — read more
Confirmed PWA share-target support could extend to the Discourse Hub app (separate process, but on the radar) (pwa) — read more
Thanks for reading, and I’ll see you again next week!
Discourse shared a monthly roadmap update in #announcements with Current Projects - June 2026: nested replies progress, theme “blocks” work, and more read more
Chat got a new UI for reaction attribution (hover / long-press to see who reacted) in #announcementsread more
Livestream creation in Events got simpler: it’s now a toggle + URL (no more livestream tag) in #announcementsread more
Multiple calendar/event fixes landed quickly, including unlisted-topic events leaking into calendars (now fixed) read more
AI + localization feedback kept rolling in: translation progress reporting concerns read more, plus questions about fallback locale behavior read more
Interesting Topics
#announcements
rishabh posted Current Projects - June 2026 covering what Discourse is building next (including theme “blocks” work and ongoing nested replies refinements), with early questions about documentation and experimentation entry points read more
davidb introduced a new chat reactions popup so you can see all users who reacted (and filter by reaction type), currently rolled out as an experimental upcoming change read more
awesomerobot announced that Livestream is now an optional toggle on event creation (URL-driven, with migration for existing livestream-tagged topics) and outlined the developer-facing API changes read more
#self-hosting
A surprisingly heated thread on installing plugins without third-party hosts ended with practical options: mounting host volumes into /plugins for local deployment, or copying code via rsync/cp instead of git cloneread more
A self-host admin asked if they could disable Discourse updates after plugins broke; the core takeaway was that ./launcher rebuild appis the update mechanism, and pinning requires using a fixed ref (branch/tag/commit hash) with real support/security tradeoffs read more
After migrating avatars to S3-compatible Cloudflare R2, Lilly dug into why avatars could take 3–4 seconds to load, including on-the-fly resizing vs. avatar_proxy behavior that can bypass CDN expectations read more
A Business-plan misconception got clarified: Discourse is GPL and self-hostable without a plan, and core features like SSO + gamification are available self-hosted too read more
A self-hoster trying to use internal AI endpoints (LiteLLM) ran into SSRF protections (FinalDestination::SSRFDetector::DisallowedIpError) and explored the subtlety of DISCOURSE_ALLOWED_INTERNAL_HOSTS needing hostname vs. IP depending on the URL used read more
A French-language report said Ask Discourse responses felt worse recently; staff confirmed a model switch to a locally-hosted open-weights model (“DeepSeek v4 flash”) optimized for troubleshooting rather than development use cases read more
“Mail jobs are failing” turned out to be a CSS-in-email issue: pseudo selectors like a:visited can break CSS inlining (Nokogiri errors), so email CSS must avoid selectors that can’t be inlined read more
A “Where did banner topics go?” question was solved: banner topics still exist, but can’t be used in non-public categories since banners are global to all users read more
A Discourse Embed configuration confusion boiled down to definitions: discourseUrl is the forum, discourseEmbedUrl is the host page where the embed lives (and must be a real canonical page) read more
A regression where the “New Topic” button doesn’t re-expand its text label after resizing between desktop/mobile views was quickly reproduced and patched via core PR read more
UI polishing: the Dismiss dropdown had weird spacing/cutoff behavior across themes, likely related to modernisation changes impacting an intentional design choice read more
Multiple reports landed about AI title/icon overlap when editing topic details (stacked icons / mispositioned title-suggest button), with cross-links to the underlying composer AI integration work read more
#feature
A hosted Pro customer asked for external video storage (Mux/Vimeo/YouTube); the conversation mapped the constraints (no custom plugins on Pro) and explored possible workarounds, including brokered uploads via Workers as a secure token-hiding layer read more
A request to bring “Flag post” into Full-App Embed got a positive response: embed mode intentionally hides actions to fit diverse host sites, but flags may be worth restoring (possibly configurable) read more
Localization admins asked for better control over fallback locales (e.g. “serve English to unsupported languages even if default is Finnish”), and staff confirmed fallback locales aren’t supported yet read more
Nested replies + email replies initially looked like posts were “missing” or mis-threaded; updating resolved the observed behavior, reinforcing how fast nested replies is evolving and how version labeling can mislead admins read more
A long-post editing bottleneck (timeouts saving ~100k-char edits due to diff complexity) is now mitigated by a “diff too complex” fallback, preventing hard failures while preserving revision behavior read more
A subtle encoding regression: the Oops page displayed HTML entities like ’ in popular-topic titles instead of proper punctuation read more
Calendar privacy bug: events from unlisted topics were still visible on the calendar; a fix was shipped promptly after the report read more
#data-and-reporting
AI translation admins asked why the translation progress graph looked “stuck” or misleading; caching was introduced due to timeouts on large sites, and the two-stage process (language detection → translations) is creating real onboarding confusion read more
#site-feedback
Meta discussed whether Contribute > Feature should remain a mixed space (open-ended product discussion and vote-driven proposals), or whether conversation should move/expand into other categories like UX to reduce “close-as-done” pressure read more
A localization rendering bug: avatars in quotes break in translated posts, with an example thread showing the issue across multiple languages and quote-heavy topics read more
#plugin (and #theme-component)
Feedback on Discourse Reactions focused on reducing friction: “click to join an existing reaction like Slack/Discord”, better discoverability for emoji categories, and whether “frequently used” should be per-account rather than per-browser read more
Theme component maintenance continues: Topic List Thumbnails received a fix update, and users shared CSS approaches for hiding fallback thumbnails on mobile for image-less topics read more
Helped close the loop on “no third-party plugin hosting” by pointing to volume mounts into the container’s plugins directory as a viable local workflow read more
Clarified that Discourse doesn’t auto-update itself—./launcher rebuild app is the primary update path—and discussed the realities of pinning Discourse while keeping plugins compatible read more
Continued troubleshooting around internal AI endpoints and SSRF protections by emphasizing correct allowed-host configuration (hostname vs IP expectations) read more
Explained why the AI translation progress graph can mislead early on (caching + language-detection stage not shown) and suggested tuning backfill rates according to budget read more
Answered why topics translate “faster” than posts given similar batch sizes and post volume per topic, and how to adjust max-age/backfill rate to reduce the gap read more
Confirmed self-hosting + feature availability: SSO and gamification are core and available without paid plans when self-hosting read more
Set expectations for SEO + nested replies: crawler rendering recently returned to flat content, but a nested-aware crawler view isn’t prioritized yet read more
Marked an AI summarize edge case as #wontfix: HTML comments can be included in summaries, and preprocessing tradeoffs aren’t worth it (admins can tweak prompts instead) read more
Resolved confusion about embed configuration by clearly distinguishing discourseUrl vs discourseEmbedUrlread more
Shipped a quick fix for the responsive “New Topic” button label not returning after viewport changes read more
Explained composer behavior around post voting: category “Ideas” controls defaults, but post voting remains sitewide, and provided a theme-component snippet to hide the toggle outside Ideas categories read more
Solved a support mystery: banner topics still exist, but they require the topic to be in a public category (no restricted group permissions) read more
Diagnosed Sidekiq email failures as an email-style CSS pseudo-selector issue (a:visited) that breaks CSS inlining read more
Steered translation users toward Discourse AI as the preferred path going forward (translator plugin is maintained for bugs/security, but no longer the recommended approach) read more
Posted fixes-in-flight for Event UX issues (image behavior + consistent advanced-mode toggles) read more
Clarified how to identify/disable various install app / PWA banners, including the native_app_install_banner setting in the relevant case read more
Announced two notable product improvements: chat reaction user list popupread more and Livestream as an event attributeread more
Updated and maintained theme components such as Topic List Thumbnailsread more
Jumped in early on the “local-only plugins” thread with pointers, then later called out tone drift and encouraged de-escalation while still keeping the thread solution-focused read more
Helped clarify confusing version labeling around nested replies (“2026.6.0-latest” not necessarily matching the changelog head), encouraging updates to resolve disappearing-thread issues read more
Investigated a Foundation modernization visual regression impacting button display, linked the core fix, and provided a workaround via Upcoming Changes toggles read more
Responded to UI feedback about the Dismiss dropdown spacing, noting it was originally intentional but possibly broken by modernisation work read more
Assisted with hosted-plan UI confusion around “upgrade options” and suggested alternate admin paths while awaiting the owning team’s follow-up read more
Confirmed Ask Discourse changed models recently (to a locally hosted open-weights model) and promised validation on quality regressions read more
Engaged deeply with translation reporting feedback and indicated improvements are planned, including better Data Explorer guidance read more
Discussed interface/content language settings direction, suggesting interface improvements and targeting near-term implementation read more
Helped explain fallback behavior for content localization (no fallback if disabled; “use English” implies setting default to English) read more
Asked for targeted diagnostics on an anonymous-access oddity on / when categories lead the top menu (status codes + safe mode + plugin elimination) read more
Addressed hosted video-upload constraints candidly (Mux integrations exist but aren’t planned for lower tiers) and pointed to storage add-ons as an alternative to tier upgrades read more
Pushed nested replies forward by discussing future configuration needs, like per-category settings for depth/capping to fit different discussion styles read more
Opened an important meta-level process discussion: where “open-ended product discussion” belongs now that Contribute > Feature is increasingly vote/closure oriented read more
Responded to requests around embed UI actions (e.g., reintroducing flagging), asking for rationale and constraints so embed can remain clean but functional read more
Adjusted category UX on Meta by changing Contribute > Feature default sort away from Votes to Activity to reduce disorientation read more
Continued iterating on nested replies, including clarifying how “in reply to post number” affects nesting and asking for better reproduction details when reports involved email replies read more
Announced a change to nested reply default settings (depth reduced, cap enabled) and discussed the longer-term direction (including eventual per-category customization) read more
Confirmed a long-post edit timeout scenario is addressed by the “diff too complex” fallback behavior, reducing server timeouts while keeping editing possible read more
Prioritized and merged a long-standing fix so word limits don’t break IME composition, improving usability for IME users read more
Marked a Shared Edits improvement as done (enabling broader access), linking to the shipped PR read more
Thanks for reading, and I’ll see you again next week!
Algunos temas recurrentes esta semana (con pruebas): casos extremos de almacenamiento de objetos/CDN (por ejemplo, enrutamiento de emojis personalizados en #Bug), refinamiento de la UX de administración (por ejemplo, mensajes de Cambios Próximos en #UX), y configuración + gobernanza de IA (desde cuotas de costo en #Announcements hasta "trampas" de traducción en #General).
Temas Interesantes
#Anuncios
Discourse AI obtuvo cuotas basadas en costos (presupuesto en dólares, no solo tokens), facilitando el control del gasto entre proveedores: leer más.
Se publicó el anuncio de lanzamiento de junio 2026, con enlaces a las versiones 2026.6 y parches (2026.1.5 / 2026.4.2 / 2026.5.1) — leer más.
Los administradores ahora pueden revisar y suspender en lote cuentas "no activadas aún", mejorando la respuesta a oleadas de registro y suscripciones sospechosas — leer más.
La vista unificada de la lista de nuevos temas (y su impacto en DiscourseHub) continuó evolucionando, incluyendo discusiones sobre reglas de ordenamiento y alineación de aplicaciones/interfaz — leer más.
La transición de larga duración de GIFs-en-núcleo siguió generando preguntas prácticas de administración (qué es configurable, qué está oculto detrás de Cambios Próximos, y por qué parece confuso) — leer más.
Una investigación exhaustiva sobre URLs de emojis personalizados que omiten el enrutamiento del CDN al usar S3/R2 terminó con una corrección fusionada; el hilo también reveló trampas de configuración reales de Cloudflare R2 + CDN — leer más.
Un informe mostró que las respuestas anidadas no respetaban la presentación de "color de staff / oficial", con reproducción confirmada y limitada a plantillas anidadas — leer más.
Se descubrió que el Editor de Texto Enriquecido eliminaba comillas dentro de la sintaxis [wrap=theme-install-button ...] (rompiendo instalaciones); una corrección del núcleo siguió rápidamente — leer más.
Las comparaciones del sitio de lanzamiento llevaban a error a la gente sobre el número de correcciones de seguridad; el problema se explicó como un artefacto de comparación y se corrigió mediante un cambio en el sitio de lanzamiento — leer más.
Interfaz del Compositor: el nuevo menú desplegable de acciones de "Tipo de Publicación" podía renderizarse detrás del compositor en diseños de tablet táctil; se compartió una solución temporal de índice Z y una corrección prevista — leer más.
Problemas con cambio de dominio: las credenciales de Discourse ID pueden fallar después de un cambio de nombre de host en autoalojamiento, lo que generó discusiones sobre una mejor UX de administración y qué se puede automatizar con seguridad — leer más.
Un autoalojador que cambiaba dominios encontró discourse remap colisiones de claves duplicadas en analíticas + topic_links; la solución implicó eliminaciones SQL dirigidas para remover filas colisionantes antes de volver a ejecutar remap — leer más.
Bucles de retroalimentación de AWS: un hilo resolvió el formato correcto del punto final de webhook de AWS SNS después de prueba y error (/webhooks/aws) — leer más.
Usuarios de Theme Creator reportaron tiempo de inactividad (500 "Oops"); el incidente se rastreó y confirmó que volvió a estar en línea después de fusionar una corrección — leer más.
Los administradores preguntaron si Discourse llama a proveedores de IA en segundo plano; respuesta: sí, dependiendo de las funciones habilitadas (relleno de resúmenes, incrustaciones, sentimiento, etc.) — leer más.
#Autoalojamiento
Una guía técnica profunda sobre propagación de IPs de clientes confiables aclaró cómo nginx dentro del contenedor debería interpretar encabezados y cadenas de confianza, y por qué "simplemente pasar XFF" puede ser peligroso si está mal configurado — leer más.
Varios hilos convergieron en el manejo de "IP real" después de cambios aguas arriba: una discusión de regresión de Cloudflare/IP se conectó con el artículo sobre cadena de confianza y valores predeterminados más seguros — leer más.
Una pregunta práctica de "cómo hacer": editar la configuración de nginx dentro de Docker (detrás de HAProxy) recibió una clara respuesta de "no edites el contenedor directamente; persiste vía app.yml", junto con ejemplos funcionales de set_real_ip_from — leer más.
Preocupaciones sobre el rendimiento del almacenamiento de objetos: usuarios depurando carga lenta de avatares después de moverse a S3/R2 exploraron el comportamiento de caché, generación en segundo plano y un puntero a la guía actualizada de servicio de avatares — leer más.
Fallos de reconstrucción vinculados a tsconfigs/paquetes faltantes se rastrearon hasta la eliminación de archivos de plugins del núcleo; la conclusión fue "el núcleo espera que los plugins del núcleo estén presentes", junto con una PR de endurecimiento para que la falla del pipeline sea menos catastrófica — leer más.
La notificación de administración que se muestra cuando un Cambio Próximo se vuelve oficial fue reportada como engañosa; la causa raíz ("saltar a Permanente expuso un error de enlace") se identificó y parcheó — leer más.
UX de notas al pie: las notas de paso de mouse anidadas podían escribirse pero no accederse realmente; la mitigación elegida fue eliminar notas al pie anidadas para evitar una interfaz engañosa — leer más.
Retroalimentación del panel: el panel de administración rediseñado todavía muestra carga inicial lenta percibida y falta de refinamiento en torno a los resultados fijados de Data Explorer frente a gráficos — leer más.
#Tema componente
El "branding estacional" recibió un impulso: se propuso (y prototipó) un nuevo enfoque de mini componente para programar cambios de logotipo usando transformadores de valor home-logo-image-url — leer más.
Don lanzó Post Score, un componente de tema para mostrar métricas de compromiso en publicaciones (con solicitudes de documentar configuraciones) — leer más.
Don también lanzó un componente de reproductor de lista de reproducción de tema + YouTube PiP; siguió una discusión sobre la posible compatibilidad con casos de uso de transmisión en vivo/eventos — leer más.
El componente oficial Homepage Feature recibió una pasada de modernización, incluyendo experimentos con dimensionamiento de imágenes responsivas, luego una rápida reversión debido a masivas colas de trabajos de miniaturas, más guía de limpieza — leer más.
Versatile Banner recibió una mejora de mantenimiento/seguridad: alejándose de una dependencia de larga vida de un host de imágenes externo (imgur) hacia activos fuente del tema — leer más.
sam avanzó la gobernanza de IA con cuotas de IA basadas en costos (leer más, opinó sobre el comportamiento de lista unificada en la discusión de vista Nueva unificada (leer más, y señaló restricciones de seguridad alrededor del renderizado de títulos en páginas de error (leer más.
loic publicó el anuncio de lanzamiento mensual de junio 2026 y punteros al registro de cambios (leer más, luego siguió con la confusión sobre búsquedas de CVE y tiempos de propagación (leer más.
nat compartió consejos valiosos sobre traducción de IA + indexación/SEO (y enlazó un artículo de primera mano), además de lanzar una corrección para una "trampa" de configuración de traducción (leer más.
supermathie escribió una guía detallada de autoalojamiento sobre el manejo de la "cadena de confianza" de IP real (leer más y aplicó ese pensamiento para ayudar a personas afectadas por cambios de confianza de encabezados después de commits recientes (leer más.
Falco ayudó a desenredar suposiciones de enrutamiento de CDN vs cubo en el hilo de emoji personalizado + S3/R2 (incluyendo el matiz de configuración de "dos CDN") (leer más, aclaró expectativas de soporte alrededor de plugins experimentales vs ESR en Resenha (leer más, y sugirió cómo depurar fallos de funciones de IA consultando ai_api_audit_logs (leer más.
awesomerobot hizo una amplia "barrida de mantenimiento" a través de UX y ecosistema de temas: la lógica de comparación de correcciones de seguridad del sitio de lanzamiento se explicó a alto nivel (leer más, el análisis de atributos de envoltura de ProseMirror/RTE fue clasificado y enrutado a una corrección (leer más, se aclaró la precedencia de acciones de palabras observadas (leer más, y se lanzaron múltiples actualizaciones de componentes de tema (por ejemplo, iteraciones de Homepage Feature: leer más; Versatile Banner: leer más.
chapoi proporcionó orientación práctica de implementación para varias preguntas de administración/personalización: construir un cambiador de logotipo programado mediante transformadores de valor (leer más, recomendando el enfoque moderno para páginas de inicio personalizadas en lugar de rutas heredadas (leer más, mitigando el comportamiento de notas al pie anidadas eliminando notas anidadas (leer más, y lanzando una corrección de posicionamiento del botón de título de IA (leer más.
mcwumbly lanzó herramientas de administración para revisar/suspender cuentas no activadas (leer más, discutió valores predeterminados de autoalojamiento para Cambios Próximos y los compromisos de habilitar cambios antes (leer más, y estableció expectativas sobre el esfuerzo aún no priorizado de "cargas seguras en chat" mientras recopilaba detalles de impacto del mundo real (leer más.
martin siguió empujando el sistema de "Cambios Próximos": aclarando dónde viven los cambios "Permanentes" y mejorando la guía alrededor de /whats-new (leer más, respondiendo a advertencias "permanentes" confusas relacionadas con GIFs y tipeo de metadatos (leer más, y continuando iterando sobre el comportamiento de la lista unificada de temas y la alineación de DiscourseHub (leer más.
pmusaraj se centró en la corrección del producto y la cordura del administrador: confirmando/reproduciendo una brecha de estilo en respuestas anidadas (leer más, estableciendo expectativas sobre conteos de DiscourseHub y compromisos de simplicidad (leer más, y proponiendo mejoras al comportamiento de límites del "primer día" en Modo Bootstrap mediante una PR (leer más.
Cambio próximo: eliminación del tratamiento especial de «Sin categorizar» leer más
Algunos temas «numéricos» que seguían apareciendo
Localización de contenido y traducción con IA (errores, UX y nuevos controles) fueron un hilo conductor importante esta semana: desde configuraciones de traducción por categoría (leer más) hasta informes de truncamiento de traducciones (leer más) y ajustes de indicaciones/agentes (leer más).
Cambios en la UX de reacciones y me gusta continuaron generando repercusiones a través de informes de errores y preguntas de configuración (por ejemplo, una corrección para la ventana emergente de «me gusta» pegajosa: leer más, y efectos secundarios de las reacciones predeterminadas: leer más).
Ergonomía del autoalojamiento siguió ocupada: el instalador y Let’s Encrypt recibieron atención (leer más) y volvieron a surgir realidades sobre el tamaño del disco (leer más).
Temas interesantes
#Anuncios
«Sin categorizar» está siendo eliminado como categoría «especial» y migrado a una categoría estándar para eliminar errores e inconsistencias; la guía incluye qué hacer para sitios solo con etiquetas (sugerencia de componente de tema) y qué cambia cuando se active el próximo cambio — leer más
GIFs en el núcleo: la atribución/marca del proveedor volvió a ser una preocupación práctica; al portar el soporte de GIFs al núcleo, se omitió un elemento de logotipo/atribución del proveedor y se está restaurando para que la interfaz del selector pueda mostrar correctamente la marca de origen — leer más
Las reacciones habilitadas por defecto continúan revelando casos extremos (especialmente para comunidades que «personalizaron» el botón de Me gusta); los comentarios describieron iconos/colores mixtos confusos y fricción en la migración cuando las reacciones aparecen de repente — leer más
Transmisiones en vivo y Eventos: los flujos de trabajo estilo «salas de ruptura» aún no están soportados (y dependen mucho de los proveedores), pero se sugirieron hilos en el chat como una posible solución alternativa mientras el conjunto de características madura — leer más
#Componente_de_tema
Mover el selector de idioma al pie de la barra lateral se lanzó como un nuevo componente de tema, con el objetivo de reducir el desorden del encabezado; el seguimiento refinó el comportamiento de invitados para que el cambiador siga disponible incluso cuando no se muestra la barra lateral — leer más
Programar cambio de logotipo (logotipos estacionales) se implementó como un TC para rotar automáticamente los logotipos del sitio según un calendario; los primeros comentarios revelaron un error de «predeterminados hasta que se cambien» que está siendo investigado — leer más
Carga por arrastrar y soltar + vistas previas de archivos para páginas de conversación de bots de IA se publicó para agilizar el flujo de trabajo de «cargar un archivo en una conversación con un bot» mediante mejoras de interfaz — leer más
Las vistas previas de la lista de temas (TLP) obtuvieron renderizado nativo CSS masonry (donde está soportado), prometiendo grandes ganancias en eficiencia de renderizado y consumo de energía (con alternativas donde no esté disponible masonry) — leer más
#Característica
Permitir a los usuarios eliminar sus propios temas/publicaciones pendientes desde /activity/pending: una PR añade un botón de eliminación en línea para que los usuarios no necesiten ayuda del personal solo para retirar algo que aún espera aprobación; el hilo profundizó en expectativas de deshacer/restaurar y cuándo están justificadas las ventanas de confirmación — leer más
Conversión de «emoticono a emoji» como preferencia de usuario, no global: la discusión exploró por qué el comportamiento de rehornado/citado por usuario se complica rápidamente, y si vale la pena la superficie técnica — leer más
Mejor UX para informes compartidos de Data Explorer: solicitud para mostrar informes compartidos en algún lugar más descubrible que las páginas de grupo; las sugerencias incluyeron añadir una entrada dedicada en el menú de usuario o mostrar condicionalmente un enlace en la barra lateral cuando se comparten informes — leer más
Traducción de enlaces/secciones personalizadas de la barra lateral se acercó más: la limitación de larga data (el contenido personalizado de la barra lateral no está localizado) recibió una respuesta de «pronto™», continuando el hilo que se ha estado construyendo alrededor de la barra lateral y expectativas de localización de contenido — leer más
Limitar la traducción de temas a categorías específicas: se fusionó un cambio que añade un nuevo tipo de configuración que soporta alcances como «todas/públicas» o listas de inclusión/exclusión, permitiendo implementaciones más matizadas para localización de contenido — leer más
RFC 5005 para feeds RSS de Discourse: solicitud para ir más allá de «últimos 25 elementos» y soportar paginación/archivado de feeds para que los consumidores puedan acceder a entradas más antiguas de manera basada en estándares — leer más
«Resaltar para citar» en Android falla intermitentemente — y la solución alternativa es extrañamente efectiva: reaccionar a una publicación puede volver a habilitar la selección; un análisis más profundo apunta a un estado global de «sin selección de texto» que filtra del manejo táctil de reacciones — leer más
Error de edición de categoría: el slug se vuelve «obligatorio» al alternar ciertas configuraciones de categoría incluso si era opcional/vacío al crearlo; la corrección es generar automáticamente al guardar y relajar la validación excesivamente estricta — leer más
Las traducciones al alemán a veces incluyen artefactos de envoltorio/JSON de traducción sin procesar; la investigación identificó contradicciones en las indicaciones y se propuso una corrección, además de guía para administradores que copiaron agentes predeterminados para actualizar también sus plantillas de indicación — leer más
Traducciones truncándose silenciosamente a mitad de frase sin errores: los informes describen traducciones guardadas incompletas cuando el análisis de flujo JSON falla, sin registros de rails/sidekiq que indiquen fallo — leer más
La interfaz de la ventana emergente de «me gusta» puede «pegarse» después de navegar a un perfil de usuario (especialmente en la parte superior del tema); una corrección se fusionó rápidamente después de informes reproducibles en varios navegadores — leer más
Las imágenes de chat denunciadas no aparecen en la instantánea de la cola de revisión: los moderadores no pueden ver la imagen cargada que fue denunciada, especialmente confuso en mensajes directos donde los transcripciones omiten la carga denunciada — leer más
Comentarios sobre el nuevo instalador: genial cuando funciona, pero los límites de tasa de nombre de host/Let’s Encrypt pueden ser punitivos durante pruebas repetidas; la discusión incluyó planes para alejarse de acme.sh hacia el soporte nativo ACME de nginx para mostrar y manejar mejor estos fallos — leer más
Espacio en disco demasiado lleno para actualizar (realidades de VPS de 25GB): incluso instancias pequeñas pueden encontrarse con superposición de Docker y sobrecarga de extracción de imágenes; el hilo recorre dónde va el espacio y por qué muchos administradores terminan ampliando en lugar de podar constantemente — leer más
«Para foros que prohíben contenido de IA… ¿cómo va?» continuó con perspectivas de moderación en terreno: la detección se está volviendo más difícil, los falsos positivos son comunes, y la política + moderación humana sigue siendo la palanca principal (pero es agotadora) — leer más
«Curioso por escuchar tu mejor lección de Discourse hasta ahora» provocó sabiduría práctica de administradores: evita construir comunidades antes de que haya una necesidad real, y dedica tiempo a Documentación antes de reinventar la rueda — leer más
lindsey lideró la comunicación sobre el próximo cambio para eliminar el manejo especial de «Sin categorizar» (leer más) y aclaró límites/próximos pasos para solicitudes de estilo «salas de ruptura» de transmisión en vivo en Eventos (leer más).
chapoi lanzó y apoyó nuevos componentes de tema, incluyendo rotación de logotipos programada/estacional (leer más), y participó en la discusión de UX sobre «eliminar temas pendientes» (fricción de modal vs recuperabilidad) (leer más). También ayudó a solucionar problemas de cambios de comportamiento de reacciones/me gusta que afectan sitios con reacciones deshabilitadas (leer más) y proporcionó claridad sobre alojamiento de Discourse vs autoalojamiento en una pregunta de integración con Wix (leer más).
Falco se centró intensamente en operaciones y robustez de Discourse AI: proponiendo correcciones para contradicciones en indicaciones de traducción (leer más), explicando por qué emparejar nuevos modelos de IA con versiones antiguas de Discourse es frágil (leer más), y asesorando sobre control a nivel de indicación para preservar vocabulario propietario durante la traducción (leer más). También guió a autoalojadores experimentando con Ollama mediante compatibilidad OpenAI (leer más) y dio perspectivas sobre trampas de límites de tasa de instalador + Let’s Encrypt y futuros cambios ACME (leer más).
mcwumbly dirigió múltiples conversaciones de «alcance vs complejidad»: granularidad de notificación como dirección a largo plazo en lugar de codificación rígida de grupos (leer más), las restricciones técnicas detrás de preferencias de conversión de emoji/emoticono por usuario (leer más), y cómo evolucionar los comentarios de Descubrimientos de Discobot en ejemplos concretos en lugar de una solicitud de característica genérica (leer más). También aclaró cambios en planes de alojamiento (legado del plan Starter) (leer más) y exploró controles de diseño más ricos para cuadrículas automáticas (modos lista vs cuadrícula vs carrusel) (leer más).
awesomerobot implementó correcciones rápidas y guía en UX y errores: validación de slug de categoría siendo demasiado estricta en ediciones (leer más), el «refrescar banner después de actualizar» siendo un comportamiento central y por qué es raro fuera del ritmo de despliegue de Meta (leer más), y descripciones de categorías traducidas siendo tratadas inconsistentemente (con una PR para alinear el comportamiento) (leer más). También actualizó la documentación para principiantes de temas de Discourse para coincidir con la última interfaz (leer más) y contribuyó con consejos prácticos de selección de fuentes para accesibilidad/rendimiento (leer más).
martin continuó el trabajo de implementación de «permisos granulares basados en grupos» mapeando impactos de configuraciones y coordinando ajustes de seguimiento (leer más), y abordó la limpieza de interfaz en la página de Cambios Próximos eliminando el filtro confuso «Permanente» (leer más). También ayudó a rastrear un elemento faltante de atribución de proveedor de GIF durante la migración al núcleo (leer más).
nat avanzó dos hilos importantes de localización/UX de administrador: confirmando que el trabajo de traducción de barra lateral está por venir (leer más) y lanzando una mejora fusionada para abarcar traducción de temas por modos de selección de categoría (leer más). También se involucró en hacer los informes compartidos de Data Explorer más descubribles en la interfaz (leer más) y comenzó a diagnosticar restricciones más estrictas de uso de etiquetas interactuando con etiquetas solo para administradores (leer más).
HAWK aclaró políticas/expectativas sobre uso de feeds RSS en Meta (RSS está bien; el lenguaje de Términos de Servicio apunta a raspado/monitoreo abusivo) (leer más) y revisó cómo los límites de tasa estándar de Discourse aún aplican en Ask Discourse porque está impulsado por Discourse (leer más).
davidb impulsó varias correcciones y aclaraciones de «rápida resolución»: restaurando atribución de proveedor de GIF en el núcleo (leer más), lanzando y fusionando una corrección para el error de interfaz de ventana emergente de «me gusta» pegajosa (leer más), y corrigiendo mensajes sobre el próximo cambio de «asuntos de correo electrónico más simples» para que los administradores entiendan que se respetarán las preferencias (leer más). También explicó cómo las reacciones por defecto pueden producir visuales de «doble me gusta» a menos que se opte por no participar mediante configuraciones de cambios próximos (leer más).
j.jaffeux compartió notas de hoja de ruta: los flujos de trabajo pronto habilitarán comportamiento de «consejos/modales activados por búsqueda» (cerrando una solicitud anterior en anticipación del lanzamiento) (leer más), confirmó trabajo en progreso para fijar mensajes de chat para visibilidad (leer más), y proporcionó contexto histórico sobre elecciones tempranas de implementación de Reacciones (conveniencia de almacenamiento local en ese momento) (leer más).
Reporting window: 2026-07-12 → 2026-07-19 (7 days), based on the same kind of activity snapshot you can now explore via the redesigned admin dashboard discussions (see read more).
Key Stats
Total new posts:446 (last 7 days) — context: discussion around measuring/seeing these kinds of metrics continues in the redesigned dashboard thread (read more).
Total new topics:71 (last 7 days) — and “what belongs where” in admin continues to evolve, e.g. category tooling and admin UX changes (read more, read more).
Workflows gets a first look (workflows): lindsey shared a preview of a new visual builder designed to go beyond Automations for multi-step logic, delays, conditions, and external/AI actions — with docs evolving in parallel (read more, read more).
Admin category management page lands: A new /admin/config/category-management directory makes category type/visibility/relationships easier to audit, with quick follow-up UX tweaks discussed and PR’d (read more).
Inviting admins gets a safer + clearer flow (invites): keegan introduced a single-step admin invite path that grants moderator first, then admin after email confirmation — and the thread immediately explored “invite moderator vs admin” ergonomics (read more).
Solved badges now default-on for new communities (solved): A small but meaningful nudge toward recognition/healthy support loops, including answers about backfill behavior for existing solved posts (read more).
Email login codes (not magic links) arrive (login, signup): Discourse introduced a passwordless code flow that avoids in-app browser magic-link pitfalls and sets the stage for future passkey nudges (read more).
Discourse Free Plan announcement discussion: The companion thread for the Free Plan blog post captured early reactions and context around what’s included and what isn’t (read more).
#Hosted-Customers
What is “CDCK/MoM” in AI settings? (ai): Falco explained the hosted “Mixture of Models” router that picks open-weight models per task (summaries, embeddings, assistant actions) using AI credits (read more).
#Self-Hosting
Self-hosting vs managed hosting: the terminology trap (server-resources, hosting): A newcomer asked the “what does self-hosting actually mean” questions, and got a surprisingly thorough set of answers on VPS vs home hardware, maintenance expectations, and trade-offs (read more).
“After the update… forum not functioning properly”: A classic post-upgrade failure mode (migrations/theme cache) was diagnosed quickly with rebuild + migrations guidance, and the OP confirmed success (read more).
Real IP handling changed through proxies (solved): A reverse-proxy setup stopped attributing real client IPs correctly, and the fix shifted toward set_real_ip_from / chain-of-trust configuration (read more).
A beginner’s VPS install “process with FAQs” (live thread) (install, domains, email): A step-by-step build log is forming around ordering DNS/SMTP/domain decisions, with warnings about trying to solve SSO too early and reminders about backups/responsibility (read more).
Wix logins + Discourse: “what are my options?” (openid-connect, discourseconnect): The thread hit two constraints at once — Discourse Free plan auth limitations and Wix SSO availability — pushing the discussion toward realistic integration paths and hosting plan choices (read more).
#Feature
Make inline PDF previews actually readable (pdf-previews): A request to improve the default embedded PDF usability turned into a wider discussion about click-to-open vs forced downloads, regression timing, and preview ergonomics (read more).
Exclude groups in /filter (topic-filter): A small but powerful enhancement request got a rapid core PR + merge, extending existing filter patterns cleanly (read more).
Per-category control for “who can accept solutions” (solved): A practical multi-tenant pattern emerged: public categories need strict “OP/mod/admin only”, but client-only categories may want “anyone in the client group can mark solved” (read more).
AI bot Retry duplicates posts in public topics (ai, ai-bot): The report highlights how “Retry” should regenerate in-place (like DMs), not flood topics with new bot replies — with a fix already underway (read more).
Translated/localized cooked HTML skips post_process_cooked hooks (affiliate, content-localization): A deep plugin-integrations bug: affiliate rewriting works on original cooked HTML, but not on translated cooked content — meaning lost commissions/rewrites per locale (read more).
Deleted posts still show full content when translation is enabled (ai, dynaloc): A serious “privacy/expectation” issue where translated views could continue rendering content after the author deletes the post in the original language (read more).
Numeric tags conflict/ambiguity in older URL forms (tags): An odd edge case where a numeric tag name like 2013 can collide with an existing tag’s ID-based route and resolve incorrectly (read more).
Keeping rebuilds running after SSH disconnects (nohup vs tmux): A pragmatic ops thread recommending tmux/screen over nohup so rebuilds survive session drops and can be reattached (read more).
Composer paste includes <span lang="…"> fragments (composer): A very niche (and very real) “pasting from rich scripture sites” problem: spans show up in the composer, and spacing/rendering becomes tricky — with core changes being evaluated carefully to avoid stripping intentional markup (read more).
Support forums seeing activity drops (AI + SEO + gating trade-offs): A wide-ranging thread debated “private-by-login” vs discoverability, the shift from “library value” to “coffee shop value,” and how to measure success in a world where AI consumes answers without sending clicks back (read more).
“Message from the future”: advice you’d send to your first-time admin self: A reflective prompt produced lots of “KISS principle,” “read the docs,” “don’t over-customize,” and “hire expertise when needed” wisdom (read more).
What’s the record for “most posts in a single topic”?: A fun (but performance-relevant) question revisited megatopic limits, real-world examples, and why Discourse defaults to auto-closing around 10k posts (read more).
#Plugin
Resenha voice rooms: SFU via LiveKit + QoL upgrades: The Resenha plugin continues maturing with optional SFU scaling, device pickers, mentionability, and layout controls — moving it closer to “serious community voice” territory (read more).
lindsey drove multiple product announcements and defaults: the early look at Workflows (read more), the official Workflows plugin topic + enablement detail (read more), and enabling Solved badges by default for new communities (read more). She also extended the “default-on badges” approach to Topic Voting badges in the ongoing improvements thread (read more).
Falco focused on AI and hosted-customer clarity: explaining CDCK/MoM routing and credit usage (read more), addressing the AI-bot “Retry duplicates replies” bug with a fix PR linked from the report (read more), and clarifying Gemini embeddings compatibility (AI Studio vs Vertex/Enterprise endpoints) in a solved support thread (read more). He also posted substantive Resenha plugin updates around SFU scalability (read more).
awesomerobot shipped fast iterations across core and theme components: implementing exclude groups support in /filter with a quick PR + merge (read more), explaining trade-offs in the support-forum activity debate (SEO visibility vs gating) (read more), and taking on the mobile breakage in Custom Top Navigation Links with refactoring work (read more). He also triaged upstream dependency constraints for FullCalendar icon font warnings (read more).
martin continued the “admin information architecture” push: announcing the new Category management page for visibility and type-based filtering (read more), and implementing improvements to granular group-based permissions (including follow-up PRs) in the longer-running permissions announcement thread (read more, read more). He also engaged in cleanup and communication around the GIFs-to-core transition and related admin warnings (read more).
chapoi landed multiple UX and standards-alignment improvements: merging the Horizon theme mobile padding fix for PM small-actions (read more), giving a clear CommonMark-based explanation for <div> HTML block parsing (and why blank lines matter) (read more), and improving “First reaction” badge copy so admins can reduce confusion (read more). He also continued to defend the dashboard/navigation trade-offs with admins who want “version info” front-and-center (read more).
david tackled developer-facing maintenance churn: improving how Discourse handles theme-component compatibility metadata and warnings (read more), providing clear guidance on end-of-life theme components (e.g., “desktop/mobile view” switching no longer being a thing) (read more), and publishing deprecation timelines for .hbs and .js.es6 in themes/plugins (read more, read more). He also helped diagnose a nasty “everything broken after upgrade” theme compiler issue with a console-based cache reset (read more).
zogstrip pushed a steady stream of “small but sharp” fixes: repairing Topic Voting’s notification prompt when vote limits are disabled (read more), fixing upcoming-events behavior around subcategory filtering (read more), addressing tracking/watching regressions around small post actions (read more), and fixing localized/translated cooked processing so plugin hooks (like affiliate rewriting) apply consistently (read more). He also explained the practical limit of “fixing” IMDB oneboxes when a WAF blocks scraping, focusing instead on improving the user-facing error message (read more), and queued a fix for S3 multipart backup upload failures (read more).
pmusaraj supported signup/login and admin-facing bug triage: clarifying why email code login flows avoid in-app browser issues (and teeing up future passkey nudges) (read more), reproducing and fixing the avatar selector crash with selectable avatars (read more), and outlining the “why” behind Discourse ID (reduced admin auth maintenance, future centralized account controls) (read more).
mcwumbly leaned into product direction + configuration granularity: probing the real-world use case for per-category “who can accept solutions” and affirming the broader move toward category-level building blocks (read more, read more). He also validated the usefulness of excluding groups in /filter from a UX standpoint (read more) and pushed on URL semantics that would avoid numeric tag ambiguity for backward compatibility (read more).
keegan delivered the improved admin-invite experience and explained the onboarding/security rationale behind “moderator first, admin after confirmation” (read more).
Thanks for reading, and I’ll see you again next week!