週次要約

This week on meta.discourse.org

Key Stats

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).

  • Total new posts: 426
  • Total new topics: 72

Top users (posts + likes in the last 7 days)

User Posts Likes Recent reference
Falco 24 50 Cloudflare IP bans explanation (read more)
ToddZ 23 37 Theme-component solution for /groups intro text (read more)
Canapin 16 30 “How old is your forum?” community thread (read more)
LotusJeff 9 29 “How old is your forum?” opener + history (read more)
nat 9 20 Badge i18n deep dive + console workaround (read more)
sam 7 19 OpenAI/Azure “service tiers” announcement (ai, #Announcements) (read more)
awesomerobot 12 17 Form templates multi-template bug + fix guidance (read more)
NateDhaliwal 19 16 “Quick start” self-host install guidance (read more)
merefield 9 15 Dashboard traffic-graph scaling feedback (read more)
Danielle 3 14 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

blog

  • 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

Support

  • 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

bug

  • 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

ux

  • 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


Activity by the @team Group

  • 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! :slight_smile:

This week on meta.discourse.org

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):

User Posts Likes
Moin 62 108
Falco 30 111
chapoi 21 33
NateDhaliwal 27 21
darkpixlz 16 29
Lilly 14 44
david 13 60
merefield 13 24
martin 6 27
Canapin 10 44

Conversation drivers worth noting (with sources):


Interesting Topics

#Announcements


Dev


ux


#Site feedback


Support (and #Self-hosting)


#Nested Replies Testing

  • 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


#Feature


bug


Activity by the @team Group


Thanks for reading, and I’ll see you again next week! :slight_smile:

「いいね!」 1

This week on meta.discourse.org

Key Stats

Across the last 7 days of discussions and fixes (e.g. v2026.3.0-latest.1 security fixes discussion and releases site feedback):

  • Total new posts: 502
  • Total new topics: 68

Top users (posts / likes received this week)

  • Moin34 posts / 75 likes — helped triage issues like topic-voting tag punctuation (read more) and clarified upload cleanup behavior after deletions (read more).

  • david20 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).

  • Falco12 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).

  • zogstrip12 posts / 29 likes — lined up a string of fixes including emoji alias validation (read more) and moderation/queue UX improvements (read more).

  • merefield12 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_Printing21 posts / 28 likes — rapidly iterated on Discourse Challenges, adding weekly intervals + mod access and then a DM-driven ChallengeBot (read more).

  • awesomerobot9 posts / 27 likes — fixed UI regressions like topic-voting punctuation (read more) and proposed API permission improvements for about.json (read more).

  • darkpixlz19 posts / 25 likes — helped debug CDN/CORS plugin breakage (read more) and correctly pushed back on hiding “big red” broken-theme banners (read more).

  • RGJ8 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).

  • nathank16 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).

Interesting Topics

Support

  • 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).

bug

  • 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).

ux

  • 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).

Dev

  • 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).

Marketplace

  • 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).

Activity by the @team Group

  • 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 (scopescopes) 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! :slight_smile: