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).
Moin — 34 posts / 75 likes — helped triage issues like topic-voting tag punctuation (read more) and clarified upload cleanup behavior after deletions (read more).
david — 20 posts / 70 likes — responded on release visibility and Meta announcements (read more), shipped a fix for stalled “new version emails” (read more), and iterated on the releases site (RSS + styling feedback loop) (read more).
Falco — 12 posts / 55 likes — explained the security-fix wave context (read more), pushed forward the Patreon API v2 upgrade (read more), and discussed PM translation targets for Discourse AI (read more).
zogstrip — 12 posts / 29 likes — lined up a string of fixes including emoji alias validation (read more) and moderation/queue UX improvements (read more).
merefield — 12 posts / 28 likes — gave thoughtful risk analysis on “database residue cleanup” plugins (read more) and nudged toward maintainable solutions for privacy/link fetching (read more).
R23D_Printing — 21 posts / 28 likes — rapidly iterated on Discourse Challenges, adding weekly intervals + mod access and then a DM-driven ChallengeBot (read more).
awesomerobot — 9 posts / 27 likes — fixed UI regressions like topic-voting punctuation (read more) and proposed API permission improvements for about.json (read more).
darkpixlz — 19 posts / 25 likes — helped debug CDN/CORS plugin breakage (read more) and correctly pushed back on hiding “big red” broken-theme banners (read more).
RGJ — 8 posts / 20 likes — delivered a crisp explanation of when uploads are purged after permanent deletion (read more) and suggested safer proxying approaches for link fetching/privacy (read more).
nathank — 16 posts / 20 likes — offered practical admin guidance (e.g. about-page group visibility) (read more) and explored feature/workflow approaches around events and calls (read more).
Ed_S raised concerns about “stealth” releases and asked for release posts to return to Announcements; david acknowledged the pain and said the team is discussing better pointers back on Meta (read more).
Confusion around release consumption continued in a focused thread about releases.discourse.org usability, with requests for RSS and better readability—resulting in an RSS feed going live quickly (read more).
A hosted-free-plan signup flow hit a “too many sites provisioned” error; HAWK and pedro jumped in to investigate and confirm inputs (read more).
Self-hosters debugging Discourse ID learned the hard requirement: if your site tells Discourse ID the redirect URI isn’t HTTPS, you’ll need to correct force_https / proxy headers—discussion included common reverse-proxy misconceptions (read more).
A practical support thread asked how to remove moderators from the /about page without removing the group; a simple “hidden groups” approach (and optional dynamic groups) solved it (read more).
A “big red banner” question turned into a reminder: broken-theme alerts are intentionally loud, and the right fix is to address the component, not hide the warning (read more).
An admin asked how to move a banner/image to the very top—answers emphasized that this is best done via a small theme component/CSS tweak rather than hacking markup (read more).
A long-running annoyance—no “new version available” emails—was traced to a redis gem change and got a core PR to fix the broken job (read more).
A sharp “it looks like plain HTML” issue in Facebook’s in-app browser on iPhone was attributed to crawler detection misclassifying MetaIAB, and a core PR was opened to adjust defaults (read more).
Multiple admins reported plugins silently failing after upgrade due to CDN-side CORS behavior; early debugging pointed at BunnyCDN headers and regression timing (read more).
A small-but-real UI papercut: with topic voting enabled and “0 votes” hidden, a comma appears after the last tag; Meta’s theme customization was implicated, and it was quickly adjusted (read more).
A painful composer incident: uploading HEIC images caused an error + reload, losing a long draft; investigation focused on reproduction steps and error details (read more).
A Meta UX report noted 2FA inputs left-aligned when logging in via “email login” flow; a fix PR was opened and Meta’s login layout got renewed scrutiny (read more).
Emoji correctness got airtime: :champagne: doesn’t exist, but an alias made it appear that it should; the follow-up added validation to prevent aliases to non-existent emojis (read more).
A mobile affordance request: add a grip bar to the post admin actions bottom-sheet (matching the topic admin actions UI) to improve discoverability and handling (read more).
A feature UX request proposed a wide-screen “expand table” viewer (read-only) so large markdown tables are readable without entering edit mode (read more).
Continued experimentation on Meta with nested replies surfaced both excitement and navigation confusion, especially when coming from notifications or flat view (read more).
Theme/plugin authors got another push: .hbs files are deprecated (move to .gjs), and the topic also highlighted Ask Discourse as a quick helper for small conversions (read more).
Inline <script type="text/discourse-plugin"> support is now removed; the canonical modernization thread was updated with the March 2026 removal milestone (read more).
A team update: the new plugin build system talk was shared externally (Ember Europe meetup), giving devs a path to learn the new workflow (read more).
#Plugin
Discourse Challenges evolved rapidly: weekly intervals, mod access, and then ChallengeBot (DM confirmations, reminders, commands like status/leaderboard/streak) landed in quick succession (read more).
A new plugin idea, Plugin Cleaner, aimed to scan and remove orphaned “residue” from uninstalled plugins; feedback highlighted the inherent risk of deleting unknown/now-unmigrated plugin structures (read more).
Discourse Member Application introduced a structured /apply intake flow for invite-only/private communities, replacing external forms/spreadsheets with an in-Discourse review + invite process (read more).
#Extras
Dexo, a native iOS Discourse client built with UIKit/Swift, showcased multi-forum support, HTML rendering, auth flows, and a clean UI approach (read more).
#Community Building
A new community owner asked for feedback on a fresh Discourse forum for a game community; replies covered theming, UX polish, and making Discourse feel less “generic” out of the box (read more).
A Portuguese-language community manager asked if their game forum is organized well; suggestions included rethinking tag/subcategory tradeoffs and improving onboarding routes (e.g. linking directly to prefilled composer) (read more).
A large-scale request sought a phpBB → Discourse migration expert for ~870k posts with Hebrew RTL and strict SEO/redirect requirements, emphasizing minimal downtime and URL mapping (read more).
david focused heavily on the release experience and upgrade signals: he addressed concerns about missing Meta announcements and dashboard confusion in the security-fix thread (read more), moved and organized releases-site feedback while shipping improvements like RSS quickly (read more), and responded to self-hosting version-pin questions (and corrected where to set version:) (read more). He also pushed core fixes/updates spanning “new version” email delivery (read more) and UA detection for the Facebook iPhone in-app browser (read more), plus documented the removal of legacy inline script tags (read more).
Falco mixed product feedback, integrations, and AI: he provided context on why many security fixes landed together (read more), updated the Discourse blog’s embedded comments experience and flagged theme/padding issues to iterate on (read more), and progressed the Patreon plugin API v2 migration—adding a custom user agent as requested (read more). He also clarified Chat/GIF behavior expectations (feature vs bug) (read more), pointed calendar feature requests to the new subscription URL work (read more), and proposed improving AI translation controls so admins can explicitly choose whether to include PMs (read more).
zogstrip was on a bug-fix tear, consistently linking fixes to PRs: moderation queue/composer flow fixes were actively discussed (read more), whispers bump behavior got an implementation plan (read more), onebox issues (including broken x.com behavior) were queued for correction (read more), and permanently-delete edge cases were acknowledged with an inbound fix (read more). He also improved the emoji alias pipeline by preventing aliases to non-existent emojis (read more) and continued polishing admin/reporting UX expectations on “Upcoming Changes” toggles (read more).
awesomerobot concentrated on UI/UX paper cuts and pragmatic improvements: the topic voting/tag punctuation regression was quickly fixed on Meta (read more), the email-login 2FA alignment issue got tracked to a specific flow and queued for correction (read more), and clarity was added around semantic/AI search results vs exact matches (read more). On the API side, he opened a PR to allow granular API users to read about.json (read more) and asked for better bug reproduction on the HEIC/draft-loss report (read more).
supermathie helped unblock self-hosted identity/auth issues: he explained why Discourse ID insists on HTTPS redirect URIs (and what force_https actually does) (read more), and followed up on API scope/error messaging discussions around about.json access with granular keys (read more).
sam weighed in on “hard to reproduce” hosting issues and broader UX: he participated in a tricky theme git-clone failure thread (pointing to GitHub outages / rate limiting as likely suspects) (read more), pushed for a holistic rethink of how “post approval” feels to end users (queue transparency, notifications, composer behavior) (read more), and refreshed core documentation by cleaning up stale material (e.g. the “Searching effectively” guide) (read more). He also updated admin-facing composer popup docs (read more) and pinged engineering attention toward an Extras integration link going 404 (read more).
pmusaraj investigated ActivityPub interoperability issues: Mastodon’s parameter change (scope → scopes) was identified and a fix proposed upstream/in-plugin (read more), and follow-on Discourse↔Discourse AP verification issues were narrowed down to Meta actor behavior vs other actors (read more). He also confirmed Discourse ID improvements for redirect-URI conflicts going forward (read more) and followed up on alternate-email behavior on Free tier sites (read more).
manuel gave direct end-user guidance on notification settings (watching/tracking) when someone reported “Meta won’t notify me anymore” (read more).
HAWK acknowledged and escalated a hosted free-plan provisioning error to the team, keeping the support loop moving quickly (read more).
pedro jumped into the same hosted provisioning issue to gather diagnostic details (the exact domain value entered) and help confirm the workaround (read more).
Thanks for reading, and I’ll see you again next week!
A big chunk of the week’s energy concentrated around new interaction affordances (the new Boosts experiment: read more), embedding Discourse as a full comment system (read more), and continued iterations on AI / localization workflows (for example: tag translations quality feedback in read more, plus follow-on fixes like translated tag icons support in read more).
Interesting Topics
#announcements
Discourse is experimenting with Boosts (a reaction-with-a-short-message) and the community debated UX overlap with reactions/likes, moderation implications, and naming (“naming things” even got a cameo). read more
Embeds got a major upgrade: “full app mode” now loads the complete Discourse app inside the iframe so visitors can reply/like/quote without leaving the host site, with discussion about scrollbar discoverability and “reply to topic” placement. read more
Discourse AI agents can now connect outward to any MCP server (“Bring your own MCP”), expanding the automation surface for AI agents via external tools. read more
A small but meaningful support improvement: users Tracking/Watching topics in solved categories now get notified when a topic is marked solved—plus early feedback on notification preference edge cases. read more
The March 2026 monthly release post landed with links to changelogs and patch releases, and sparked at least one smooth “switch to release track” report. read more
nat published a “behind the scenes” history of Discourse’s multilingual evolution over 13 years, with follow-up praise and context from the team. read more
The team clarified how Meta will organize Webinars vs Community Office Hours, including where replays and upcoming sessions will live going forward. read more
AI-generated tag translations prompted a detailed quality review (context-missing translations like composer → “Komponist”), plus discussion of grounding strategies (tag descriptions, code/glossary context). read more
A request to add Ukrainian and Russian to Meta’s language switcher received a positive signal from the team for near-term action. read more
A mobile regression caused some Meta pages to render only header/title on iOS browsers; investigation traced it to a recent change in a theme component and a revert followed. read more
Tag banners temporarily lost their tag display (empty-looking banners), quickly diagnosed as a data availability change, then patched in the theme component. read more
Numeric-tag edge case: an old /tag/#### URL pattern produced a 500 error (bad for crawlers); the team confirmed they had eyes on a fix while keeping /tag/name compatibility. read more
The category experts plugin crashed user merges due to validation constraints; a fix was queued via plugin PR. read more
A translation regression showed AI “thinking/commentary” leaking into German output; the agent was updated and affected titles/posts were cleaned up. read more
Backups to Cloudflare R2 broke on multipart uploads with a newer aws-sdk-s3 version; pinning versions restored functionality for affected installs. read more
Archived-topics + reactions had incorrect logic: some posts could still be reacted to under certain conditions; a core fix was prepared. read more
#feature
The tag icon component gained support for translated tags (with a PR referenced and screenshots showing translated tag labels + correct icons). read more
Mistral embeddings integration hit an OpenAI-compat mismatch (dimensions vs output_dimension), prompting a request to support Mistral’s parameter naming. read more
A practical media request: detect or reject VP9-in-MP4 uploads that silently fail on iOS Safari, with discussion about safe, optional transcoding approaches. read more
Admins asked to allow incoming email for automatic groups (to avoid “duplicate group + sync members” workarounds), with notes about existing console-only workarounds. read more
The composer’s “Discard” during edit flow remains confusing: proposals included changing UI copy to “Cancel Edit” and only prompting when there are actual changes. read more
Enforced MFA can “lock users into” the security screen with limited guidance; the thread explored better customization patterns (site text vs theme-component insertion above the wrapper outlet). read more
A regression report showed category security permissions being reset when changing parent/subcategory relationships under “simplified category creation,” with staff confirming investigation. read more
A long-standing workflow papercut: users can’t unfollow suspended/banned accounts without temporarily unsuspending; a fix PR was linked. read more
A candid thread on growing a community without a product/service “pull” revisited activity flywheels, the 99–9–1 pattern, and sustainable “not founder-driven” participation. read more
“How minimal is your forum?” prompted concrete inventories of what admins choose not to enable (categories, plugins, chat, reactions, LLMs), and naturally drifted into trade-offs around tags and trust levels. read more
lindsey shipped two user-facing announcements: the new Boosts experiment (read more) and improved Solved notifications for watchers/trackers in support categories (read more). She also checked in on a “Current Projects” status item related to Crowdin styling components (read more).
Falco drove multiple product-and-platform threads: he announced the new full app mode for embeds and followed up on UI simplification and behavior details (read more); reinforced iOS home-screen push notification behavior (and pointed at the root cause for fragility) in the push notifications thread (read more); confirmed Meta could add Ukrainian/Russian in the language switcher soon (read more); and discussed VP9 upload mitigation strategies with references to Video Stream as an option (read more). He also continued iterating on MCP and AI workflows (for example, weighing “workflow-trigger” approaches for mention-only bots in read more, and highlighting MCP post-edit support in read more).
nat focused heavily on localization and AI translation quality: she posted the long-form multilingual history “Building for Every Language” (read more), responded quickly to the “AI-translated tags lack context” feedback and discussed prompt/tooling improvements (read more), and confirmed a fix was coming for the numeric tag URL 500 edge case (read more). She also delivered/queued improvements across the localization surface area, including translated tag icon support via PR (read more) and a targeted fix for the “AI commentary/thinking” leak into German translations (read more). On the configuration side, she outlined a more granular future for AI translation scope (including PM translation controls) with a migration plan and PR link referenced in-topic (read more).
awesomerobot was active across product UX and maintenance: he clarified how Boosts fit into an interaction hierarchy and confirmed the feature will be optional, while also discussing safety features like watched words and future AI scanning possibilities (read more); diagnosed and fixed a regression in tag banners with a fast PR turnaround (read more); and provided a concrete theme-component approach for adding custom MFA enforcement guidance via an outlet insertion (read more). He also opened/merged workflow improvements like making rejection flows create a draft for editing after review-queue rejection (read more), adjusted confusing system copy about “reply to this message” when no contact user/group is configured (read more), and acknowledged Ask Discourse UI oddities like the redundant “Back to Forum” link on the homepage (read more).
zogstrip landed a wide set of fixes and PRs across core and official plugins/components: he addressed Boosts questions and clarified that boosts won’t reorder posts (read more); fixed “likes/reactions in archived topics” logic (read more); linked a fix PR for unfollowing suspended/banned users in the follow plugin (read more); and handled several operational papercuts like group bulk-invite “notify users” behavior (read more) and an RTL issue in external link icon behavior (read more). He also clarified a misunderstood signup-related setting and updated its description to reduce admin confusion (read more), and queued a fix for acceptedAnswer schema issues discovered via Google Search Console (read more).
david provided deep technical support and release communication: he explained why CORS issues surfaced after recent upgrades (module scripts + headers) and guided admins through NGINX/CDN rebuild requirements, including pointing to the exact fix path and rebuild behavior (read more); posted the March 2026 release announcement with changelog links (read more); and debugged an AI-assisted migration collision scenario in discourse-ai, including the underlying migration ordering details and mitigation options (read more). He also merged and released a dependency PR (Sidekiq 8 support for mini_scheduler) rapidly after submission (read more).
sam continued pushing Discourse AI + MCP forward: he announced “Bring your own MCP” for Discourse AI agents (read more) and published the admin guide for connecting MCP servers to agents (read more). He also weighed trade-offs around mention-only bot response logic (leaning toward defaults to reduce option sprawl) (read more), and engaged in the migration-collision thread with ideas like linting/skills to enforce correct timestamped migrations when using AI tools (read more).
mcwumbly participated in several “how we run Meta” and “how we ship changes” touchpoints: he praised and added context to the multilingual history post (read more), discussed a prototype “workspaces” approach that maps categories to team spaces (Slack-like) (read more), and shared how Meta tuned TL3 caps using Data Explorer, including a pointer to the exact query reference post (read more). He also acknowledged and queued investigation for a category-permissions reset regression under simplified category creation (read more), and continued tending the “content gardening hub” experiment thread’s mechanics and sidebar/tag behaviors (read more).
Bas handled an ops incident quickly: he confirmed and then resolved the ask.discourse.com outage, posting the “fixed” update once service returned (read more).
davidb identified the likely root cause of the mobile “borked topic page” issue as a specific commit in the discourse-tag-icons component, and initiated a temporary revert while investigating (read more).
Thanks for reading, and I’ll see you again next week!