Satonotdead was by far the most prolific poster of the day with 14 posts, while Falco, Zogstrip and Sam all earned 5 likes apiece.
Interesting Topics
#Announcements
Voice: Discord-style voice and video rooms, now bundled with Discourse — In the voice announcement topic, Mcwumbly outlined an approach for voice channel access control that leans on existing chat-channel and private-category logic, suggesting the team could reuse the pattern used for chat channels and let categories act as the access-control layer. Falco confirmed that associating a voice channel with a chat channel is on the roadmap and will be followed up in the coming months, after the core audio/video experience is solid. read more | Falco’s roadmap reply
Easier account signup using email codes — Sandra.Mccollum reported that the new enable_local_logins_via_code signup flow is awkward with password managers like Roboform: instead of filling username and password simultaneously, the flow immediately jumps to an email-code prompt, and the password manager inserts the username rather than the email, generating an error. Satonotdead noted in two related threads that this feature (Ask username after validating e-mail) is now bundled into Discourse, and that email codes effectively make the username field on registration unnecessary. read more
#Community Building
How do you handle AI responses in your Community? — The community debated AI post policy at length: Merefield asked about Meta’s own attribution policy, Moin cited the guidelines’ “Don’t Post AI” rule, Dan_Eastwood reported an uptick in sophisticated AI-generated posts from users returning after bans and floated the xkcd-inspired idea of AI-Responders testing suspicious new users in a sandbox, and Nickdb shared his zero-tolerance approach backed by an agent that flags possible AI posts from low-trust users before they go live. read more | Moin’s guideline quote | Dan’s AI-tester suggestion | nickdb’s moderation approach
What’s the story behind your community? — Sono_Hen introduced Doushitara Ii Project (“What should I do?”), a new Japanese Discourse community designed as a “living book” where people can bring half-formed problems before they become clear questions. The first milestone isn’t member count, but collecting 10 genuine “I’m stuck” submissions from strangers — with an emphasis on preserving the thinking process, not just the answer. read more
40C3 – Call for Participation — Thomas_Rother is trying again to organize a Discourse operators meetup at the 2026 CCC congress (40C3), which moves from the CCH congress center to the larger Hamburg Messe. He shared the official call for participation and hopes a longer lead time will draw more responses than last year’s attempt. read more
#Extras
Using Discourse MCP to quickly build a theme — Sam shared a fascinating deep-dive of building a complete theme via the Discourse MCP using DeepSeek 4.1 flash, with Qwen 3 Image for assets, chrome-devtools-mcp for visual verification, and a total cost of $3.04 at peak pricing — compared to an estimated $50–100 for a similar GPT-6 Astra run. He shared the full transcript, noted that the brief is critical to the outcome (he ran it on the same brief as the OP), and observed that while the model ran unattended for hours, tested everything, and kept the code tidy, the design still had visual glitches and lacked Astra’s vision fidelity. Mcwumbly asked to see a “how I generally work” example using multiple LLMs from multiple vendors. read more
#Feature
About thumbs up and down in ask.discourse — Satonotdead asked whether the thumbs-up/thumbs-down feedback system in the #ai-powered ask.discourse is planned as a general feature. Falco clarified that “thumbs up are likes, thumbs down are flags — nothing fancy,” while AdamWargon recalled that Codinghorror deliberately avoided the thumbs-down option to facilitate dialogue rather than technically accurate Q&A. Satonotdead then suggested a future thumbs up/down graph or queue in the admin panel as a moderation and AI-monitoring tool. read more | Falco’s clarification
Localize category topic templates — SilentNewt95 filed a content-localization feature request to make category topic templates localizable. Currently the composer prefill always appears in the site’s default language, even in multilingual communities. The proposal calls for adding topic_template to CategoryLocalization, using the member’s interface locale with a fallback to the default template, and notes the same gap applies to per-category form templates — the workaround today is splitting the community into per-language categories. read more | Related localized categories work
#Plugin
Discourse Workflows — In the workflows topic, Lou asked how to do a case-insensitive match on topic titles in a workflow condition using contains. Zogstrip suggested {{ $JSON.topic.title.toLowerCase() }}, which worked. Ethsim2 then dug into the plugin source and concluded that Workflows uses a sandboxed JavaScript expression system evaluated server-side, with n8n-like conventions — citing an explicit n8n reference in a merge-node commit. read more | zogstrip’s fix
Discourse Dynamic Groups — Satonotdead asked whether anonymous (logged-out) users can be scoped into dynamic groups, wanting to hide certain categories from automated groups while keeping them visible to everyone else. RGJ explained that from both a functional and technical standpoint this is impossible: if a category is accessible to everyone, Discourse sets read_restricted to false and all access mechanisms are bypassed. Satonotdead acknowledged it would only be a “soft” limitation but argued it could still be a worthwhile experiment to encourage contribution over lurking. read more | RGJ’s technical explanation
MinIO installer failing again, this time with a HTTP 410 — Merefield reported that the MinIO environment setup in standard plugin system-test CI is broken again, this time with the client download returning HTTP 410 before any tests run — a recurrence of an earlier CI breakage. Ducks acknowledged upstream builds had disappeared, and Merefield confirmed both minio/minio and minio/mc are now archived, with the README pointing to AIStor and noting the community edition is distributed as source only. Satonotdead suggested Garage and rustfs as lightweight alternatives. read more | merefield’s findings
Adding users to groups created on demand for monthly cohorts — Mcwumbly moved this to Community Building and proposed a two-workflow solution: one scheduled workflow to create a YYYY-MM group a few days in advance, and another to add users to the right group. He then split the discussion, keeping this as a Support topic for finding “the way” to do it, and invited the author to start a separate Community Building topic about how cohort groups fit into their community over time. read more | follow-up on workflows
Jumping from 2026.1 ESR to 2026.7 - What I found — Haydenjames documented three upgrade surprises: the current base image ships PostgreSQL 18 and requires a two-stage rebuild (with the old cluster kept at /shared/postgres_data_old and a warning to have 2x your database size free, as detailed in the PostgreSQL 18 update); the rich_editor site setting is gone, replaced by a per-user composer toggle; and Cloudflare’s managed “XSS, HTML Injection – Script Tag” rule can block theme saves with a bare 403 when a theme component contains a <script> in its <head> field — with a custom skip rule provided. read more
Appearance of a onebox in the edit history — Moin reported that a onebox appears oddly in the edit history view. Zogstrip thanked him for the report and acknowledged “diffing is hard ,” but noted the situation should improve once a WIP PR gets merged. read more
Removing Going status still keeps you in event chat — NateDhaliwal reported that clicking “Going” on an event grants access to the event’s chat channel, but retracting your “Going” status doesn’t remove you from the chat — which seems unintentional. read more
Tags localization issues — ZAICOM followed up on a tags + content-localization bug report with the root cause: they hadn’t set a primary language for tags, a field that should arguably be compulsory rather than optional. read more
Sam — shared a detailed write-up of his test run using the Discourse MCP to build a complete theme with DeepSeek 4.1 flash, including a full transcript, cost breakdown, and honest observations on where open models still fall short of Astra on visual fidelity and attention to detail.
From a $3 AI-built theme to MinIO’s quiet retirement, yesterday on Meta proved that even when the tools change and the binaries vanish, the community keeps building — and the fun is watching what the AI does next.
Welcome to your daily round-up of the last 24 hours on Meta Discourse – where the community tinkers, tests, and talks through everything Discourse, from fresh features to finicky RSS feeds.
Key Stats
Over the past 24 hours, the community has been busy. There were 65 new posts across 39 new and ongoing topics, and those posts collected 59 likes in total. You can browse the latest activity on meta.discourse.org to catch up on anything you might have missed.
Whether you are here for the announcements, the head-scratching support threads, or the shiny new plugins, there was something for everyone.
Interesting Topics
Here are some of the most interesting conversations from the last 24 hours, grouped by category.
#Announcements
Martin unveiled the ability to archive Boards, a gentler alternative to deletion. Archived boards become read-only, disappear from the default list, and can be unarchived at any time by a user with Manage permission – perfect for wrapping up projects while keeping the history around.
The Voice: Discord-style voice and video rooms discussion continued, with Martin noting that the new ACL system should be “great for this, rather than using the old convoluted permission-by-category-inheritance” – good news for those eagerly awaiting finer-grained control.
#Community Building
Thomas_Rother kicked off a call for participation for 40C3, the 2026 Chaos Communication Congress, which is moving to the Hamburg Messe. The hope is to organise a European meetup of Discourse operators – so if you’re in Hamburg at the end of the year, this one is worth a look.
In How do you handle AI responses in your Community?, Nickdb detailed a zero-tolerance policy where low-trust users have new posts parsed through an AI-flagging agent, while Dan_Eastwood argued that “sooner or later, human moderation will lose this fight” and proposed an XKCD-style solution: force AI trolls to engage constructively to stay.
The MinIO installer failing again saga continues. Merefield noted that both minio/minio and minio/mc are now archived, and the community edition is source-only. Ducks is already working on forking the repos and building binaries, while RGJ pointed out that alternatives like RustFS and Garage lack the ACL support Discourse needs.
David responded to Discourse AI going off the rails with an update: changes have been made to the CDCK hosted LLM to improve things. If you were seeing odd AI behaviour, this thread is worth watching.
Satonotdead asked about localizing group titles and descriptions. Olivia confirmed that custom group names cannot be localized with Content Localization at the moment, and suggested keeping the group name as-is while putting both languages in the title or description.
The Backup upload failure due to uninitialized TransferManager is still biting some self-hosters even after an update. Olivia and Ethsim2 provided detailed container-level debugging steps to check which version of aws-sdk-s3 is actually loaded, which should help narrow down the environment mismatch.
#Theme component
Don released Community Support – configurable donation, a flexible theme component for donation and support modals. It supports multiple donation methods, per-method localization, and even a support goal progress bar that keeps counting past 100%. Jagster called it “very much needed today.”
#Plugin
A fresh take on spam prevention arrived with Forum Fortress . Ashs introduced a hosted anti-spam plugin that checks registrations, posts, edits, and profile changes server-to-server, and even offers a free plan while in public alpha.
The Discourse Dynamic Groups plugin got a deep dive as Satonotdead asked about scoping anonymous users. RGJ explained that since anonymous users can’t belong to a group, you can’t restrict categories from logged-out visitors directly – but the discussion around “lurkers” and soft limits is fascinating.
#Feature
Roke_Julian_Lockhart filed a feature request to render the 3 element, which would allow for locale-specific inline quotation marks in Markdown – a small but handy touch for multilingual communities.
In a topic about whether popular topics can be configured, Sniper756 asked how to stop very old threads from appearing in Hot. Olivia clarified that there’s currently no hard age cutoff setting, though Hot’s scoring already takes age and recent activity into account.
The @team group – the folks who build and maintain Discourse – were out in force over the past day. Here is a summary of their contributions, with links to the relevant threads.
From archiving boards to chasing MinIO’s moving goalposts, it was a day of creative problem-solving on Meta Discourse – may your feeds be ever fresh, your boards never need unarchiving, and your sidekiq queues always stay green!
Boards can now be archived — Martin announced that boards can now be archived, offering a less destructive way to remove a board from the main list. Archived boards become read-only, disappear from /boards by default, and can be unarchived at any time by users with Manage permissions.
Community Support — configurable donation — Don released a new theme component for donation/support modals, featuring configurable providers, per-method localization, and progress bars that keep counting past 100%. Jagster called it “very much needed” — though noted that collecting donations that way is illegal in Finland.
Introducing @discourse/update-skeleton — David published a new npm package that automatically updates themes and plugins with the latest recommended GitHub Actions and linting configs. Just run pnpx @discourse/update-skeleton@latest and review the diff.
Bringing Icebreakers into Discourse — Tobiaseigen was delighted to see icebreaker topics as a prompt when starting a new site, but couldn’t find their way back to them afterwards. Moin pointed to hidden site settings and the locale file as workarounds.
Webinar: Exploring Discourse Workflows — The upcoming community webinar attracted interest, with Emily_Roman asking if a recording would be available. Bas confirmed there would be, while cracking a joke about “terrible Dinner & a Movie dates” (read more).
#Self-hosting
Backup upload failure due to uninitialized TransferManager — Exodrifter traced a mysterious backup failure to an old, year-and-a-half-old aws-sdk-s3 pin used as a workaround for Backblaze compatibility. After removing it, backups succeeded — a great reminder that temporary patches need to expire.
Forum Fortress — a fresh take on forum spam prevention — Ashs announced a public alpha anti-spam plugin that checks registrations, posts, edits, and profile changes server-to-server, with regional endpoints and retry/fallback handling.
#Site Management
Use a glossary with Discourse AI translations — Nat published a thorough guide on attaching a translation glossary to AI translators, including how to create custom translation agents, upload the glossary, and force the search tool.
Moderation yes button after suspending user — Sterretje confirmed the issue is solved but couldn’t find the solution button to mark it; Moin explained that the Solved plugin isn’t enabled in that category, so the fixed tag is used instead.
Just sharing the design! — Monikas showcased a beautiful anime-inspired custom design for their community, complete with rounded cards, character artwork, matching light/dark styles, and mobile views. Manuel noted the gamification features and asked whether they were built with a Discourse plugin.
Martinannounced board archiving and helped out in the Discourse Boards topic, showing how to edit board titles and noting that the modal form question deserves attention in their form tooling.
From archiving boards to teaching AI some translation manners, it was a whirlwind day in the Discourse universe — here’s to another 24 hours of building, breaking, and fixing!
Build a Reddit/X/Facebook-style scrolling platform — Damian_Boon showed off a working personalised feed with a first-visit category selector, scoring based on 55% interests, 25% freshness, 10% popularity and 10% randomness, and plans to add behaviour tracking after optimising cache usage (read more). Bas praised the initiative, linked Jeff Atwood’s “Because Reading Is Fundamental” post, and reported a Safari bug where related-topic links didn’t open (read more). It also references the long-running request for a Facebook-like feed.
Introducing @discourse/update-skeleton — David published an npm package that pulls the latest recommended config files for GitHub Actions, linting, and dependencies into existing themes and plugins, with a convenient pnpm update-skeleton shortcut after the first run (read more).
#Announcements
Voice rooms: mic behaviour under discussion — Kumakaze described a bug where muting in the voice room still leaves the microphone open until toggled off and on again, and Falco argued that a pre-join mic selection step doesn’t match the TeamSpeak/Discord school of UX (read more).
Composer redesign now on everyone on Meta — Chapoi enabled the new composer for all Meta visitors to get wider testing coverage, and Ethsim2 spotted a typo in the original announcement: “GIFs int he” (read more).
Cannot re-hide an edited flagged post — Mbauman detailed a moderation loop where a no-op edit unhid an approved flagged post, re-flags couldn’t hide it again, and the UI showed “Thanks, but we’ve already reviewed that post.” Awesomerobot found a fix in the works and is adding migration for bad states (read more).
OIDC login fails after OAuth2 2.x upgrade — Levarm diagnosed a Nil JSON web token failure in self-hosted Discourse after the oauth2 gem upgrade, reproduced it with fake data, and confirmed a workaround; David pointed to a commit that should resolve it (read more).
Edit draft opens as a reply instead of an edit — Davidb merged a fix so an existing edit draft no longer hijacks a new reply composition in the composer (read more).
Calendar ICS export wrong time in Outlook — Ethsim2 got a fix merged for the one-hour shift when importing events with TZID=Europe/Berlin, and Tannerabread confirmed it was already in latest (read more).
RSS polling could take 20+ minutes — Icaria36 reported very slow feed processing; Zogstrip’s performance PRs brought most feeds down to under a minute, and Moin explained how merged changes flow to the latest branch (read more).
Voice badges reappearing after updates — Richie found that disabled voice badges came back after updating; Zogstrip shared that he’s working on automatically making plugin badges available based on whether the plugin is enabled (read more).
#Self-hosting
How to get libheic / libheif 1.23.4 — Pfaffman asked how to get the newer library after a client’s security concern; David advised against manually overriding the base image and then quickly bumped the base image so libheif.so.1.23.4 was available (read more).
PostgreSQL 18 upgrade left Discourse using PG15 binaries — Terminus hit FATAL: database files are incompatible with server after a PG18 upgrade because the rebuilt container still contained PostgreSQL 15; Merefield recommended restoring from a recent backup onto a fresh server rather than fighting the container build (read more).
#Plugin
Discourse Boards — Martin answered questions about creating more than four columns, editing board titles through the Board settings modal, and the annoying issue of modals closing when clicking outside, which might become a FormKit improvement (read more).
#Feature
Chat permissions for announce channels — Awesomerobot confirmed there is no read-only chat channel yet, but said decoupling chat channels from category permissions has been discussed and may come in the future (read more).
Using Workflows to send Slack messages on assignment — Lindsey published an importable workflow that posts Slack messages when topics or posts are assigned or unassigned, with filters for category, tag, and assignee group (read more).
Yesterday’s Meta reminded us that whether it’s a 3.5 GB backup timing out at 87% or a typo like “GIFs int he,” someone is always ready with a fix, a workaround, or a Keanu Reeves gif: my pleasure.
The Discord-style Voice rooms announcement continued to draw feedback. Kumakaze reported that microphones may appear muted but stay open, and Falco pointed to existing push-to-talk support while acknowledging a native app would improve the experience. Newkid expressed appreciation for the addition of voice stats to the About > Activity page.
The Composer redesign test was enabled for everyone on Meta by Chapoi to widen feedback; Ethsim2 noted iOS seemed less broken than before but flagged a typo in the original post.
Martin announced Improved event reminder preferences, which adds personal-message reminders as the new default so event notifications reach users even when they are not logged in, with options for Notification, Personal message, or None.
#Feature
Mbauman explored posting in a disabled language, asking for more authoring locales than the site’s enabled list. Moin and Awesomerobot clarified that the Locale Detector can already detect and translate any language, but the composer dropdown only shows enabled locales. Awesomerobot suggested allowing admins to add extra languages to the composer menu as a possible future option.
Philh shared an alpha release of DiscussionBridge, a broader integration beyond Statamic for connecting Discourse to static site generators, with demos available for both Statamic and generic SSG workflows.
Satonotdead asked about the 50 max nodes limit in Workflows. Awesomerobot explained the limit is practical rather than technical and recommended splitting workflows with workflow call and call workflow nodes; Mcwumbly also hit the limit and noted that sticky notes count toward it.
RSS polling delays were largely resolved after Zogstrip’s fix; Icaria36 confirmed most feeds now import within a minute, though extremely long feeds can still take a few minutes.
From 50-node workflow Tetris to Esperanto detective work, Meta was anything but quiet yesterday—just remember to count your sticky notes before you hit the next cap!
Bartv questioned whether category hashtag floating cards can be disabled and how users can get from the card to the topic list, prompting Mcwumbly to note the feature is experimental and already enabled on Meta. Martin later said double-clicking the card will navigate to the category and floated adding a “Go to topics” link; Moin and Putty also discussed how subcategory hashtags like #news-and-events:announcements now render. read more
The email code signup upcoming change received extensive feedback. Rishabh clarified that random username generation is optional, Keegan announced a PR to improve flows for sites requiring staff approval, and Moin reported a possible conflict with the invite code setting that prevented signup emails from being sent. read more
Lindsey announced three new Workflow nodes for Boards — Create board, Create board column, and Card moved — enabling automated board creation, column management, and card movement in Business and Enterprise plans. read more
Nat introduced a new Ask AI dashboard section under /admin, featuring a “What users are asking” report, subject-based grouping, manual and weekly reports, and new settings such as ai_ask_ai_report_weekly_enabled. read more
Martin announced improved event reminder preferences, adding a Set event reminders via option — Notification, Personal message, or None — so reminders can reach members by PM/email even when they aren’t logged in. read more
Nat unveiled Discourse’s built-in MCP server, allowing AI apps to search topics, read discussions, create posts, and — for staff — inspect the review queue and site settings, all through OAuth authorization. read more
Moin reported that page views were suddenly showing as “other traffic” in the dashboard-reports dashboard; Kris.Kotlarek identified the cause as a tracking transition and shipped a PR fix. read more
Jagster found that Board cards couldn’t be dragged on iOS; Awesomerobot confirmed the issue and merged a new drag-and-drop implementation that restores mobile dragging. read more
Mbauman highlighted conflicting instructions in the default locale detector agent — it asks for JSON but also says the response must be only a language code — and shared a cleaner trialled prompt that avoids confusing models with location mentions. read more
Zefoo reported that when a user is invited to an existing PM, the email notification wrongly tags the OP instead of the inviter; Nat fixed it with a merged PR. read more
#Community Building
SnappyLagoon28 asked how to structure a Discourse community for BYDFi users, and Awesomerobot advised starting with as few categories as possible, using tags like Bitcoin and Ethereum to handle fast-moving subjects without over-categorizing early. read more
#Feature
Mbauman and Nat discussed whether the composer’s language menu makes people think they can’t post in languages outside the site’s supported list, with Mbauman sharing real community feedback where users assumed posting in Portuguese, Dutch, or Norwegian wasn’t allowed. read more
Patrickemin had chat windows opening full-screen when using tag URLs; Moin suggested safe mode, and Arkshine fixed it with a new setting in the chat-sidebar theme component. read more
Martin merged an upcoming change making inline subcategory links more concise, enabled on Meta: #community-building:praise now displays a floating card with a clickable link to the full topic list. Mcwumbly is letting the design “simmer in experimental” while the team polishes it. read more
Canapin requested mouse-swipe navigation of gallery carousels directly in posts without opening the lightbox; NateDhaliwal noted the arrows and thumbs are already interactive, and Satonotdead confirmed smooth swiping on Android. read more
Martin merged and enabled the category hashtag floating card and subcategory hashtag improvements (412529), announced improved event reminders (412427), and helped diagnose Kanban board configuration issues (118164).
Nat shipped two major announcements — the Ask AI admin dashboard (412735) and the built-in MCP server (412755) — and fixed the wrong-inviter email notification on PMs (412725). Nat also explained how staged user post dates come from incoming email Date headers (412726).
Lindsey announced the new Workflow nodes for Boards (412558) and pointed out that filtering calendar events by tag was addressed in a PR (293977).
Rishabh and Keegan continued iterating on email-code signup, with Keegan shipping an improved flow for staff-approval sites (407068).
Sam fixed the missing group parameter when group owners create invites from the group page (412653).
Mcwumbly reassured the community that category hashtag cards will “simmer in experimental” (412529) and linked Nat's Ask AI work to the search UX project (409317).
Awesomerobot merged a fix for Board drag-and-drop on iOS (412644), helped debug tag display issues caused by an unmaintained theme component (395531), shared CSS for left-aligning the login welcome message (411936), and gave community structure advice (412639).
Moin was everywhere in support: he reported the dashboard pageviews bug (412614), tested email-code signup with invite code enabled (407068), helped route chat tag URL issues to safe mode and a theme component (412652), answered Kanban board questions (118164), explained category types (412758), and linked the group invite issue to a year-old feature request (66560).
J.Jaffeux responded to feedback about the 50-node Workflows limit, saying he wouldn’t object to raising it to 100 (412562).
Kris.Kotlarek fixed the dashboard pageview tracking transition bug (412614).
Bartv offered early UX feedback on category hashtag floating cards, asking for a way to disable them and a clearer path to the topic list (412529).
Chapoi advised on a Zoho SalesIQ black-screen issue, suggesting custom CSS to hide the overlay (412588).
Between hashtag cards, drag-and-drop Boards, Ask AI dashboards, and a built-in MCP server, yesterday proved that Discourse never sleeps — it just keeps moving cards from “In progress” to “Shipped”!