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
A fun and insightful thread asked: “How old is your forum?”—prompting migration histories from Yahoo Groups, phpBB, Ning, vBulletin, and more (#Community 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) — read more
Meta’s evergreen “Discourse is great” energy continued, with community members sharing milestones and encouragement (#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
#Plugin / #Theme component
A notable new plugin: diskuz Call brings peer-to-peer voice/video calls into Discourse using WebRTC (signaling on server, media P2P/TURN) (#Plugin) — read more
Another plugin showcase: a Discourse Points Mall prototype (check-in, shop, orders, ledger) with candid notes about current bugs and readiness (#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, #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, #Theme component) — read more
“Banner Featured Links” got an update to address htmlSafe deprecation and other cleanup, pinned to 2026.3.0-latest (#Theme component) — read more
The terminal-based Discourse client “termcourse” added MessageBus-powered realtime notifications and began aligning shortcut conventions (experimental, #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.
#Plugins / #Theme component / #Extras
A new gamification-style plugin for recurring check-ins, leaderboards, and badges dropped in Discourse Daily Challenges.
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).
Meilleurs utilisateurs (messages / likes reçus cette semaine)
Moin — 34 messages / 75 likes — a aidé à trier des problèmes tels que la ponctuation des balises de vote de sujet (lire plus) et a clarifié le comportement de nettoyage des téléchargements après suppression (lire plus).
david — 20 messages / 70 likes — a répondu sur la visibilité des versions et les annonces Meta (lire plus), a déployé un correctif pour les « e-mails de nouvelle version » bloqués (lire plus), et a itéré sur le site des versions (boucle de rétroaction RSS + style) (lire plus).
Falco — 12 messages / 55 likes — a expliqué le contexte de la vague de correctifs de sécurité (lire plus), a fait avancer la mise à niveau de l'API Patreon v2 (lire plus), et a discuté des cibles de traduction des MP pour Discourse AI (lire plus).
zogstrip — 12 messages / 29 likes — a préparé une série de correctifs incluant la validation des alias d'émojis (lire plus) et des améliorations UX de la file d'attente de modération (lire plus).
merefield — 12 messages / 28 likes — a fourni une analyse de risque réfléchie sur les plugins de « nettoyage des résidus de base de données » (lire plus) et a encouragé des solutions maintenables pour la confidentialité et la récupération de liens (lire plus).
R23D_Printing — 21 messages / 28 likes — a rapidement itéré sur Discourse Challenges, ajoutant des intervalles hebdomadaires + accès modérateur, puis un ChallengeBot piloté par MP (lire plus).
awesomerobot — 9 messages / 27 likes — a corrigé des régressions d'interface comme la ponctuation des votes de sujet (lire plus) et a proposé des améliorations des permissions API pour about.json (lire plus).
darkpixlz — 19 messages / 25 likes — a aidé à déboguer les pannes de plugins CDN/CORS (lire plus) et a correctement contesté la dissimulation des bannières « rouge vif » de thème cassé (lire plus).
RGJ — 8 messages / 20 likes — a fourni une explication claire du moment où les téléchargements sont purgés après une suppression permanente (lire plus) et a suggéré des approches de proxy plus sûres pour la récupération de liens/confidentialité (lire plus).
nathank — 16 messages / 20 likes — a offert des conseils pratiques d'administration (par exemple, visibilité des groupes sur la page À propos) (lire plus) et a exploré des approches fonctionnelles/workflow autour des événements et des appels (lire plus).
Ed_S a soulevé des préoccupations concernant les versions « furtives » et a demandé que les messages de version reviennent dans les Annonces ; david a reconnu la difficulté et a indiqué que l'équipe discute de meilleurs renvois vers Meta (lire plus).
La confusion autour de la consommation des versions s'est poursuivie dans un thread centré sur l'utilisabilité de releases.discourse.org, avec des demandes pour un flux RSS et une meilleure lisibilité, ce qui a conduit à la mise en ligne rapide d'un flux RSS (lire plus).
Un flux d'inscription au plan gratuit hébergé a rencontré une erreur « trop de sites provisionnés » ; HAWK et pedro sont intervenus pour enquêter et confirmer les entrées (lire plus).
Les auto-hébergeurs déboguant Discourse ID ont appris l'exigence stricte : si votre site indique à Discourse ID que l'URI de redirection n'est pas HTTPS, vous devrez corriger force_https / les en-têtes de proxy — la discussion a inclus des idées fausses courantes sur les proxies inverses (lire plus).
Un thread de support pratique a demandé comment retirer les modérateurs de la page /about sans supprimer le groupe ; une approche simple de « groupes cachés » (et des groupes dynamiques optionnels) a résolu le problème (lire plus).
Une question sur une « grande bannière rouge » s'est transformée en rappel : les alertes de thème cassé sont volontairement bruyantes, et la bonne solution consiste à traiter le composant, pas à masquer l'avertissement (lire plus).
Un administrateur a demandé comment déplacer une bannière/image tout en haut — les réponses ont souligné que cela se fait mieux via un petit composant de thème / ajustement CSS plutôt que de manipuler le code HTML (lire plus).
Une irritation de longue date — pas d'e-mails « nouvelle version disponible » — a été tracée à un changement de gemme redis et a obtenu une PR principale pour corriger le travail cassé (lire plus).
Un problème aigu « cela ressemble à du HTML brut » dans le navigateur intégré de Facebook sur iPhone a été attribué à une mauvaise classification de MetaIAB par la détection de robots, et une PR principale a été ouverte pour ajuster les paramètres par défaut (lire plus).
Plusieurs administrateurs ont signalé des plugins échouant silencieusement après une mise à niveau en raison du comportement CORS côté CDN ; le débogage préliminaire a pointé vers les en-têtes BunnyCDN et le timing de la régression (lire plus).
Une petite mais réelle coupure d'interface : avec le vote de sujet activé et « 0 votes » masqué, une virgule apparaît après le dernier tag ; la personnalisation du thème de Meta a été impliquée, et elle a été rapidement ajustée (lire plus).
Un incident douloureux avec le compositeur : le téléchargement d'images HEIC a provoqué une erreur + rechargement, perdant un long brouillon ; l'enquête s'est concentrée sur les étapes de reproduction et les détails de l'erreur (lire plus).
Un rapport UX de Meta a noté des champs de saisie 2FA alignés à gauche lors de la connexion via le flux « connexion par e-mail » ; une PR de correctif a été ouverte et la disposition de connexion de Meta a fait l'objet d'un nouvel examen (lire plus).
La correction des émojis a été abordée : :champagne: n'existe pas, mais un alias a donné l'impression qu'il devrait exister ; la suite a ajouté une validation pour empêcher les alias vers des émojis inexistants (lire plus).
Une demande d'affordance mobile : ajouter une barre de préhension à la feuille inférieure des actions d'administration des messages (correspondant à l'interface des actions d'administration des sujets) pour améliorer la découvrabilité et la manipulation (lire plus).
Une demande fonctionnelle UX a proposé un visionneur « agrandir le tableau » en plein écran (en lecture seule) afin que les grands tableaux Markdown soient lisibles sans entrer en mode édition (lire plus).
Les expérimentations continues sur Meta avec les réponses imbriquées ont fait ressortir à la fois l'enthousiasme et la confusion de navigation, en particulier en provenance des notifications ou de la vue plate (lire plus).
Les auteurs de thèmes/plugins ont reçu une nouvelle impulsion : les fichiers .hbs sont obsolètes (passer à .gjs), et le sujet a également mis en avant Ask Discourse comme un assistant rapide pour les petites conversions (lire plus).
Le support des balises <script type="text/discourse-plugin"> en ligne est maintenant supprimé ; le fil de modernisation canonique a été mis à jour avec l'échéance de suppression de mars 2026 (lire plus).
Une mise à jour de l'équipe : la présentation sur le nouveau système de construction de plugins a été partagée en externe (rencontre Ember Europe), offrant aux développeurs un moyen d'apprendre le nouveau flux de travail (lire plus).
#Plugin
Discourse Challenges a évolué rapidement : intervalles hebdomadaires, accès modérateur, puis ChallengeBot (confirmations par MP, rappels, commandes comme status/leaderboard/streak) sont arrivés en succession rapide (lire plus).
Une nouvelle idée de plugin, Plugin Cleaner, visait à scanner et supprimer les « résidus » orphelins des plugins désinstallés ; les retours ont souligné le risque inhérent de supprimer des structures de plugins inconnues ou non migrées (lire plus).
Discourse Member Application a introduit un flux d'intake structuré /apply pour les communautés privées/par invitation, remplaçant les formulaires/feuilles de calcul externes par un processus de révision + invitation intégré à Discourse (lire plus).
#Extras
Dexo, un client Discourse natif iOS construit avec UIKit/Swift, a présenté le support multi-forums, le rendu HTML, les flux d'authentification et une approche d'interface épurée (lire plus).
#Community Building
Un nouveau propriétaire de communauté a demandé des retours sur un nouveau forum Discourse pour une communauté de jeu ; les réponses ont couvert le thème, le raffinement UX et le fait de rendre Discourse moins « générique » dès le départ (lire plus).
Un gestionnaire de communauté de langue portugaise a demandé si son forum de jeu était bien organisé ; les suggestions comprenaient de repenser les compromis tag/sous-catégorie et d'améliorer les parcours d'intégration (par exemple, lien direct vers le compositeur prérempli) (lire plus).
Une demande à grande échelle recherchait un expert en migration phpBB → Discourse pour environ 870k messages avec RTL hébreu et des exigences strictes de SEO/redirection, en mettant l'accent sur un temps d'arrêt minimal et une correspondance d'URL (lire plus).
david s'est concentré sur l'expérience de version et les signaux de mise à niveau : il a répondu aux préoccupations concernant les annonces Meta manquantes et la confusion du tableau de bord dans le fil des correctifs de sécurité (lire plus), a déplacé et organisé les retours sur le site des versions tout en déployant rapidement des améliorations comme le flux RSS (lire plus), et a répondu aux questions sur le verrouillage de version pour l'auto-hébergement (et a corrigé où définir version:) (lire plus). Il a également poussé des correctifs/mises à jour principales couvrant la livraison d'e-mails « nouvelle version » (lire plus) et la détection UA pour le navigateur intégré Facebook sur iPhone (lire plus), ainsi que documenté la suppression des anciennes balises de script en ligne (lire plus).
Falco a mélangé les retours produits, les intégrations et l'IA : il a fourni le contexte expliquant pourquoi de nombreux correctifs de sécurité sont arrivés ensemble (lire plus), a mis à jour l'expérience des commentaires intégrés du blog Discourse et a signalé des problèmes de thème/rembourrage à itérer (lire plus), et a fait progresser la migration de l'API Patreon v2 — ajoutant un agent utilisateur personnalisé comme demandé (lire plus). Il a également clarifié les attentes de comportement Chat/GIF (fonctionnalité vs bug) (lire plus), a orienté les demandes de fonctionnalités de calendrier vers le nouveau travail d'URL d'abonnement (lire plus), et a proposé d'améliorer les contrôles de traduction IA afin que les administrateurs puissent choisir explicitement d'inclure ou non les MP (lire plus).
zogstrip était dans une frénésie de correction de bugs, reliant systématiquement les correctifs aux PR : les correctifs de flux de file d'attente de modération/compositeur ont été activement discutés (lire plus), le comportement de remontée des chuchotements a obtenu un plan de mise en œuvre (lire plus), les problèmes de onebox (y compris le comportement cassé de x.com) ont été mis en file d'attente pour correction (lire plus), et les cas limites de suppression permanente ont été reconnus avec un correctif entrant (lire plus). Il a également amélioré le pipeline d'alias d'émojis en empêchant les alias vers des émojis inexistants (lire plus) et a continué à peaufiner les attentes UX d'administration/d'évaluation sur les commutateurs « Changements à venir » (lire plus).
awesomerobot s'est concentré sur les petites coupures d'interface et les améliorations pragmatiques : la régression de ponctuation des tags/votes de sujet a été rapidement corrigée sur Meta (lire plus), le problème d'alignement 2FA de la connexion par e-mail a été tracé à un flux spécifique et mis en file d'attente pour correction (lire plus), et une clarté a été ajoutée concernant les résultats de recherche sémantique/IA par rapport aux correspondances exactes (lire plus). Côté API, il a ouvert une PR pour permettre aux utilisateurs API granulaires de lire about.json (lire plus) et a demandé une meilleure reproduction de bug sur le rapport HEIC/perte de brouillon (lire plus).
supermathie a aidé à débloquer les problèmes d'identité/authentification auto-hébergés : il a expliqué pourquoi Discourse ID insiste sur les URI de redirection HTTPS (et ce que force_https fait réellement) (lire plus), et a fait suite aux discussions sur la portée des API/messages d'erreur concernant l'accès à about.json avec des clés granulaires (lire plus).
sam a pris position sur les problèmes d'hébergement « difficiles à reproduire » et sur l'UX plus large : il a participé à un thread difficile sur l'échec de git-clone de thème (pointant vers des pannes GitHub / une limitation de débit comme suspects probables) (lire plus), a poussé pour une refonte holistique de la façon dont « l'approbation des messages » est ressentie par les utilisateurs finaux (transparence de la file d'attente, notifications, comportement du compositeur) (lire plus), et a rafraîchi la documentation principale en nettoyant le matériel obsolète (par exemple, le guide « Rechercher efficacement ») (lire plus). Il a également mis à jour la documentation contextuelle du compositeur pour les administrateurs (lire plus) et a attiré l'attention de l'ingénierie sur un lien d'intégration Extras retournant une erreur 404 (lire plus).
pmusaraj a enquêté sur les problèmes d'interopérabilité ActivityPub : le changement de paramètre de Mastodon (scope → scopes) a été identifié et un correctif a été proposé en amont/dans le plugin (lire plus), et les problèmes de vérification Discourse↔Discourse AP suivants ont été réduits au comportement de l'acteur Meta par rapport aux autres acteurs (lire plus). Il a également confirmé les améliorations de Discourse ID pour les conflits d'URI de redirection à l'avenir (lire plus) et a fait suite au comportement des e-mails alternatifs sur les sites du niveau Gratuit (lire plus).
manuel a donné des conseils directs aux utilisateurs finaux sur les paramètres de notification (surveillance/suivi) lorsqu'une personne a signalé « Meta ne me notifie plus » (lire plus).
HAWK a reconnu et escaladé une erreur de provisionnement de plan gratuit hébergé à l'équipe, maintenant la boucle de support en mouvement rapide (lire plus).
pedro est intervenu dans le même problème de provisionnement hébergé pour recueillir des détails de diagnostic (la valeur exacte du domaine saisie) et aider à confirmer la solution de contournement (lire plus).
Merci d'avoir lu, et je vous revois la semaine prochaine !
Une grande partie de l'énergie de la semaine s'est concentrée autour des nouvelles affordances d'interaction (la nouvelle expérience Boosts : en savoir plus), de l'intégration de Discourse en tant que système de commentaires complet (en savoir plus), et des itérations continues sur les flux de travail IA / localisation (par exemple : retour sur la qualité des traductions de tags dans en savoir plus, ainsi que des correctifs suivants comme le support des icônes de tags traduits dans en savoir plus).
Sujets intéressants
#announcements
Discourse expérimente les Boosts (une réaction accompagnée d'un court message) et la communauté a débattu des chevauchements UX avec les réactions/likes, des implications en matière de modération et du nommage (le « nommer des choses » a même eu un caméo). en savoir plus
Les intégrations ont reçu une mise à niveau majeure : le « mode application complet » charge désormais l'application Discourse complète dans l'iframe, permettant aux visiteurs de répondre, aimer et citer sans quitter le site hôte, avec une discussion sur la découvrabilité de la barre de défilement et l'emplacement de « répondre au sujet ». en savoir plus
Les agents IA de Discourse peuvent désormais se connecter vers l'extérieur à n'importe quel serveur MCP (« Apportez votre propre MCP »), élargissant la surface d'automatisation pour les agents IA via des outils externes. en savoir plus
Une amélioration de support petite mais significative : les utilisateurs suivant/surveillant des sujets dans les catégories solved sont désormais notifiés lorsqu'un sujet est marqué comme résolu — plus un retour précoce sur les cas limites des préférences de notification. en savoir plus
Le post de la version mensuelle de mars 2026 est arrivé avec des liens vers les journaux de modifications et les correctifs, et a déclenché au moins un rapport fluide de « passage à la version de production ». en savoir plus
nat a publié une histoire « coulisses » de l'évolution multilingue de Discourse sur 13 ans, suivie de louanges et de contexte de l'équipe. en savoir plus
L'équipe a clarifié comment Meta organisera les webinaires par rapport aux heures de bureau communautaires, y compris l'endroit où les rediffusions et les prochaines sessions seront hébergées à l'avenir. en savoir plus
Les traductions de tags générées par IA ont déclenché un examen détaillé de la qualité (traductions manquant de contexte comme composer → « Komponist »), ainsi qu'une discussion sur les stratégies d'ancrage (descriptions de tags, contexte de code/glossaire). en savoir plus
Une demande d'ajout de l'ukrainien et du russe au sélecteur de langues de Meta a reçu un signal positif de l'équipe pour une action à court terme. en savoir plus
Une régression mobile a fait que certains pages de Meta n'affichaient que l'en-tête/titre sur les navigateurs iOS ; l'enquête a tracé la cause à un changement récent dans un composant de thème et un retour en arrière a suivi. en savoir plus
Les bannières de tags ont temporairement perdu l'affichage de leurs tags (bannières vides), rapidement diagnostiqué comme un changement de disponibilité des données, puis corrigé dans le composant de thème. en savoir plus
Cas limite de tag numérique : un ancien motif d'URL /tag/#### produisait une erreur 500 (mauvais pour les robots d'indexation) ; l'équipe a confirmé qu'elle surveillait un correctif tout en maintenant la compatibilité /tag/name. en savoir plus
Le plugin experts de catégorie a fait planter les fusions d'utilisateurs en raison de contraintes de validation ; un correctif a été mis en file d'attente via une PR de plugin. en savoir plus
Une régression de traduction a montré des « pensées/commentaires » de IA qui fuyaient dans la sortie allemande ; l'agent a été mis à jour et les titres/messages affectés ont été nettoyés. en savoir plus
Les sauvegardes vers Cloudflare R2 ont échoué sur les téléchargements multipart avec une version plus récente d'aws-sdk-s3 ; le verrouillage des versions a restauré la fonctionnalité pour les installations concernées. en savoir plus
Les sujets archivés + les réactions avaient une logique incorrecte : certains messages pouvaient encore être réagis dans certaines conditions ; un correctif principal a été préparé. en savoir plus
#feature
Le composant d'icône de tag a gagné le support des tags traduits (avec une PR référencée et des captures d'écran montrant des étiquettes de tags traduites + des icônes correctes). en savoir plus
L'intégration des embeddings Mistral a rencontré un décalage de compatibilité OpenAI (dimensions vs output_dimension), provoquant une demande de support pour la dénomination des paramètres de Mistral. en savoir plus
Une demande pratique de média : détecter ou rejeter les téléchargements VP9 dans MP4 qui échouent silencieusement sur iOS Safari, avec une discussion sur des approches de transcodage sûres et optionnelles. en savoir plus
Les administrateurs ont demandé à autoriser les emails entrants pour les groupes automatiques (pour éviter les contournements « groupe en double + synchronisation des membres »), avec des notes sur les contournements existants uniquement via la console. en savoir plus
Le « Abandonner » du compositeur pendant le flux d'édition reste confus : des propositions incluaient de changer le texte de l'interface en « Annuler l'édition » et de ne demander confirmation que s'il y a de véritables modifications. en savoir plus
L'obligation de MFA peut « enfermer les utilisateurs » dans l'écran de sécurité avec des instructions limitées ; le fil a exploré de meilleurs modèles de personnalisation (texte du site vs insertion de composant de thème au-dessus de la sortie de l'enveloppe). en savoir plus
Un rapport de régression a montré que les permissions de sécurité des catégories étaient réinitialisées lors du changement des relations parent/sous-catégorie sous « création simplifiée de catégorie », avec une confirmation de l'enquête par le personnel. en savoir plus
Une petite contrainte de flux de travail de longue date : les utilisateurs ne peuvent pas se désabonner des comptes suspendus/bannis sans les désuspendre temporairement ; une PR de correctif a été liée. en savoir plus
Un fil franc sur cultiver une communauté sans « attrait » de produit/service a revisité les volants d'activité, le modèle 99-9-1, et une participation durable « non pilotée par le fondateur ». en savoir plus
« À quel point votre forum est-il minimal ? » a incité à des inventaires concrets de ce que les administrateurs choisissent de ne pas activer (catégories, plugins, chat, réactions, LLM), et a naturellement dérivé vers les compromis autour des tags et des niveaux de confiance. en savoir plus
lindsey a publié deux annonces destinées aux utilisateurs : la nouvelle expérience Boosts (en savoir plus) et l'amélioration des notifications Résolu pour les surveillants/suiveurs dans les catégories de support (en savoir plus). Elle a également fait le point sur un élément de statut « Projets actuels » lié aux composants de style Crowdin (en savoir plus).
Falco a piloté plusieurs fils de discussion sur le produit et la plateforme : il a annoncé le nouveau mode application complet pour les intégrations et a fait le suivi sur la simplification de l'interface et les détails de comportement (en savoir plus) ; a renforcé le comportement des notifications push sur l'écran d'accueil iOS (et a pointé vers la cause racine de la fragilité) dans le fil des notifications push (en savoir plus) ; a confirmé que Meta pourrait ajouter l'ukrainien/le russe dans le sélecteur de langues bientôt (en savoir plus) ; et a discuté des stratégies d'atténuation des téléchargements VP9 avec des références à Video Stream comme option (en savoir plus). Il a également continué à itérer sur les flux de travail MCP et IA (par exemple, peser les approches « déclencheur de flux de travail » pour les bots de mention uniquement dans en savoir plus, et soulignant le support de l'édition de messages MCP dans en savoir plus).
nat s'est concentrée intensément sur la localisation et la qualité de la traduction par IA : elle a publié l'histoire longue « Construire pour chaque langue » (en savoir plus), a répondu rapidement au retour « les tags traduits par IA manquent de contexte » et a discuté des améliorations de prompt/outillage (en savoir plus), et a confirmé qu'un correctif arrivait pour le cas limite d'URL de tag numérique 500 (en savoir plus). Elle a également livré/mis en file d'attente des améliorations dans tout le domaine de la localisation, y compris le support des icônes de tags traduits via une PR (en savoir plus) et un correctif ciblé pour la fuite de « commentaires/pensées IA » dans les traductions allemandes (en savoir plus). Côté configuration, elle a décrit un avenir plus granulaire pour la portée de la traduction par IA (y compris les contrôles de traduction PM) avec un plan de migration et un lien PR référencé dans le sujet (en savoir plus).
awesomerobot a été actif sur l'UX produit et la maintenance : il a clarifié comment les Boosts s'intègrent dans une hiérarchie d'interaction et a confirmé que la fonctionnalité sera optionnelle, tout en discutant des fonctionnalités de sécurité comme les mots surveillés et les possibilités futures de numérisation par IA (en savoir plus) ; a diagnostiqué et corrigé une régression dans les bannières de tags avec un retour rapide de PR (en savoir plus) ; et a fourni une approche concrète de composant de thème pour ajouter un guide d'application MFA personnalisé via une insertion de sortie (en savoir plus). Il a également ouvert/fusionné des améliorations de flux de travail comme faire en sorte que les flux de rejet créent un brouillon pour édition après rejet de la file d'attente de révision (en savoir plus), a ajusté le texte système confus sur « répondre à ce message » lorsqu'aucun utilisateur/groupe de contact n'est configuré (en savoir plus), et a reconnu des bizarreries de l'interface Ask Discourse comme le lien redondant « Retour au forum » sur la page d'accueil (en savoir plus).
zogstrip a déployé un large ensemble de correctifs et de PR dans le noyau et les plugins/composants officiels : il a répondu aux questions sur les Boosts et clarifié que les boosts ne réorganiseront pas les messages (en savoir plus) ; a corrigé la logique « likes/réactions dans les sujets archivés » (en savoir plus) ; a lié une PR de correctif pour le désabonnement des utilisateurs suspendus/bannis dans le plugin Follow (en savoir plus) ; et a géré plusieurs petites contrariétés opérationnelles comme le comportement « notifier les utilisateurs » de l'invitation en masse de groupes (en savoir plus) et un problème RTL dans le comportement des icônes de liens externes (en savoir plus). Il a également clarifié un paramètre lié à l'inscription mal compris et mis à jour sa description pour réduire la confusion des administrateurs (en savoir plus), et a mis en file d'attente un correctif pour les problèmes de schéma acceptedAnswer découverts via Google Search Console (en savoir plus).
david a fourni un support technique approfondi et une communication sur les versions : il a expliqué pourquoi des problèmes CORS sont apparus après des mises à niveau récentes (scripts de module + en-têtes) et a guidé les administrateurs à travers les exigences de reconstruction NGINX/CDN, y compris en pointant vers le chemin exact du correctif et le comportement de reconstruction (en savoir plus) ; a publié l'annonce de la version de mars 2026 avec des liens vers le journal des modifications (en savoir plus) ; et a débogué un scénario de collision de migration assistée par IA dans discourse-ai, y compris les détails d'ordre de migration sous-jacents et les options d'atténuation (en savoir plus). Il a également fusionné et publié une PR de dépendance (support Sidekiq 8 pour mini_scheduler) rapidement après la soumission (en savoir plus).
sam a continué à faire avancer Discourse AI + MCP : il a annoncé « Apportez votre propre MCP » pour les agents Discourse AI (en savoir plus) et a publié le guide d'administration pour connecter les serveurs MCP aux agents (en savoir plus). Il a également pesé les compromis autour de la logique de réponse des bots de mention uniquement (penchant vers les défauts pour réduire la prolifération des options) (en savoir plus), et a participé au fil de collision de migration avec des idées comme le linting/compétences pour imposer des migrations horodatées correctes lors de l'utilisation d'outils IA (en savoir plus).
mcwumbly a participé à plusieurs points de contact sur « comment nous gérons Meta » et « comment nous déployons des changements » : il a loué et ajouté du contexte au post d'histoire multilingue (en savoir plus), a discuté d'une approche prototype « espaces de travail » qui mappe les catégories aux espaces d'équipe (style Slack) (en savoir plus), et a partagé comment Meta a ajusté les plafonds TL3 en utilisant Data Explorer, y compris un pointeur vers le post de référence de la requête exacte (en savoir plus). Il a également reconnu et mis en file d'attente une enquête pour une régression de réinitialisation des permissions de catégorie sous la création simplifiée de catégorie (en savoir plus), et a continué à entretenir les mécanismes et les comportements de la barre latérale/tag du fil d'expérience « hub de jardinage de contenu » (en savoir plus).
Bas a géré un incident opérationnel rapidement : il a confirmé puis résolu la panne de ask.discourse.com, publiant la mise à jour « corrigé » une fois le service revenu (en savoir plus).
davidb a identifié la cause racine probable du problème de « page de sujet cassée » sur mobile comme un commit spécifique dans le composant discourse-tag-icons, et a initié un retour en arrière temporaire tout en enquêtant (en savoir plus).
Merci d'avoir lu, et je vous revois la semaine prochaine !
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, #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
#Theme component
Discourse Lucide Icons (#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 (#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, #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 (#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, #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!
La plus grande conversation « tout le monde » de cette semaine portait sur l'engagement de Discourse envers l'open source à l'ère de l'IA : en savoir plus
Discourse a réaffirmé sa position open source (et pourquoi la « sécurité par l'obscurité » ne tient pas), dans « Discourse ne passera pas en mode fermé » — une réponse opportune aux inquiétudes de l'industrie concernant la découverte d'exploits pilotée par l'IA. en savoir plus
#Annonces
La création de catégories a bénéficié d'une amélioration majeure de l'UX : les « catégories Idées » peuvent désormais être créées plus facilement avec le système de vote des sujets de Discourse, incluant un flux de configuration plus clair et des paramètres par défaut. en savoir plus
L'intégration de Discourse en tant que système de commentaires complet continue de mûrir ; le fil d'annonce a recueilli davantage de retours concrets et de suivis, incluant des améliorations comme une affordance de réponse chronologique flottante. en savoir plus
Le déploiement de la fonctionnalité « Appliquer automatiquement des grilles aux uploads d'images » a été clarifié : « Stable » dans les changements à venir ne signifie pas toujours que le paramètre disparaîtra ; parfois, il s'agit simplement d'un changement de valeur par défaut. en savoir plus
#Fonctionnalité
Un débat UX de longue date a resurgi : l'avertissement « réponse à un ancien sujet » a disparu, et les administrateurs souhaitent un remplacement configurable, orienté vers la guidance, plutôt qu'un blocage décourageant. en savoir plus
Ergonomie de la file d'examen : les modérateurs ont demandé le regroupement des éléments à examiner par utilisateur (ou un contexte plus fort) pour éviter les actions accidentelles de « suppression d'utilisateur » lorsque les signalements et les messages sont séparés dans la file. en savoir plus
Des demandes de fonctionnalités pour le chat sont arrivées dans deux fils étroitement liés : les sondages dans les salons de chat et les paramètres par défaut des salons (par exemple, fils préconfigurés, permissions, etc.). en savoir plus et en savoir plus
Un cas limite douloureux de mise à jour : les plugins ne pouvaient pas enregistrer les paramètres de catégorie lorsque enable_simplified_category_creation était activé ; les développeurs ont été orientés vers les modèles de migration FormKit et conseillés de se désactiver temporairement via les changements à venir. en savoir plus
Problème d'échelle de la traduction par IA : le portugais (pt) a été ignoré lors de la traduction vers beaucoup de locales à la fois, menant à une enquête sur les échecs du backend, la journalisation détaillée et le comportement de nouvelle tentative. en savoir plus
Le menu à clé anglaise des messages administrateur avait des infobulles cassées ou manquantes ; un PR principal a été ouvert pour corriger les erreurs de copie/collage et ajouter des titres là où cela était utile. en savoir plus
Incohérence de l'UX des tags : le compositeur affirmait parfois qu'un tag était autorisé et parfois non, selon la saisie de l'autocomplétion ; la correction a nécessité une logique d'application « plus intelligente » autour des limites. en savoir plus
Régression Calendrier/Événement + Récapitulatif : un lien de chat manquant dans le widget d'événement du message a été tracé à des changements du système de construction et rapidement corrigé via un PR. en savoir plus
Les utilisateurs ne pouvaient pas voir les onglets des détails des invitations en raison d'un bug de routage (controllerFor vs modelFor) ; une correction a été déployée via un PR principal. en savoir plus
L'autocomplétion des hashtags a déclenché des erreurs de console en mode sûr, avec un chemin lié à des helpers de génération d'icônes manquants ; des corrections ont été appliquées tandis que la reproduction plus approfondie se poursuivait pour le deuxième mode d'erreur. en savoir plus
Ponctuation de l'éditeur RTL : le champ « titre du nouveau sujet » restait LTR lorsqu'il était vide ; une correction basée sur le balisage a été proposée et fusionnée pour inverser le comportement de direction selon que le champ contient du contenu. en savoir plus
Amélioration de la modale de partage mobile : l'emplacement du bouton Copier était malcommode sur les petits écrans ; un PR a réorganisé le contenu tout en gardant la date du message visible. en savoir plus
La transparence de la file d'examen a changé : les détails de scoring des signalements ont été intentionnellement supprimés en raison de la confusion, provoquant une discussion sur ce qui devrait rester visible et pourquoi. en savoir plus
Une discussion majeure s'est poursuivie sur les contraintes de composition mobile (découvrabilité de la barre d'outils, hauteur exiguë de l'éditeur, et la tension entre les attentes web vs application). en savoir plus
Confusion sur les messages du plan gratuit : les utilisateurs ont signalé des communications trompeuses sur le calendrier de fermeture / lecture seule, déclenchant une enquête du personnel sur la clarté du calendrier et le comportement de l'automatisation. en savoir plus
Histoire préventive Redis : vider Redis a « corrigé » une interface utilisateur bloquée « En cours de mise à jour… », mais les répondants ont souligné le rôle de Redis dans les sessions/tâches Sidekiq et encouragé un diagnostic plus ciblé. en savoir plus
Images distantes : un site hébergé a commencé à télécharger et remplacer des URL d'images distantes de manière inattendue ; le débogage suggérait des uploads déjà téléchargés (correspondant par hachage) et le timing du nettoyage. en savoir plus
Personnalisation du texte administrateur : la modification du texte « Bienvenue » sur /login a été résolue en localisant js.login.header_title (et un rappel d'appuyer sur retour dans l'interface de recherche). en savoir plus
#Thème composant
Une amélioration UI légère : Discourse Dynamic Sidebar Icon bascule l'icône de la barre latérale en fonction de l'état ouvert/fermé, avec un comportement mobile optionnel. en savoir plus
Recherche Wikipédia a été livré en tant que composant de thème, ajoutant des infobulles et une URL de base configurable (prenant en charge les Wikipédias spécifiques à la langue et autres domaines wiki). en savoir plus
#Plugin
Un nouveau plugin expérimental : Buffer — simplifier le partage de sujets sur les réseaux sociaux, ajoutant « Partager vers Buffer » depuis la modale de partage / la clé anglaise d'administration des sujets pour les flux de travail du personnel. en savoir plus
WP Discourse cas limite d'intégration : les publications WordPress « Galerie uniquement » ont cassé l'extraction de l'aperçu en raison de Readability (algorithme Mozilla Reader View) ; le fil a cartographié des atténuations pratiques et des paramètres de sélecteur d'intégration pertinents. en savoir plus
sam a ancré la plus grande conversation méta de la semaine avec une déclaration claire sur la raison pour laquelle Discourse ne passera pas en mode fermé, et pourquoi l'ouverture reste alignée avec les valeurs de Discourse. en savoir plus Il a également aidé à dépanner « les mises à jour en temps réel n'apparaissent pas » en vérifiant si les instances étaient derrière un proxy. en savoir plus
Falco a mené une discussion à fort signal sur les performances d'intégration en temps réel avec Tecnoblog, couvrant les en-têtes de cache, le comportement des analyses d'intégration et plusieurs corrections itératives (hauteur dynamique, chargement différé et réduction des requêtes spécifiques à l'intégration). en savoir plus Il a également confirmé le comportement de réglage de la langue pour les publications multilingues dans la traduction par IA. en savoir plus Et il a fait un suivi sur les améliorations des commentaires intégrés (affordances de réponse chronologique flottante). en savoir plus
awesomerobot a déployé (ou lancé) plusieurs corrections de qualité UX : correction des infobulles du menu des messages administrateur via un PR. en savoir plus Ils ont également expliqué la cause racine du problème « les plugins ne peuvent pas enregistrer les paramètres de catégorie » dans le chemin de création simplifiée de catégorie/FormKit, incluant une référence de migration et une atténuation temporaire via les changements à venir. en savoir plus De plus, ils ont corrigé un bug de visibilité des détails d'invitation d'utilisateur. en savoir plus
pmusaraj a fourni des diagnostics approfondis sur plusieurs problèmes : aidant à déboguer « la traduction par IA ignore le portugais » en passant des questions de configuration → hypothèses de taux/délai d'attente → journalisation détaillée et erreurs backend. en savoir plus Ils ont également lancé le plugin expérimental de partage Buffer pour les flux de travail sociaux du personnel. en savoir plus Et ils ont identifié un erreur piège « le sujet n'existe pas » lors du changement de locale comme un paramètre d'URL ?preview_theme_id= obsolète. en savoir plus
chapoi a contribué à la fois à l'orientation produit et au tri du support : réagissant publiquement à la discussion sur la position open source et renforçant la fierté interne de la décision. en savoir plus Ils ont également orienté les discussions UX de la file d'examen vers un espace UI actionnable (élargissant la zone d'analyses). en savoir plus Et ils ont impliqué le personnel pour enquêter sur un rapport du Plan gratuit « impossible de désactiver la lecture seule ». en savoir plus
nat est resté actif sur le support IA et plugins : conseillant sur le débogage des échecs de traduction par IA (journaux détaillés, limites de taille de message, fenêtres de contexte LLM et notes sur la qualité du modèle). en savoir plus Ils ont également tracé et corrigé un problème de restauration/indexation des Catégories de Documentation probablement déclenché par des effets secondaires du Calendrier. en savoir plus Et ils ont corrigé un cas limite du plugin Livestream où le groupe « tout le monde » ne se comportait pas comme un vrai groupe pour les vérifications de permissions. en savoir plus
manuel a mis en avant les améliorations des outils de l'écosystème (notamment l'interface améliorée des versions) dans le fil open source. en savoir plus Ils ont également ressorti un projet pratique de générateur d'archives statiques pour Discourse, partageant un dépôt et une archive de démonstration pour évaluation. en savoir plus
jomaxro a clarifié l'architecture d'authentification et les limitations autour de la 2FA avec les connexions externes (y compris Discourse ID), corrigeant un détail de protocole initial et confirmant que l'application relève du fournisseur externe. en savoir plus Ils ont également clarifié la position actuelle sur les essais gratuits et les exigences de carte de crédit, et aidé à résoudre la confusion autour de conseils très anciens. en savoir plus
zogstrip a déployé des corrections et des explications sur le comportement principal : reconnaissant et corrigeant un problème d'indice de limite de tag dans le compositeur. en savoir plus Ils ont également indiqué la correction pour le helper d'icône manquant de l'autocomplétion des hashtags. en savoir plus Et ils ont expliqué le mécanisme interne de « budget de différence » derrière le message « La différence est trop complexe à afficher », en liant directement à l'implémentation. en savoir plus
martin a clarifié le fonctionnement des messages de statut des changements à venir (et ce que « Stable » implique vraiment), incluant des conseils pour les futurs types d'impact de « définition par défaut ». en savoir plus Ils ont également aidé à boucler la boucle sur le fil « les plugins ne peuvent pas enregistrer les paramètres de catégorie » en indiquant où les avertissements ont été communiqués et en confirmant que les corrections officielles des plugins ont été fusionnées. en savoir plus
Merci de votre lecture, et je vous revois la semaine prochaine !
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)
#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)
#plugin / #theme-component
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 (#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 (#theme-component) (read more)
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 (#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
#Theme component / #Theme
#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
#Theme componentModern User Card work continues: restoring/modernizing the experimental usercard design surfaced deprecations and refactor needs as core evolves. read more
#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).
#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
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!
Grands lancements à ne pas manquer : réponses imbriquées (lire plus), nouvelles optimisations d'images côté client (lire plus), et le nouveau signal « Moi aussi » pour les sujets de support non résolus (lire plus).
Sujets intéressants
#Annonces
markvanlan a présenté les réponses imbriquées pour les communautés ayant besoin de conversations entièrement threadées, ainsi qu'un aperçu précoce de la vue single-thread et des contrôles administrateur (lire plus).
lindsey a annoncé les améliorations de la résolution : un bouton « Moi aussi » pour les sujets non résolus dans les catégories de support, qui abonne également les membres à être notifiés lorsqu'une solution est acceptée (lire plus).
Falco a déployé de nouvelles optimisations d'images côté client, notamment la conversion GIF → WebP animé pour réduire la taille des téléchargements et améliorer la performance perçue (lire plus).
Les actions en lot ont été nettoyées avec une meilleure gestion des tags en lot : l'ajout/remplacement/suppression de tags est désormais disponible dans une seule fenêtre modale « Gérer les tags » (lire plus).
martin a partagé un flux de configuration simplifié pour créer des catégories Événements en utilisant le plugin Calendrier & Événements, poursuivant l'« initiative de configuration des catégories » (lire plus).
Les utilisateurs du thème Horizon ont bénéficié d'une mise à jour par défaut : les cartes de sujets à fort contexte sont désormais activées par défaut, exposant des signaux tels que Résolu/Vote/Attribution et des aperçus plus riches (lire plus).
martin a introduit des pseudo-groupes granulaires pour des permissions plus claires : séparation des utilisateurs anonymes et connectés afin de réduire la confusion causée par @everyone dans les paramètres de groupe du site (lire plus).
Notifications push PWA iOS : la configuration de l'abonnement peut échouer silencieusement lorsque le service worker ne contrôle pas encore l'application, avec une correction proposée et discutée dans le noyau (lire plus).
Un cas limite de Discourse Automation : les automatisations récurrentes mensuelles ne se déclenchaient pas comme prévu, déclenchant une analyse approfondie du calcul de la récurrence mensuelle (lire plus).
Navigation Lightbox dans les uploads en grille : les images s'affichent dans le mauvais ordre (par exemple 1, 3, 2, 4), avec une correction suivie et liée (lire plus).
Régression des pages de groupe : les utilisateurs ne pouvaient pas voir qui était propriétaire du groupe, bien que les données soient présentes, ce qui a conduit à une PR pour les afficher à nouveau (lire plus).
Difficultés de démarrage des réponses imbriquées : les actions de la clé à molette d'administration des messages semblent inutilisables en vue imbriquée, nécessitant de revenir en mode plat comme solution de contournement (lire plus).
Problème du Créateur de thème : l'exportation de thèmes sur mobile entraîne un écran blanc, tandis que le bureau se comporte normalement (lire plus).
Accroc de mise à jour auto-hébergée : un crash de mise à jour du panneau d'administration (délai d'expiration de compilation JS du plugin) a été résolu en reconstruisant via ./launcher rebuild app (lire plus).
Ponçage de la fenêtre modale des signets : un bouton bascule « superflu » dans la fenêtre de modification du signet a été débattu puis supprimé via une PR (lire plus).
Ergonomie de l'éditeur de catégories : le fait que le bouton Supprimer soit plus visible que Enregistrer dans l'interface utilisateur simplifiée des catégories a été signalé comme risqué/confus (lire plus).
Micro-mise en page du profil : le texte en italique dans la bio d'un utilisateur peut apparaître légèrement coupé, probablement en raison des règles de débordement (lire plus).
UX d'administration mobile : la configuration des scripts Discourse Automation sur un écran de téléphone est exigüe et difficile à utiliser (lire plus).
Questions sur le comportement de suivi : les administrateurs ont remarqué ce qui semble être un changement dans la rapidité avec laquelle les sujets perdent leur statut « NOUVEAU » dans les listes après avoir consulté un sujet (lire plus).
Vérification de sécurité de la réorganisation des catégories : la discussion a clarifié que le renommage du nom/slug de la catégorie est sûr car les URL sont résolues via des identifiants, et les anciens slugs sont redirigés (lire plus).
Intégration dans Salesforce : les défis liés aux iframes et à l'authentification ont conduit à des conseils pratiques sur l'alignement des domaines de cookies et les ajustements de same_site_cookies (lire plus).
Confusion sur la facturation/mise à niveau hébergée : un administrateur du plan Gratuit ne voyait pas l'option de mise à niveau Starter et le personnel a enquêté/atténué le problème (lire plus).
Auto-hébergement axé sur la sécurité : des questions sur la CVE-2026-42945 de Nginx et sur la manière dont les images de base/règles de Discourse sont affectées ont provoqué une réponse de l'équipe (lire plus).
#Composant_thème
Un nouveau composant de thème pour rendre les libellés des boutons de réponse plus clairs (et traduisibles), particulièrement pertinent avec les réponses imbriquées qui changent la sémantique de la réponse (lire plus).
Un petit mais utile composant de thème pour masquer les « votes restants » dans les interfaces de vote de sujet (surtout lorsque des votes « illimités » sont émulsés), ainsi qu'une discussion sur les nouveaux paramètres de limite de vote (lire plus).
markvanlan a dirigé le déploiement et le Q&R pour les réponses imbriquées, couvrant pourquoi le threading est un choix d'administrateur (et non une préférence par utilisateur) et comment l'activation/désactivation est réversible (lire plus, lire plus).
Falco a déployé et expliqué le nouveau pipeline d'optimisations d'images côté client (incluant GIF → WebP animé) (lire plus), et a coordonné les correctifs pour les notifications push PWA iOS en demandant une approche de mise à jour du service worker (lire plus). Il a également conseillé sur les contraintes de connexion par iframe/intégration pour les déploiements Salesforce (lire plus) et a répondu aux échecs de mise à jour auto-hébergée impliquant des délais d'expiration de compilation de plugins (lire plus).
lindsey a annoncé et clarifié la nouvelle expérience « Moi aussi » pour les sujets de support non résolus, et a débattu de la manière dont le compteur devrait se comporter (commençant à 1 pour inclure l'auteur original) (lire plus, lire plus). Elle a également introduit la fenêtre modale consolidée de gestion des tags en lot pour les flux de travail du personnel (lire plus).
HAWK a maintenu la discussion sur la prêtitude à l'entreprise avec plusieurs threads sur la mise à l'échelle : points de rupture à mesure que les communautés grandissent (lire plus), risques de se mettre à l'échelle trop tard ou trop tôt (lire plus), signaux précoces indiquant qu'une stratégie doit être révisée (lire plus), et une liste de contrôle de prêtitude à l'entreprise pour les commentaires (lire plus).
martin a étendu l'initiative « configuration du type de catégorie » en rendant les catégories Événements plus faciles à configurer (lire plus) et a activé une découverte plus riche dans Horizon en activant par défaut les cartes de sujets à fort contexte (lire plus). Il a également introduit une sémantique de groupe plus claire via de nouveaux pseudo-groupes pour les utilisateurs anonymes et connectés (lire plus), amélioré les options de l'interface utilisateur « modifications à venir » de l'administration pour les fonctionnalités de reporting (lire plus), et clarifié le fonctionnement des liens optionnels « Aperçu » et « Feedback » pour les entrées de modifications à venir (lire plus).
awesomerobot a clarifié le comportement du nouveau bouton « Moi aussi » par rapport à Boost (et pourquoi il est lié aux notifications de solution) (lire plus), a corrigé les frictions de l'interface mobile où « dernière exécution » d'Automation chevauchait les boutons d'action (lire plus), et a résolu des petits problèmes de produit comme « l'étiquette LLM par défaut ne se met pas à jour » avec une PR (lire plus). Il a également rétabli la visibilité des propriétaires de groupe pour les utilisateurs non membres du personnel (lire plus), discuté des paramètres de limite de vote dans le contexte du masquage des « votes restants » (lire plus), et même nettoyé un choix de motif de thème officiel après avoir noté des connotations potentiellement négatives (lire plus).
zogstrip a livré un flux constant de correctifs : ordre de la lightbox en grille (lire plus), une fenêtre modale de suppression trop étroite sur mobile dans Edge (lire plus), plusieurs repros et correctifs en langue chinoise autour des flux d'édition/navigation (lire plus, lire plus), et tri de support pour une erreur 500 API liée à la sérialisation de silenced_till (avec un lien vers le correctif pertinent) (lire plus). Il a également aidé à orienter une enquête sur un bug récurrent d'automatisation « mensuel » en le signalant pour révision (lire plus).
chapoi a confirmé et expliqué des bugs UX (y compris des problèmes de fenêtre modale mobile et des bizarreries de la fenêtre de signet) (lire plus, lire plus), puis a suivi avec une PR pour supprimer un bascule de signet inutile (lire plus). Il a également aidé à résoudre des problèmes d'auto-hébergement avec beaucoup de plugins (badges/interface d'administration), orientant à plusieurs reprises les rapports vers l'isolation en mode sans échec (lire plus), et a signalé des préoccupations liées aux guillemets de localisation/traduction pour réflexion ultérieure (lire plus).
nat a répondu rapidement aux problèmes d'IA/localisation : en traitant les incohérences de détection de la locale norvégienne et en suggérant des contournements basés sur des invites pendant qu'une mise à jour de l'invite principale est prévue (lire plus, lire plus). Elle a également confirmé des cas limites de traduction comme « le titre se traduit mais pas le message », pointant vers des seuils de longueur de traduction et des ajustements de suivi (lire plus), et a discuté de la manière dont les citations traduites peuvent perdre des métadonnées importantes (surtout en allemand) (lire plus).
sam a géré à la fois des éléments liés à la sécurité et des éléments d'ingénierie : confirmant que les règles de réécriture par défaut de Discourse ne sont pas vulnérables tout en notant que les mises à jour d'images de base seront livrées pour le thread CVE Nginx (lire plus), fusionnant/corrigé un problème d'installation dans un sous-dossier MCP (lire plus), et vérifiant un cas limite de configuration de fournisseur d'IA (budget de réflexion Gemini) (lire plus).
Merci d'avoir lu, et je vous retrouve la semaine prochaine !
Quelques fils de discussion qui ont généré de l'attention et des likes cette semaine (échantillons) :
Les améliorations de l'UX de Discourse AI ont été mises en avant avec les conversations AI étoilées (en savoir plus) et un éditeur ancré pour les conversations avec les bots (en savoir plus).
Les discussions du blog ont déclenché des débats sur le « web ouvert » et les « robots d'indexation IA » : positionnement axé sur le web (en savoir plus) et Discourse prêt pour les agents (en savoir plus).
Les changements d'interface « Docs d'abord pour la lecture » ont suscité des retours via le mode simple des catégories de documentation (en savoir plus).
« Discourse est prêt pour les agents » (ai) a suscité un vaste débat sur la question de savoir si les communautés devraient accueillir les agents/robots d'IA ou les bloquer, y compris des réalités pratiques comme les scrapers ignorant le fichier robots.txt et la valeur incertaine du fichier llms.txt. en savoir plus
« Discourse ne vous bloquera jamais sur le web » a opposé la position de Discourse sur le web aux tendances de verrouillage axées sur les applications, et a lancé une discussion sur l'attribution et le crédit des auteurs dans les sujets complémentaires du blog. en savoir plus
#Annonces
Étoiler les conversations AI courantes (ai) a apporté une petite mais significative amélioration du flux de travail : les conversations de bots étoilées apparaissent désormais en haut de votre liste de conversations AI (derrière un bascule « changements à venir »). en savoir plus
Un éditeur ancré pour les conversations avec les bots AI (composer, ai, ai-bot) a introduit une sensation de « chat continu » pour les sujets de bots, réduisant la friction liée à l'ouverture répétée de l'éditeur. en savoir plus
Catégories de documentation : « mode simple » (doc-categories) a repensé les sujets de documentation dans une vue axée sur la lecture où les réponses sont repliées derrière un bascule, tout en restant déployées automatiquement pour les liens de réponse directe. en savoir plus
Mises à jour intermédiaires (19 mai 2026) ont regroupé les notes de version critiques pour les correctifs de sécurité et les liens de version pour les administrateurs suivant l'urgence des mises à jour. en savoir plus
Événements améliorés : RSVP flexibles pour les événements récurrents (calendar-and-event) ont ajouté la possibilité de confirmer sa présence uniquement pour la prochaine occurrence ou pour toutes les occurrences futures, évitant ainsi les rappels indésirables et améliorant la clarté des présences. en savoir plus
Nouvelle position du compteur de réponses pour les sites utilisant les réactions (reactions) a mis en évidence un changement de mise en page visant à aligner plus cohéremment la ligne des réactions sur les différents messages. en savoir plus
Le bouton d'approbation sur un profil utilisateur ne fonctionne pas a mis en lumière un cas limite complexe d'approbation/file de révision : les utilisateurs non approuvés n'apparaissant pas dans la file d'attente, des notifications d'approbation fantômes, et même des erreurs 500 lors de la tentative d'approbation depuis l'interface d'administration. en savoir plus
Le message e-mail « mise à jour disponible » pointait vers des notes de version cassées (manque du préfixe v dans l'URL du journal des modifications), ce qui provoquait une erreur 404 jusqu'à ce que le correctif soit appliqué. en savoir plus
Composant de thème des icônes de tags : les underscores se transforment en tirets a cassé les icônes de manière incohérente entre la barre latérale et les pages de sujets/tags, probablement en raison de changements dans la gestion des identifiants (slugs). en savoir plus
Autocomplétion des emojis + caractères spéciaux (comme ü) a révélé une rupture UX subtile mais réelle dans l'éditeur et le chat, y compris des erreurs dans la console lors de l'insertion d'emojis après avoir utilisé « plus… ». en savoir plus
Bug des réactions : le popover de survol « +1 » restait bloqué en chargement s'est avéré être un problème de codage URL (le + interprété comme un espace) et a été corrigé rapidement via un correctif ciblé. en savoir plus
NameError : ReactionsSerializerHelpers a affecté la sérialisation du flux de messages des sujets sur certaines installations utilisant le plugin réactions intégré, et une PR a été ouverte pour résoudre le problème d'ordre de chargement. en savoir plus
Réponses imbriquées + vote sur les messages = erreur 500 a révélé un cas d'incompatibilité où les sérialiseurs imbriqués attendaient des métadonnées absentes, générant undefined method 'post_number' for nil. en savoir plus
La coloration syntaxique ne se copie/colle pas de manière fiable avec les couleurs a donné lieu à une analyse approfondie des formats du presse-papiers, des différences entre navigateurs (Firefox vs Chromium) et de l'endroit où la mise en forme est perdue (copie vs collage). en savoir plus
Retours interculturels sur l'ordre des réponses (du plus récent au plus ancien vs du plus ancien au plus récent) a soulevé une question pertinente de découvrabilité et d'utilisabilité pour les utilisateurs plus âgés et les différentes habitudes de lecture, ainsi qu'une complication liée aux réponses imbriquées (l'UX de la chronologie diffère). en savoir plus
La restauration d'un message ne crée pas d'entrée dans le journal des actions du personnel a mis en évidence une lacune dans l'audit : les actions de suppression sont journalisées, la restauration d'un sujet l'est aussi, mais pas celle d'un message — ce qui a déclenché une PR. en savoir plus
Bannière de modification suggérée chevauchant l'historique des modifications/la date dans les docs wiki a signalé une collision d'interface probablement liée au style des docs/mode simple, réduisant la clarté autour des métadonnées de modification. en savoir plus
Confusion sur le plan gratuit / tarification : e-mail + types de catégories soudainement restreints a documenté des frictions réelles alors que le plan Gratuit hébergé continue d'évoluer, y compris les attentes concernant les matrices de fonctionnalités et les invites de mise à niveau de l'interface. en savoir plus
Attentes minimales d'activité sur les sites hébergés gratuits a clarifié la politique actuelle : notifications d'inactivité précoce vers 3 semaines, une autre vers 6 semaines, et désactivation vers 7 semaines s'il n'y a pas d'activité communautaire réelle. en savoir plus
Échec de la sauvegarde avec PostgreSQL 18 (résolu) a détaillé la résolution d'un décalage client/serveur pg_dump lorsque Discourse exécute la sauvegarde depuis un conteneur utilisant des outils pg plus anciens qu'un cluster PG18 externe. en savoir plus
#Migration
Optimisation de la vitesse de migration phpBB → Discourse (phpbb) a rassemblé des solutions pratiques aux problèmes de performance d'importation (E/S vs base de données vs Redis), ainsi que des rappels sur les importateurs en lot et le coût de la réexécution de grandes migrations. en savoir plus
#ConstructionCommunautaire
Une application cliente Discourse native pour iOS et Android (show-and-tell) a présenté un concept de client natif tiers (avec des mises en garde concernant le support des plugins et les limitations de connexion/push selon l'hébergement). en savoir plus
Intégration « nouvelle communauté » + limites sur Meta a mélangé des retours accueillants avec un rappel selon lequel Meta n'est pas le lieu approprié pour les promotions ou les tests fonctionnels — et d'utiliser try.discourse.org pour les expériences. en savoir plus
awesomerobot a participé directement à la discussion sur les compromis des robots d'indexation « prêts pour les agents » (y compris les limites du blocage des scrapers) dans ce fil, puis a également fait avancer le produit en confirmant la configurabilité du nouveau texte « Moi aussi » résolu dans ce suivi. Il a également recommandé les meilleures pratiques de gestion du spam (« supprimer et bloquer ») dans cette demande de fonctionnalité, et clarifié les seuils d'activité du niveau gratuit dans cette réponse de support.
Falco a aidé à diagnostiquer les échecs de mise à jour auto-hébergée et les contraintes de ressources (en particulier les installations avec 1 vCPU et des plugins non essentiels) dans Plantage après tentative de mise à jour, et a continué à itérer sur les contraintes d'UX des réponses imbriquées (disponibilité de la chronologie, décisions de restauration et lacunes de conception) dans retour sur l'ordre des réponses. Falco a également redirigé un rapport d'erreur 404 sur l'état de lecture des réponses imbriquées vers le bon endroit dans ce fil de bug, et a signalé des correctifs en cours pour les actions d'administration en mode imbriqué dans ce rapport de bug imbriqué.
sam a déployé des améliorations d'utilisabilité de l'IA avec l'annonce des conversations AI étoilées dans ce sujet, confirmé et défini le périmètre d'un problème de bouton retour/historique de chat flottant dans ce bug de chat, et a répondu à un rapport de plantage de signalement en encourageant une PR (et en confirmant que cela est sous surveillance de l'équipe) dans ce sujet de bug.
david a publié les liens vers les mises à jour intermédiaires de la semaine pour les correctifs critiques dans le sujet des notes de version, et s'est prononcé sur le comportement des assets préconstruits lors des mises à jour web (et pourquoi certaines combinaisons plugin+matériel continuent de rencontrer des difficultés) dans ce fil de plantage de mise à jour. David a également noté qu'un ancien bascule « mode mobile basé sur la vue » est en retard de suppression (et peut causer des bugs s'il est désactivé) dans ce suivi des nouvelles développeurs.
keegan a présenté l'expérience de l'éditeur ancré pour les conversations avec les bots AI (derrière un drapeau « changements à venir ») dans cette annonce.
saquetim a déployé le mode simple pour les catégories de documentation (repli des réponses derrière un bascule tout en maintenant les liens profonds fonctionnels) dans cette annonce.
zogstrip était partout dans les suivis tactiques de correctifs de bugs : il a signalé une amélioration imminente pour le comportement du bouton retour des chats étoilés dans ce bug de chat, confirmé un correctif rapide pour le problème de codage URL du survol de la réaction « +1 » dans ce rapport de réactions, et lié des correctifs/PR pour plusieurs petits problèmes persistants — comme les erreurs 404 de pagination Googlebot dans ce fil de support, les améliorations de restauration des messages signalés dans ce bug, et une amélioration de lien UX pour les descriptions de paramètres dans ce sujet UX. Il a également essayé (sans succès) de reproduire un problème de modal de réactions sur mobile, demandant de meilleures étapes dans ce sujet de bug.
HAWK a répondu aux points de rupture de mise à l'échelle entreprise en confirmant le travail actif sur les calendriers/événements et l'intention de la feuille de route pour la conférence vidéo dans cette discussion entreprise. Il a également fourni un aperçu clair des capacités des mots surveillés (et a indiqué le guide de référence) dans ce sujet de support modération, et a expliqué pourquoi le plan Gratuit hébergé est déprécié tant que le product-market fit est encore testé dans ce fil de tarification/plan gratuit.
Danielle a publié l'enregistrement et le résumé d'une session de bureau sur MCP + Data Explorer (y compris des exemples pratiques de « posez des questions à vos données communautaires comme à un collègue ») dans ce post Événements.
Merci de votre lecture, et je vous retrouve la semaine prochaine !
Une grande partie de l'énergie de la semaine s'est concentrée sur les déploiements UX principaux, la stabilité des réponses imbriquées et le dépannage administrateur/auto-hébergé — avec plusieurs threads liés directement aux changements de plateforme récents ou en cours, tels que les réactions par défaut (en savoir plus) et le bruit des notifications « petites actions » (en savoir plus).
Sujets intéressants
#annonces
Le cœur de Discourse reçoit un nouveau système de build JavaScript, passant de ember-cli/webpack à rolldown (basé sur Rust, aligné avec Vite), promettant des builds de développement environ 80 % plus rapides tout en maintenant les installations de production inchangées grâce aux assets précompilés (en savoir plus). Contexte connexe : assets précompilés pour les auto-hébergeurs (en savoir plus).
Les réactions sont activées par défaut pour tous les nouveaux sites et existants via un processus de déploiement « changement à venir », martin expliquant pourquoi les paramètres par défaut évoluent et comment les désactivations sont gérées (en savoir plus). Contexte de la fonctionnalité canonique : fil du plugin Discourse Reactions (en savoir plus).
Les messages « petites actions » (avis de fermeture automatique, avis d'attribution, etc.) sont exclus des listes Surveillées/Suivies pour réduire le spam de notifications administrateur, et ce n'est pas optionnel en raison des contraintes d'implémentation (en savoir plus).
Le plugin Calendrier et Événements a bénéficié d'un flux de création d'événements beaucoup plus fluide directement dans le compositeur (éditeur interactif en texte enrichi et aperçu en Markdown), réduisant la friction pour les communautés organisant des événements (en savoir plus). Le sujet canonique du plugin : Calendrier et Événements (en savoir plus).
La version mensuelle de mai 2026 est arrivée (v2026.05) avec des liens complets vers le journal des modifications pour tout suivi des mises à niveau sur les installations auto-hébergées et hébergées (en savoir plus).
Discourse a publié « Projets actuels – Mai 2026 », incluant des notes de progression sur les plugins bundled et les initiatives (notamment : améliorations du vote par sujet et UX de configuration Calendrier/Événements) (en savoir plus).
Un classique problème de « non-lu fantôme » est apparu : les utilisateurs voyaient Non-lu (14) alors que /unread était vide. L'équipe a reconnu le bug et travaille sur des correctifs, tandis qu'une solution pratique en rails/SQL pour effacer l'état de non-lu à l'échelle du site a été partagée (avec la mise en garde importante qu'elle efface aussi les non-lus légitimes) (en savoir plus).
Les réponses imbriquées continuaient de révéler des cas limites : les liens de sujets suggérés vers des routes imbriquées retournaient une erreur 404 (et pouvaient laisser l'en-tête dans un état étrange). Un correctif principal a été déployé, suivi d'une discussion sur les redirections et les indicateurs de non-lu dans les sujets imbriqués (en savoir plus).
Les utilisateurs de Form Templates ont rencontré un problème subtil : les champs de sélecteur de tags cassés lorsque les noms de tags mélangeaient les casse. zogstrip a reproduit le problème et a rapidement livré un PR correctif, transformant un problème UX déroutant en une règle pratique : normaliser la dénomination des tags (en savoir plus).
Une petite coupure UX est devenue une amélioration de la validation backend : créer un groupe uniquement sur demande sans propriétaire produisait un « ÉCHEC » peu utile. L'enquête a noté la complexité du formulaire divisé et les anciens modèles Ember ; un PR a rétabli un message d'erreur descriptif (en savoir plus).
Un problème de mise à niveau délicat : db:seed_fu a échoué en raison d'un conflit de nom avec anonymous lors de la création de nouveaux groupes système. Le thread met en lumière des cas limites d'importation (noms d'utilisateurs/groupes nommés anonymous) et soulève des préoccupations de nommage/compatibilité autour des groupes automatiques (en savoir plus).
Les instances en langue française ont révélé un piège typographique : certaines substitutions d'apostrophes/citations ont transformé ' en > en raison des paramètres de guillemets. La désactivation de enable_markdown_typographer a résolu le problème, et l'équipe a signalé des « gains rapides » pour améliorer l'expérience (en savoir plus).
Les tests de réponses imbriquées continuent d'être controversés : un opérateur a signalé des pannes en production (changements de route, liens de notification cassés, incompatibilités de thème et problèmes de mise en page mobile) et a recommandé des avertissements plus forts avant l'activation, tandis que d'autres ont exploré des stratégies de test et la gestion des attentes (en savoir plus).
Un thread séparé sur la compatibilité des réponses imbriquées a abordé les conflits entre vote par message + réponses imbriquées ; la direction à court terme penche vers la désactivation explicite du comportement de vote par message dans les contextes imbriqués et l'envisagement d'une fonctionnalité « vote » future au sein des réponses imbriquées elles-mêmes (en savoir plus).
#fonctionnalité
La friction de l'intégration mobile a attiré l'attention : Discourse sur mobile affiche « Se connecter » de manière proéminente mais cache « S'inscrire » derrière le flux, entraînant une confusion chez les utilisateurs. Le thread explore les compromis de l'interface utilisateur, les composants alternatifs et le travail sur les PR pour améliorer la découvrabilité sans encombrer l'en-tête (en savoir plus). Idée de composant connexe : bouton d'authentification combiné (en savoir plus).
Une discussion sécurité vs opérabilité : lorsque « modifier l'e-mail après l'inscription » est désactivé, les administrateurs perdent également la possibilité de modifier l'e-mail via l'interface. La proposition vise un contrôle plus granulaire (uniquement administrateurs vs uniquement utilisateurs), probablement avec une friction en « mode super-utilisateur » comme la confirmation par mot de passe/2FA et une journalisation d'audit robuste (en savoir plus).
Retour sur l'IA de Discourse : l'ajout de webhooks/support d'événements pour les mises à jour d'artefacts IA (ou la désactivation du sandboxing) a été soulevé, et l'équipe a indiqué revenir sur ce point une fois que « Workflows » (une nouvelle approche d'automatisation) sera déployé (en savoir plus).
Les auto-hébergeurs ont comparé les fournisseurs VPS et les réalités SMTP : un thread « Vultr vs DO » s'est rapidement transformé en rappel que la délivrabilité des e-mails dépend généralement des politiques de ports des fournisseurs et d'une configuration correcte, et non de l'image du marketplace — et que le chemin d'installation officiel est souvent plus rapide que le débogage d'une configuration marketplace non supportée (en savoir plus). Dépannage SMTP connexe et pièges YAML (guillemets courbes !) sont apparus dans « Si les connexions locales sont désactivées » (en savoir plus) et le guide de dépannage e-mail canonique (en savoir plus).
Un problème pratique de stockage : les mises à niveau ont échoué en raison de la pression sur le disque et des grandes couches de conteneurs. Le thread inclut des conseils de nettoyage concrets (./launcher cleanup) ainsi qu'une discussion sur ce que sont les images de base, pourquoi les anciennes couches s'accumulent et comment libérer de l'espace en toute sécurité (en savoir plus).
« Échec de l'enregistrement automatique avec Discourse ID » a bloqué une installation lorsque l'e-mail a été ignoré, et la cause racine s'est avérée être les exigences d'URI de redirection HTTPS ; la solution de contournement consistait à créer un administrateur via CLI et à activer force_https, puis à terminer la configuration (en savoir plus).
Les administrateurs ont découvert une garde d'usurpation d'identité : un paramètre caché experimental_impersonation_time_limit_minutes (par défaut 15) existe, modifiable via la console rails (ou via une reconstruction s'il est placé dans la configuration, bien que cela soit plus lourd) (en savoir plus).
Une question « besoin de créer des canaux de chat via l'API » a été répondue avec le point de terminaison pertinent (POST /chat/api/channels) ainsi qu'un exemple de paramètre fonctionnel — utile pour les plateformes provisionnant des centaines de communautés de manière programmatique (en savoir plus).
Un retour sur le site a relevé qu'un guide de longue date « création de rapports de bugs » contient désormais des liens de catégories morts après la restructuration des catégories ; la solution suggérée est d'utiliser des URL de catégories avec des IDs afin que les déplacements futurs ne cassent pas les références (en savoir plus). Le guide référencé : « Création de rapports de bugs pour Discourse sur Meta » (en savoir plus).
#composant-thème / #louange
Un nouveau composant de thème vise à réduire la charge cognitive des administrateurs en fermant automatiquement certains types de notifications dans le menu utilisateur — particulièrement utile pour les sites avec de nombreuses invitations ou avis système (en savoir plus).
Un post de louange réfléchi a soutenu que regrouper les plugins populaires (désactivés par défaut mais préinstallés) est en fait une grande victoire : les administrateurs peuvent activer des fonctionnalités sans rebuilds disruptifs pendant les opérations en direct (en savoir plus).
david a lancé un élément majeur de nouvelles de développement présentant un nouveau système de build JS pour le cœur de Discourse (rolldown + modules ES natifs) avec de grandes gains de performance en mode développement tout en maintenant la stabilité en production (en savoir plus). Il a également suggéré de déboguer les navigateurs incompatibles avec Discourse en vérifiant la console du navigateur pour les détections de fonctionnalités échouées (en savoir plus), et a mis à jour la documentation sur la nouvelle stratégie d-compat/* pour le verrouillage de la compatibilité des plugins/thèmes (en savoir plus).
sam a livré/annoncé un changement de qualité de vie pour les notifications utilisateur : les petites actions ne comptent plus comme une activité suivie/surveillée, réduisant les « pings administratifs » lors des fermetures en masse et des minuteries (en savoir plus). Il a également relié les rapports de non-lu fantôme au chemin de déploiement du changement des petites actions (en savoir plus), et a orienté les dépanneurs auto-hébergés vers des ensembles de commits spécifiques pour un correctif de garde middleware (en savoir plus).
chapoi est resté actif sur les threads UX et support : reconnaissant le bug du non-lu fantôme et confirmant que l'équipe y travaille (en savoir plus) ; offrant un argument détaillé sur le modèle mental contre les préférences de vue imbriquée/linéaire par utilisateur (en savoir plus) ; pointant vers des options pratiques pour les mises en page structurées (et clarifiant quand les suggestions s'appliquent aux listes de sujets vs aux corps des messages) (en savoir plus) ; et aidant un intégrateur à trouver le point de terminaison de l'API de création de canal de chat (en savoir plus).
awesomerobot a annoncé l'amélioration de l'UX de création d'événements dans le plugin Calendrier et Événements, intégrant un éditeur d'événements interactif directement dans le compositeur (en savoir plus). Il a également aidé au dépannage de l'accessibilité pour JAWS + les raccourcis clavier de Discourse (expliquant comment les lecteurs d'écran peuvent intercepter les frappes) (en savoir plus), et a pris position sur la discussion de découvrabilité de l'inscription mobile avec des modèles UX plus larges observés sur des sites populaires (en savoir plus).
martin a annoncé le prochain déploiement pour activer Discourse Reactions par défaut, expliquant à la fois la justification produit et comment les « changements à venir » rendent les déploiements à faible risque plus réalisables qu'auparavant (en savoir plus).
rishabh a publié la mise à jour mensuelle « Projets actuels » de mai, résumant le travail sur les plugins et les initiatives en cours (en savoir plus), et a partagé une victoire significative en matière d'utilisabilité : les oneboxes GitHub affichent désormais l'état des PR en ligne (en savoir plus).
Falco a contribué sur plusieurs fronts techniques : signalant des erreurs de route imbriquée pour enquête et redirigeant vers le bon responsable (en savoir plus) ; discutant des futures options d'événements/webhooks pour les artefacts IA de Discourse (et les reliant aux Workflows à venir) (en savoir plus) ; clarifiant les comportements d'optimisation d'images côté client et les compromis liés à l'ajout de plus de boutons de contrôle administrateur (en savoir plus) ; et conseillant sur l'intégration des commentaires Discourse dans le cadre d'une approche d'intégration plus large (en savoir plus).
markvanlan a continué d'itérer sur les réponses imbriquées : publiant des correctifs pour les liens imbriqués cassés et les attentes de comportement de redirection (en savoir plus), et outlining une direction pour gérer les incompatibilités comme le vote par message en le désactivant explicitement dans les contextes imbriqués (avec des réflexions à plus long terme sur le vote intégré dans les réponses imbriquées) (en savoir plus).
zogstrip a livré plusieurs correctifs rapides : résolvant le bug de sélecteur de groupe de tags Form Templates avec casse mixte (en savoir plus), livrant un correctif pour la visibilité de « qui a voté » dans les contextes de vote de sujets fermés (en savoir plus), et itérant sur les cas limites de correction des approbations/notifications (en savoir plus).
loic a publié le pointeur officiel pour la version mensuelle de mai 2026, dirigeant les administrateurs vers le journal des modifications complet (en savoir plus).
Merci de votre lecture, et je vous retrouve la semaine prochaine !