lindsey announced a Discourse Solved improvement: unsolved topics in support categories can now show a “Me too” button so impacted members can opt-in for a notification when the topic is solved (read more). Follow-up discussion quickly turned to admin-side reporting/threshold alerts (read more) and whether “Me too” should bump old topics to improve visibility (read more). For context, this builds on how support categories are configured for solved workflows (read more).
The new nested replies feature continued to evolve in public: bulk-toggling for existing topics is already available via bulk actions (read more), while longer-term concerns include “safe” conversions for large historical categories (read more). There was also clarification that enabling nested mode isn’t destructive and can be safely reversed (read more), plus a reminder there’s a dedicated test category for experimentation (read more).
A small but practical UX nit: when viewing Upcoming Changes through a filtered admin notification URL, the Preview link can disappear—making it harder to validate what’s about to roll out (read more).
A regression/oversight: regular users can’t see who is a group owner, even though the data is present—awesomerobot identified it as an unintentional change after a 2023 refactor and opened a fix (read more). This continues the long-running thread about group owners and group management expectations (read more).
The “reachable mention” composer warning for uppercase usernames appears to have side-effects for AI agents: zogstrip noted their earlier fix exposed an edge case where an AI agent mention triggers the warning unexpectedly (read more).
Locale detection with AI: Norwegian is being detected as no while the localization system expects nb_NO, and the proposed remedy is adding explicit mappings in the system prompt until prompts can automatically incorporate the “supported languages” setting (read more).
Custom user fields: a report that a custom dropdown field can contain an unselectable value at signup got a concrete mitigation—sanitization already exists on profile updates, so the suggestion is to mirror that logic on the sign-up endpoint (read more).
A minor UI inconsistency: changing the default LLM should ideally update the UI state consistently; awesomerobot flagged it as small but worth polishing and opened a PR (read more).
#Theme component
Lilly shipped a lightweight, translation-friendly theme component to clarify the ambiguous Reply button labeling by appending context (e.g., “Reply to Topic”) without breaking non-English locales (read more). This spun out of nested-replies UI discussion and earlier CSS-only approaches that weren’t locale-aware (read more) and an older “link replies” / reply-button-context workaround (read more).
Working with the new discourse-patch-triage bot: isaac clarified how to invoke the bot (@patch-triage + plain English), what it can do, and why it can’t commit to forks—meaning non-staff contributors must apply changes themselves (read more).
Signup UX question: you can prefill email= on /signup, but username= doesn’t appear to prepopulate—prompting a discussion about whether this is supported and how it differs from login-page parameter behavior (read more). A related older thread about prepopulating email on the login page was referenced (but it’s not the same endpoint) (read more).
Fresh installs: a new admin registration flow where the activation email didn’t arrive even though discourse-doctor test email succeeded led to troubleshooting around EmailLog inspection and differentiating “sent vs delivered” (read more). The canonical “start here” email troubleshooting guide was also cited (read more).
API posting warnings: a report (in Chinese) about DistributedMutex warnings during API-created posts led to performance/Redis/Postgres diagnostics and a hint that ARM64 and/or one-time AI plugin initialization might be involved (read more). Follow-up testing suggested the warning disappeared after toggling the AI plugin and may require longer observation to confirm a pattern (read more).
#Feature
Moderation workflow idea: multi-flagging—select several spam/off-topic posts and flag them in one action, enabling staff to process a batch together (and optionally split items out) (read more).
Branding/UX request: add a separate mobile dark logo setting specifically for the login/signup splash screen, so the unauthenticated “hero” logo doesn’t have to match the compact logged-in mobile header logo (read more).
lindsey introduced the new “Me too” button for unsolved support topics, framing it as an end-user opt-in for solution notifications and inviting ideas for admin-side surfacing/reporting (read more; discussion follow-up: read more).
dax clarified that the “Me too” feature isn’t enabled on Meta, then enabled it on try.discourse.org for testing—briefly derailed by a real-world power/internet outage mid-setup (read more; outage follow-up: read more).
awesomerobot did a lot of “glue work” across product and polish:
Explained that “Me too” is independent of Boost (and Boost won’t subscribe you to solution notifications) (read more).
Confirmed the “group owner” info is present but not rendered and opened a fix to restore visibility to regular users (read more).
Opened a PR for a minor default LLM UI consistency issue (read more).
Addressed a design concern in the Graceful theme (a pattern with unfortunate connotations) and proposed a replacement pattern (read more).
Applied an update to address reported issues in the Air theme (read more).
markvanlan continued to shape expectations around nested replies operations and admin control: bulk actions can toggle nested mode (read more); historical conversion is intentionally cautious because reply intent in flat mode may not translate cleanly (read more); and nested vs flat is an admin decision rather than a per-user preference (read more).
isaac documented how to interact with @patch-triage, what it can do today, and why it can’t push commits to forks—plus a note that enabling fork write-access is being raised internally (read more; follow-up: read more).
zogstrip flagged an AI-adjacent edge case: a mention validation change appears to surface a composer warning when mentioning AI agents (an unintended consequence of an earlier fix) (read more).
fzngagan explained the nuanced backfill behavior for default sidebar categories—it applies deltas to preserve user preferences rather than hard-resetting everyone—and linked the PR where this behavior was introduced (read more).
nat confirmed that adding explicit language-code mappings in the AI system prompt is the right short-term fix for the Norwegian locale mismatch, and noted an upcoming improvement to incorporate site “supported languages” into the generic prompt (read more).
supermathie helped troubleshoot missing registration emails on a fresh install by recommending checking EmailLog from the Rails console and distinguishing “not sent” vs “sent but not delivered” (read more).
HAWK kept the #Enterprise conversation moving on how communities break as they scale—especially around moderation consistency, taxonomy drift, and using temporary tags as a pressure valve before committing to new categories (read more).
Yesterday, Meta managed to ship a “Me too” button, debate threaded conversations, and survive a literal power outage—so if your admin panel looks extra lively today, blame the electricity for taking a coffee break.
The “Me too” counter semantics in Solved improvements sparked a mini UX philosophy thread: RGJ argued the counter shouldn’t start at 1 because “too implies additional users,” while lindsey clarified the intent is “impacted users” including the topic author; the back-and-forth is neatly captured across RGJ’s feedback and @lindsey’s rationale
Excitement around nested replies continues, with users asking how it might relate to voting mechanics and sorting logic in “Top” — jumping-off point here: read more
#Theme component
Lilly shipped rapid updates to Discourse Reply Button Labels, adding more label flexibility (post + topic), plus handling for the floating topic reply button in nested topic views; follow the update trail here: read more
putty released Hide Votes Left for topic-voting, then awesomerobot pointed out a newly-added core setting (Topic voting enable vote limits) that may eliminate “set a comically high limit” workarounds—great example of theme components and core settings meeting in the middle: read more
ted reported (and immediately prototyped a fix for) a composer bug where a horizontal rule steals focus from the emoji picker when navigating with ↓, including a PR link for review; reproduction + fix discussion: read more
ted questioned a superfluous-looking button in the “edit bookmark” dialog; the thread quickly turned into “desktop vs mobile behavior” nuance, with chapoi agreeing it feels heavy-handed for toggling a single control: read more
RGJ nearly deleted a category by accident because the Delete button is visually prominent while Save sits far below in the simplified category screen—classic “danger zone placement” concern: read more
Docs UX friction: Moin asked how to get the TOC back in doc categories after interacting with timeline, and also called out that translation toggling becomes oddly dependent on timeline visibility; the UX question (and screen capture) is here: read more
Profile preferences clarity: ted suggested showing uneditable user fields as disabled inputs (instead of hiding them), while chapoi raised the possibility that some sites use them as “staff notes” and asked what confusion triggered the idea: read more
Topic tracking expectations: a user noticed “NEW” state clearing sooner than expected, and chapoi/NateDhaliwal explored how indicators behave for new vs unread tracking (including temporary indicators that disappear on refresh): read more
#Feature
Moin proposed suppressing “New features available!” notifications on brand new forums (similar to how other onboarding-time suppressions exist), arguing that “everything is new” on day one: read more
A small but practical branding request: add a separate dark-mode splash screen logo for login/signup; implementation work is underway and looking for feedback on naming + fallback behavior: read more
#Plugin
The long-running Custom Wizard thread got a concrete maintenance moment: angus confirmed a reported issue is addressed and advised updating to the latest plugin version, while also pointing folks to documentation for more advanced “scenario” use-cases: read more
Uploads debate: users asked why PNG→JPEG conversion settings were hidden, noting it complicates sharing transparent PNG assets and can push teams back to external file sharing; see the complaint and follow-ups: read more
martin shipped product news for Horizon, making high context topic cards the default and recapping what they surface in lists (signals like solved, voting, excerpts, tags): read more
In parallel, martin clarified that “Feedback” and “Preview” links in Upcoming Changes are optional per change item, and noted he’d nudge internally to add more of them: read more
lindsey weighed in on the “Me too” semantics for the new solved improvements flow, explaining why the counter starts at 1 to represent the topic author as an impacted user: read more
awesomerobot highlighted a newly-added Topic Voting configuration that can remove vote limits entirely (avoiding huge “votes left” numbers), while noting a UI-hiding component can still be useful in mixed-limit setups: read more
chapoi did a bit of cross-thread triage and UX calibration:
Pinged for visibility on the composer emoji picker bug (and potential fix): read more
Agreed the bookmark dialog toggle feels like overkill on desktop too: read more
Asked for more context on the “show disabled user fields” idea, noting hidden-field use-cases might exist: read more
Compared observations on “NEW”/tracking indicator behavior (including the “gone on refresh” clue): read more
HAWK added an enterprise-facing perspective on information architecture scaling, reinforcing that “zillions of categories” can become a stability/performance cliff and that tags often scale better than deep category trees: read more
Yesterday’s vibes: between “Me too” starting at 1, nested replies evolving fast, and Horizon cards surfacing every signal under the sun, Meta basically spent the day fine-tuning all the tiny UI details that somehow matter a lot.
The most-loved post of the day was martin’s announcement about streamlined Events category creation — read more.
Interesting Topics
#Announcements
martin announced a much smoother way to create Events categories using the Discourse Calendar and Event plugin (calendar-and-eventevents), rolling key settings into one guided flow — read more. Related background: the underlying plugin is documented here (read more), and it builds on the same “easy category setup” work previously done for Solved support categories (read more) and Voting ideas categories (read more).
In the ongoing discussion about nested replies, markvanlan shared that Discourse considered enhancing the Post Voting approach, but decided nesting is simpler to maintain and offers a better experience — read more.
The new solved improvements that let members signal “I’m experiencing this too” continue to spark UX discussion; darkpixlz noted the “me too” state being auto-selected for the topic author feels a bit odd at first glance — read more. A closely-related feature request about de-emphasizing “me too” style replies also resurfaced here (read more).
A security-minded thread asked whether Discourse containers are vulnerable to Nginx CVE-2026-42945; sam clarified Discourse will update the base image and noted the default rewrite rules are not vulnerable — read more. Context from the original question is here (read more).
On the Free hosting plan, a user asked how to create tags in-topic; darkpixlz confirmed tags aren’t available on the free plan right now (upgrade or self-host to use them) — read more. The question (with screenshot) is here (read more), and the Free Plan beta announcement is referenced here (read more).
A small but important support question popped up about topic deletion permissions (“I cannot anymore delete topics, why?”) — read more.
In Theme Creator, exporting a theme can result in a white screen on mobile; Lilly reproduced it specifically in mobile viewports and described the “download modal → blank screen → no way back” behavior — read more. Original report (with screenshot) here (read more).
A new core bug report describes an uncaught TypeError when submitting flags that require a custom message (e.g. notify_moderators), causing the modal to close but the flag not to submit — read more.
Mobile UX snag: Lilly reported getting trapped in full-screen reactions on iOS Chrome, with no obvious way to close the overlay besides closing the browser tab/window — read more.
A small admin UX improvement request: add a direct link from the deprecated “Auto silence first post regex” setting description to the correct Watched Words page (Silence) — read more.
In the bookmark UI, a thread questioned a superfluous toggle in the edit bookmark dialog; after awesomerobot suggested placement improvements (read more), chapoi removed the toggle entirely — read more.
#Feature
A reactions customization request: when discourse_reactions_experimental_allow_any_emoji is enabled, the “More…” button is represented by a grey — users asked for a better symbol (or theme/CSS approach) — read more. This continues a longer reactions discussion thread here (read more).
#Theme component
In “Discourse Reply Button Labels”, Lilly shipped an update to toggle the Topic reply button label on mobile, while noting that extending the same approach to the per-post reply button risks breaking the already-crowded topic footer layout — read more. Related historical context on “Reply” text/translation concerns is linked here (read more), and a compatibility fix for the Combined Auth Button with the Left Side Hamburger component also landed recently (read more, plus the hamburger component itself: read more).
A WordPress/embedding SEO concern: older topics published via WordPress embed appear to be missing X-Robots-Tag: noindex and canonical tags that previously existed, potentially affecting indexing/canonicalization — read more. angus asked clarifying questions to narrow down when/how the canonical might have reverted (read more). For broader embedding context, Tecnoblog’s ongoing feedback thread also continues to evolve (read more).
tobiaseigen suggested nominating Discourse for the Digital Public Goods Alliance registry, framing it as a light-effort, high-upside visibility/credibility win tied to UN SDGs — read more.
#Community Building
A practical community-building pitch: could Discourse work for a small town government (public outreach + resident communications + visitor participation)? The thread explores the “hosted vs self-hosted” tradeoffs and the realities of small-town staffing/scale — read more.
martin shipped a product update that makes it far easier to spin up Events categories (auto-enabling key settings and consolidating configuration) — read more.
sam responded on the Nginx CVE-2026-42945 thread, confirming Discourse will update the base image and noting default rewrite rules aren’t vulnerable — read more.
Falco followed up in the Tecnoblog embedded-comments feedback thread to confirm the login-flow friction in embeds is now fixed and pointed to the upstream change — read more.
markvanlan continued the rollout conversation around nested replies, including why Discourse didn’t pursue a Post Voting plugin-based approach for nesting — read more.
chapoi acted quickly on a UX nit: removed the superfluous toggle in the edit bookmark dialog after community feedback — read more.
awesomerobot helped refine that same bookmark-dialog UX discussion by suggesting the control be repositioned (before it was ultimately removed) — read more.
HAWK contributed to the #Enterprise discussion on scaling communities, emphasizing the value of nurturing power users and sharing research on sustaining them over time — read more.
Yesterday’s meta.discourse.org was a mix of scheduling events, dodging CVEs, and trying to escape mobile reaction overlays—classic “just another day in community ops” energy.
Prempavee hit a wall when trying to self-delete topics/posts, and the thread uncovered both normal Discourse limits (no replies + <24h) and likely nested-mode-specific breakage; see I cannot anymore delete topics , why? and the key clarification from Falcoread more.
Related: the baseline rule-of-thumb is reinforced by the linked permissions doc: Trust Level Permissions Reference.
A hosted customer couldn’t upgrade from Free to Starter and felt pushed into a Pro trial; mcwumbly confirmed Starter was “deprioritized” on pricing but should still be available to upgrade into, and began investigating the account-specific behavior in No starter upgrade option (team replies: here, here, here).
Reverse proxy/high availability setup: Eviepayne needed a declarative way to persist set_real_ip_from + real_ip_header X-Forwarded-For; inside the container’s nginx to avoid rate-limit pain (429s). The back-and-forth is in Reverse proxy X-Forwarded-For with a pointer to the “shared nginx” guide that wasn’t what they needed read more.
Nested replies testing continues to shake out sharp edges: Lilly reported that post admin wrench menu actions appear to fail silently in nested view, requiring a switch back to flat mode to perform moderation actions in Nested mode disables post admin wrench menu actionsread more.
Prempavee reported a struggle recovering a deleted post/topic and an inability to even open the affected topic (HTTP 500); Falco suggested it “appears to be a bug when trying to visit a deleted nested topic” and planned to investigate in Im struggling to recover deleted post, how to fix?read more.
A report in Chinese flagged layout/display issues when opening the tag-group management page on a mobile browser (Modernize Foundation theme context mentioned) in 手机浏览器打开管理标签组页面显示有错乱.
Read-state behavior may have changed: a user observed that topics seem to be marked “read” immediately upon entering (instead of after scrolling/reading), with discussion in Removing NEW status from topics - behaviour changed?.
Plugin naming/branding collisions: a developer warned about an upcoming official “Workflow” name and asked about clashes; j.jaffeux replied that Discourse naming would stay and suggested using an alternative namespace scheme, leading to a tense but informative exchange in Potential Upcoming Plugin Name Clash - “Workflow”read more.
Custom Wizard usability question: a user couldn’t find “advanced” options for a dropdown field and asked whether something needs enabling in Custom Wizard Plugin .
#Community Building
Practical governance concerns for civic use-cases: advice emphasized that institutional clarity (moderation responsibility, “official statements,” authentication, security, endorsement risk) is harder than the technical setup in Discourse for small town government, with a follow-up note on privacy implications of hosting choices read more.
mcwumbly investigated a hosted-plan UI/account issue where a Free site could not see the Starter upgrade path, explained that Starter has been deprioritized on the pricing page but should still be available, and attempted an immediate fix before deciding it needed deeper review in No starter upgrade option (continued: follow-up, attempted quick fix here, and next-steps here).
j.jaffeux held the line on product naming despite third-party plugin conflicts, recommending a different naming scheme for unofficial plugins and explaining why Discourse can’t realistically avoid every ecosystem collision, in Potential Upcoming Plugin Name Clash - “Workflow” (continued: reply and closing position here).
That’s a wrap: may tomorrow’s upgrades show the plan you actually want, and may nested mode let moderators press the wrench buttons without having to “go flat” first.
Other threads with fresh replies worth a quick click-through:
Enterprise calendaring pain points surfaced again, with a concrete pointer to ICS in notification emails (read more) and broader adoption friction in “breaking points as communities grow” (read more).
Several admin/self-hosting “gotchas” came up: a Discourse ID lock-out scenario (read more), plus ongoing questions about updating the discourse/discourse Docker image (read more).
A couple of long-running implementation/config threads also moved forward: command-line backups (read more) and an S3 migration/rebuild troubleshooting tip referencing an aws-sdk downgrade workaround (read more; related: read more).
Design/theme nits continued to roll in, including a Quote Callouts styling edge case (read more) and a Foundation theme modernization thread referencing a mobile UI bug report (read more).
TroLLoBlogger reported a crash after attempting to update via the admin UI, traced to a plugin JS build timing out; the thread dug into whether single vCPU + non-core plugin assets should trigger a safer update path (read more).
The Norwegian locale detection mismatch (no vs nb_NO) got a concrete improvement: nat noted the suggestion is now baked into the default agent config (with a GitHub PR linked) (read more).
A report (in Chinese) flagged that hyperlinks inside the official AI plugin output weren’t clickable, with a screenshot illustrating the “tap does nothing” behavior (read more).
A TypeError when submitting certain “require_message” flags is now on the team’s radar; sam acknowledged the report and invited a PR (read more).
A brand-new hosted admin hit an “Oops! That page doesn’t exist or is private” during email verification; it turned out to be a testing-in-the-wrong-session issue (admin logged in elsewhere), resolved after retrying with a truly clean session (read more).
Reverse proxy operators discussed getting X-Forwarded-For real IP handling correct; Lilly recommended making it rebuild-proof via replace: in app.yml rather than editing container configs in-place (read more).
A Custom Wizard admin asked how to remove test submissions “via Rails” after finding manual deletion isn’t available in the UI, and noted that “ChatGPT fails a lot here” for the specifics (read more).
An iOS app embedding scenario raised questions about community members who can open invite links in Safari but not in an app/webview; troubleshooting focused on whether the app is a webview wrapper and where auth is failing (read more).
A dev-oriented question revisited pre-populating signup fields from URL parameters (email + username). ted mapped the current flow (Rails → cookie → Ember route/controller/template) and suggested checking team appetite for a PR before plugin work (read more).
#Announcements
Discourse shipped more flexible RSVPs for recurring events: the Going button now offers “this occurrence” vs “this and all future,” reducing reminder noise and making attendance lists more accurate (read more).
“High context topic cards” being enabled by default in Horizon prompted a request for category-level configurability, since different spaces may want different info density (read more).
The Better bulk tag management announcement thread got a quick status ping from nat (“it’ll be back soon™”), implying a temporary hiccup or rollout pause (read more).
#Self-hosting
A self-hosted admin described a worst-case lockout: disabled Discourse ID before ensuring a local admin login existed, leading to “No login methods are configured” and a non-delivering /u/admin-login email path (read more).
#Community Building
A real-world Discourse deployment highlight: Berlin State Library’s Discourse-based community project Wibiblio was shared ahead of a Re:publica Berlin talk, with links to the conference session and project site (read more).
Falco dug into the admin-UI update crash and focused on whether machine constraints (single vCPU) + non-core plugins should change update guidance, asking for server specs and looping in david (read more; read more; read more; read more).
david clarified that prebuilt assets should still be pulled even for web-based updates, while noting that the failing plugin isn’t core—so its assets won’t be distributed the same way (read more).
nat delivered two quick hits: a status note in the bulk-tag-management announcement thread (read more) and an AI-locale agent improvement update, confirming the Norwegian/Greek language code guidance is now included by default (read more).
lindsey posted a full release note for Improved Events RSVPs, detailing the new drop-down RSVP semantics for recurring events on desktop and mobile (read more).
sam acknowledged the reported TypeError on custom-content flag submissions, confirmed the team will look, and welcomed a PR from the reporter (read more).
If yesterday taught us anything, it’s this: may your rebuilds finish before the 120-second timeout, and may your RSVPs always apply to the right event occurrence.
sam shipped a quality-of-life improvement for Discourse AI: you can now star common AI conversations so they stay pinned at the top of your AI chat list (controlled via an upcoming change setting). read moreai
david published May 19th 2026 intermediate releases (focused on critical/security fixes), with links to multiple changelogs for admins to review before/after upgrading. read morerelease-notes
Recurring events got a usability boost: RSVPs can now be scoped more flexibly (single occurrence vs. future occurrences), and folks immediately started pressure-testing edge cases like “nth weekday of the month” scheduling. read morecalendar-and-event
FormKit got a polish pass with a checkbox redesign (native checkbox visually hidden, with a presentational checkmark span for styling/animation). chapoi asked everyone to report issues against the upcoming change. read more
A small but meaningful consistency tweak is in progress: when discourse_reactions_experimental_allow_any_emoji is enabled, the “More…” affordance shouldn’t show as :-)—awesomerobot confirmed they’re working on a fix. read morereactions
On moderation best practices, a new thread asked whether Discourse ships with a built-in abusive/profanity list; the practical answer was “no default list,” but Watched Words is the recommended approach, with flexible matching and actions (Block, Require Approval, Flag, Censor, etc.). read more (see also the guide: read more) watched-words
A nested replies gotcha: an admin couldn’t Change Ownership (and also wanted to “promote a reply into a topic”). The workaround was to temporarily switch to flat mode; the underlying issue is tracked as nested-mode wrench actions failing. read more (related bug: read more) nested-replies
Self-hosters running an external PostgreSQL 18.3 hit backup failures due to a pg_dump client/server version mismatch (container has pg_dump 15.x). The thread explores whether to align Postgres versions vs. upgrading the client. read more
A report of Internal Server Error while approving new users (with OAuth2 authentication) prompted initial triage questions about server logs (/logs) and browser console errors. read more
A tricky crash: TypeError when submitting flags with custom content (require_message flags). Investigation suggests it can reproduce in nested topics, where a user can flag a post twice via different reasons, leading to missing actions_summary entries and a frontend crash. read more (safe-mode troubleshooting requested here: read more, and the general safe-mode guide: read more)
A mobile-only report: scrolling to the bottom of the nested replies testing topic can hit a 404 on mobile, while desktop seems fine—Falco flagged it as likely related to recent nested read-state changes. read moremobilenested-replies
Topic voting regression(?) watch: users can’t view who voted on a closed topic—the UI shows nothing and the API returns an empty list, echoing an older historical report that “this used to be an issue.” read moretopic-voting
Nested mode continues to surface edge cases: post wrench menu actions may appear but silently fail in nested mode; Falco clarified expected behavior around defaults vs. propagation, and linked a fix PR for the wrench-action failure. read morenested-replies
#feature
Feature request: when bulk converting Topics → Messages, the modal lacks a way to add a Group recipient (useful for converting a category into a group inbox). The request proposes parity with the Messages → Topics flow, which already offers richer targeting options. read more
WP Discourse + WooCommerce admins asked whether it’s “safe” to let users change Discourse usernames (potentially diverging from WordPress user_login) to avoid awkward auto-generated logins and privacy/UX issues—seeking a recommended “source of truth” strategy for existing large installs. read more (related WordPress embed SEO troubleshooting: read more)
sam introduced starred AI chats—a new way to keep frequently used AI conversations at the top of your list, controlled via an upcoming-change toggle. read more
david posted intermediate release notes for May 19, 2026, pointing admins to the relevant changelog pages for security/critical fixes. read more
awesomerobot was active across UX and moderation tooling:
confirmed a consistency fix for the reactions “More…” emoji is underway. read more
recommended “delete and block” as the best anti-spam cleanup pattern when discussing purging silenced users. read more
continued iterating on “Solved improvements,” including removing OP from a “me too” count and confirming the site text can be customized safely. read more and read moresolved
Falco helped triage multiple nested-replies issues and set expectations on behavior:
connected a mobile 404 report to nested read-state changes. read more
clarified how nested mode bug reports should be filed (one topic per bug, in Contribute > Bug) and linked work to fix post wrench action failures. read more and read more
linked a fix PR for recovering deleted content in another nested-replies thread. read more
HAWK provided a detailed breakdown of Watched Words capabilities (phrases, wildcards, CSV import/export, and multiple actions like Block/Flag/Censor/etc.), helping guide moderation setup choices. read more (reference guide: read more)
also reassured enterprise admins that calendar/events is under active development and video conferencing is on the roadmap. read more
chapoi announced the FormKit checkbox redesign upcoming change and asked for reports if any styling/behavior regressions appear. read more
tgxworld attempted to reproduce a flag-submission TypeError locally and suggested isolating with safe mode as part of the debugging workflow. read more
martin followed up on “Events category creation” automation feedback, asking clarifying questions about what a “sidebar equivalent” setup option should look like. read morecalendar-and-event
featheredtoast noted an “unintentional side effect” related to clearing stuck web upgrades in the discourse/discourse Docker flow, and pointed to an in-progress fix in discourse_docker. read more
lindsey helped close the loop on recurring event RSVP confusion by pointing to the newly shipped granular RSVP behavior in the improved events announcement. read more (feature announcement: read more)
Yesterday’s Meta energy was unmistakable: if your day includes starred AI chats, smoother checkboxes, and fewer nested-replies gremlins, you’re doing it right.
If you’re catching up, these quick links were among the busiest touchpoints: the new AI-bot composer flow (read more), Discourse’s web-first stance (read more), and a migration speed deep-dive for phpBB imports (read more).
ducks published a clear “web-first” line in the sand: Discourse won’t force mobile users into an app—positioning this as an explicit alternative to platform lock-in patterns (read more).
#Announcements
A new docked composer for AI bot conversations aims to make back-and-forth exchanges feel continuous (and less “click Reply again”) via the ai_bot_enable_docked_composer upcoming-change flag (composeraiai-bot) (read more).
Sites using Discourse Reactions can opt into a layout tweak that moves the reply count to keep reaction rows aligned and consistent (reactions) (read more).
The MCP + Data ExplorerOffice Hours replay is up, showcasing “ask your community data questions like a teammate” workflows and how AI can generate/analyze Data Explorer queries from plain English (webinaroffice-hours) (read more).
#Migration
A phpBB importer performance thread dug into why migrations can look I/O or DB-bound even with low CPU usage—and why Redis timeouts plus “Skipping” errors are worth investigating early (phpbb) (read more).
A pricing/free-plan concern thread tracked changes in how plans are presented and flagged features appearing as “Upgrade to unlock,” with helpful pointers to prior context like the Free plan beta discussion (read more; background: read more, and related pricing UX thread: read more).
An “update available” email was reported to contain a broken release-notes link (missing the leading v in the changelog URL), yielding a 404 for admins clicking through (read more).
An approval workflow problem report showed an Internal Server Error when approving new users, prompting baseline questions about whether the install is standard and whether an external DB is involved (read more).
A category banner/theme-component issue report described category descriptions disappearing after clicking a tag and intermittently returning after refresh; the OP referenced earlier reports that look similar (read more; earlier threads: read more, read more).
A self-hosting/multisite admin asked how to add new sites without rebuilding and whether site definitions can be managed externally (outside container hooks) for easier operations (multisite) (read more).
A moderation/automation question asked how to auto-reply after a flagged post is approved (e.g., enforcing “English only”), noting current Automation plugin triggers don’t seem to cover this use case (read more).
An SEO/language oddity report described Google indexing a Meta topic in Italian instead of English, causing the page to open in Italian for the searcher—raising questions about how crawlers choose localized variants (seogoogle) (read more).
Emoji autocomplete reportedly breaks when the typed term includes special characters (example: ü), and chat additionally throws a console error during emoji selection (emoji) (read more).
A long-running chat security concern resurfaced: users say the chat plugin can expose IPs via hotlinking behavior and are asking for mitigation guidance (chat) (read more).
#Theme component
A Tag Icons thread suggested a likely regression source: tags with underscores may no longer match expected slugs—so icons appear in some contexts (like the sidebar) but not others, depending on slug normalization (officialtag-icons) (read more).
#Self-Hosting
Cloudflare R2’s S3-compatibility status was revisited: a report says R2 now works for backups/restores (contrary to the older “incompatible” doc note), and the thread includes suggestions to update the documentation (cdnbackups) (read more).
A staff-auditing gap was flagged: undeleting a post doesn’t create a staff action log entry, unlike delete/undelete topic actions—making it harder to attribute restores without server logs (read more).
ducks kicked off discussion with the companion topic for the Discourse blog post, “Discourse Will Never Block You From the Web” (read more).
keegan announced the docked composer improvement for AI bot conversations and pointed admins to the upcoming-changes flag ai_bot_enable_docked_composer (read more).
Danielle posted the MCP + Data Explorer Office Hours replay and outlined practical community analytics questions the demo answers (read more).
davidb introduced an opt-in layout tweak for sites running Reactions, moving the reply count to improve alignment consistency across posts (read more).
Falco shared additional custom SVG splash-screen examples (noting improved results with newer Gemini Flash), continuing experimentation around branded loading experiences (read more); and separately encouraged contributions to keep Mermaid current (“a PR is welcome!”) (read more).
cocococosti added migration-pragmatic guidance on speeding phpBB imports by improving the source database (indexes/views/settings), and hinted at faster migration tooling in the works (read more).
awesomerobot confirmed a change so brand-new forums won’t get retroactive “New features available!” notices, linking the core commit (read more); and also opened a PR to bring back/improve the removed tag info button experience (read more).
mae noted they had already submitted Discourse to the Digital Public Goods Alliance registry after a recommendation (read more).
martin followed up on Events category creation automation, considering whether Discourse could detect the Right Sidebar Blocks component and enable relevant events integrations automatically (read more).
nat merged a contributor PR (with added specs) for a translation/language-code issue, confirming the fix landed (read more).
Yesterday’s vibe: between a docked AI composer and a renewed commitment to the open web, Meta managed to be both more chat-like and more browser-first—while still finding time to ship pixel-perfect alignment tweaks (read more, read more, read more).
Docs get a reading-first UX with Simple Mode (read more)
A native iOS+Android Discourse client demo lands in General (read more)
bug reports roll in for Chat “starred” navigation (read more) and a Horizon theme folding-phone header layout (read more)
Mobile UX nits around reactions/back-button behavior (read more) plus a +1 reactions hover popover issue (read more)
A couple of Support threads: a theme-component import error (read more) and topic view-counts not incrementing on one topic (read more)
Interesting Topics
#Announcements
saquetim announced “Simple Mode” for Discourse Doc Categories, introducing a reading-first doc view (comments hidden behind a toggle, deep-links auto-expand), plus a documentation-shaped topic list for “Updated”-style scanning (doc-categories) — read more. Related background: the plugin overview is here (read more), and there was also discussion about getting confused by existing replies in doc-like topics (read more).
In the Events space, nathank proposed a more obviously “upcoming events” category experience (calendar block + topic list on one page) and called out the current “clever sort” as not visually clear enough (calendar-and-eventevents) — read more.
Ongoing feedback on “Me too” indicators for Solved/issue workflows: Noble_Fish asked for category-level configurability to avoid confusion when combining voting + solved + “Me too” in mixed-purpose categories (solved) — read more.
The long-running work on automatic switching between mobile/desktop modes picked up folding-phone-related context: david noted unfolded folding phones intentionally show “desktop view,” and the team wants fixes that don’t rely on disabling the viewport-based mode toggle — read more. The folding-phone header breakage report that cross-linked into this is here (read more).
A developer asked how notification consolidation/grouping works across UI and database/API (reply + reaction notifications), and whether it’s possible to disable consolidation so every action yields an append-only record — read more.
nicolsdennis shared a native mobile Discourse client app demo (iOS/Android), including early notes on plugin compatibility (official plugins now; more coming) (show-and-tell) — read more. The app also popped up as a real-world follow-up in a broader “convert a forum into a real app?” thread (read more).
Chat usability: Shauny reported the floating chat window “Back” behavior forgets Starred context and can’t default to Starred, undermining the point of favoriting. sam zeroed in on the underlying issue—floating chat interacting with browser history:
“…we are allowing chat in floating mode to even be involved with web page history.”
— read more. Background feature: “Star your favorite chat channels” (read more). zogstrip pointed to an incoming fix via PR (read more).
Theme/device quirk: nathank reported the Horizon theme header breaking on mid-size viewports (640–767px)—notably painful on folding-phone aspect ratios. Lilly provided a CSS workaround and narrowed it to header layout behavior in that breakpoint range (horizon-theme) — read more. The related “viewport based mobile mode” discussion was also tied back into the broader mobile/desktop switching work (read more).
A core/bundled plugin issue: hovering the “+1” reaction count can leave the users popover stuck on a spinner due to URL encoding (+ becoming a space). A PR was referenced as the fix path — read more.
A smaller-but-annoying Meta quirk: a user-reported 404 at the bottom of the “Testing Nested Replies on Meta” page saw markvanlan unable to reproduce (yet), with a note to keep an eye on recurrence (nested-replies) — read more. The ongoing testing thread itself continues to get activity (read more).
Mobile Chrome UX: Canapin reported two “back button” issues when the reactions list modal is open—the modal stays open, and navigation jumps to the page footer. A prior related report was cross-linked for comparison (mobilereactions) — read more. Related history: prior modal/reaction-list discussion posts (read more) and (read more).
Hosted plan questions: a thread on pricing structure / free plan feature availability clarified that the Free plan is still being tuned, only essential transactional emails are intended, and some UI/limits messaging may shift as Discourse tests market fit (free-planhostingprice-sensitive) — read more. Follow-up acknowledged changes around category types and promised to raise feature-matrix clarity with the team (read more).
Theme/component authoring: a user hit “Import Error: about.json does not exist” while uploading a theme component ZIP; replies suggested the ZIP’s folder structure (and OS zip behaviors) can accidentally nest about.json in a parent directory, breaking import — read more.
Accessibility: a new question asked for themes/components that work well with screen readers, given many a11y improvements now live in core (accessibility) — read more.
saquetim shipped an announcement introducing Simple Mode for documentation experiences in doc categories, focusing on a reading-first layout with collapsible discussions (doc-categories) — read more.
david weighed in on mobile/desktop mode switching, explaining why folding phones should intentionally render “desktop view” when unfolded—and noted the legacy viewport toggle is “long overdue” for removal, preferring direct fixes instead — read more.
HAWK addressed free plan / pricing structure concerns, clarifying current Free-plan constraints (transactional email only; “email in” was an oversight), and acknowledged ongoing iteration—including newly discovered category-type gating concerns — read more and read more.
sam confirmed the Chat “Back” + Starred report is specific to floating chat, and suggested the deeper issue is floating chat entangling browser history—an approach that may need rethinking — read more.
zogstrip connected two bug reports directly to fixes-in-flight: the Starred chat/back behavior should improve once a referenced PR lands — read more — and the “+1 reaction hover popover” encoding issue is covered by another PR — read more.
markvanlan followed up on a nested-replies testing page 404 report, noting it wasn’t reproducible at the time but might be a recurring edge case worth monitoring — read more.
featheredtoast updated self-hosters watching the official Docker image pipeline, saying the next build should be restored with a patch, enabling upgrades by pulling the latest image again — read more.
With docs going Simple Mode, folding phones demanding respect, and starred chats trying to remember where they came from, yesterday was basically “Discourse vs. navigation state”—in the best possible way.
Noted the native app isn’t store-published yet in read more
A quick theme across the day: approval workflows, mobile UX edge cases, and “agent-ready” distribution all got meaningful airtime—often with PRs or concrete repro steps attached (e.g. email template fix, audit log PR, and nested-replies investigations like this one).
Discourse argued that communities should prepare for agents reading on users’ behalf, and positioned Discourse as “agent-ready” in the companion thread: read more
#Announcements
“Simple mode” landed for doc categories, and early feedback/links began consolidating around how docs navigation should behave: read more
The ongoing rollout of nested-replies continued to spark implementation talk—especially around labels/translations and alternative solutions shared by Lilly: read more
A new report suggests the “Approve” button on a user profile can fail, tying into the long-running “phantom approval” notifications problem (related) and ongoing reproduction notes: read more
A subtle but impactful email-ops bug: “update available” emails linked to release notes without the v prefix; Lilly posted a template PR proposal in-thread: read more
Content localization edge case: when switching languages, the post link area still displayed the default language instead of translated content (translationcontent-localization): read more
Emoji autocomplete with special characters (like ü) got a likely fix via PR reference from renato (tagged fixed): read more
A self-host reliability win: backups failing with Postgres 18 were resolved by installing the Postgres package, with follow-up advice about pinning the right client bits for future upgrades: read more
A diagnostics thread asked why view counts don’t work on a specific topic; early triage suggested checking safe mode and clarifying what “doesn’t work” means: read more
A Discourse free-plan admin asked what “minimum required activity” means (and whether their embed implementation is correct) after receiving an inactivity warning email: read more
A reproducible iOS Chrome navigation bug report described the browser “back” button sometimes jumping to an older page rather than the expected prior view: read more
Audit trail gap: undeleting a post apparently does not create a log entry; ted opened a PR and linked it for staff review: read more
#Extras
The “Discourse Shortlink Router” project added a practical self-hosting/repurposing guide, turning a neat idea into something easier to adopt: read more
#Developer Guides
A dev install gotcha: the Docker dev setup can fall apart when your host UID isn’t 1000; dubwoc documented the failure mode and considered upstreaming docs/changes: read more
zogstrip confirmed a fix is coming for a “restore flagged post” usability issue, pointing to an upstream PR from the report thread: read more
They also linked a proposed fix for Googlebot pagination/crawl issues in an older SEO support thread: read more
And they noted an upcoming improvement to a site-setting description (linking to Watched Words) in UX: read more
Plus, they tried (and couldn’t) reproduce the “fullscreen reactions on mobile” issue, asking for repro steps if it reappears: read more
renato referenced a PR that should fix emoji autocomplete with special characters (example: ü), marking quick progress on a small but important editor polish item: read more
rishabh followed up on hosted plan UX: the “Starter upgrade” recommendation logic can skip incorrectly to Pro, and they flagged it internally as a real bug (with a promise of an update): read more
techAPJ clarified how Solved Reminders pull suggested topics—confirming that “Limit suggested to category” should keep “help answer similar questions” suggestions within the same category: read more
HAWK continued an Enterprise-scale community discussion by drilling into an important nuance: are “early stages” about first launch, or migrating an already-existing community ecosystem?: read more
supermathie asked for key context (“What was the reason given for the flag?”) to unblock a Chinese-language support question about missing approval actions: read more
If yesterday was any indication, today’s going to be a great day to keep your nested replies tidy, your approval buttons functional, and your forums ready for the agents who never sleep.
Discourse’s “agent-ready” positioning sparked a pointed discussion about whether communities should allow AI crawlers at all, with eisammy questioning the commercial upside (read more), awesomerobot outlining how the answer depends on whether your forum is primarily support vs social (read more), Orioni adding nuance around the still-unproven impact of llms.txt (read more), and darkpixlz arguing for actively blocking scrapers (read more).
Copy/paste of syntax highlighting (notably diff) turned into a deep dive into clipboard formats: supermathie demonstrated how Discourse’s copy button differs from selecting rendered HTML in the browser (read more), and the thread ultimately narrowed the issue to Firefox’s behavior (with a Bugzilla report) rather than Discourse itself (read more; read more).
A new iOS PWA regression report: the Reply button disappears in the composer when text size is set smaller (works in Safari, fails in the PWA), on Foundation theme (read more).
“Update available” email templates had an invalid release-notes link; Lilly confirmed the fixing PR was merged and should land on the next update cycle (read more).
Admin approval flow got two separate spotlights: one thread investigated why the approval button on a user profile doesn’t work and dug into reviewable logic (read more; read more), while another continued a long-running bug where notifications claim users need approval but the review queue doesn’t show them—workarounds included exporting /admin/users to find approved = false accounts (read more; read more). Background/repro echoes also resurfaced around ID collisions and older approval artifacts (read more; read more).
A reactions-related backend error hit latest.1: NameError: uninitialized constant ReactionsSerializerHelpers when loading topic posts; Ethsim2 provided logs and followed up with a PR to move/load the helper earlier in the serialization path (read more; read more).
A duplicate report reiterated that [spoiler] toggles break when nested inside [details] (can’t re-blur on second click). The new topic asked to be closed as a duplicate of the canonical issue (read more; original: read more).
A quick “what happened?” bug report described seeing an error after “update all”, then returning to the forum via browser back—opening in a new tab worked; Falco immediately pointed the reporter to check /logs for details (read more; read more).
Foundation theme users reported the homepage font suddenly appearing too small after rebuilding/updating, and troubleshooting pointed toward Modernize Foundation and recent theme changes; Lilly shared a CSS mitigation and confirmed toggling the “upcoming changes” modernize option could reproduce/fix the issue (read more; read more).
A nested replies usability snag: in threaded view, admins can’t add a note to an action log entry because the composer button is missing—while it is available in flat view (read more).
Two related “clarity and least-privilege” UX/policy threads focused on deletion behavior: one proposed splitting delete all posts and topics allowed groups into separate own-content vs global-content permissions (read more), and another suggested clearer wording for delete_removed_posts_after to better explain the “removed vs permanently deleted later” lifecycle (read more).
Free-tier expectations were clarified: Discourse-hosted free sites are expected to show at least a couple users and a handful of topics in the first 3 weeks, with escalating inactivity notices after that (read more).
A support question on missing Likes turned into a “plugin interaction gotcha”: in categories with Topic Voting enabled, Likes are automatically disabled; the fix was to re-enable via CSS/component approach, and the solution included pointers back to the official voting plugin behavior (read more; plugin reference: read more; user-confirmed fix: read more).
A thoughtful cross-cultural + generational feedback thread asked for an admin-selectable default reply order (old→new vs new→old), emphasizing discoverability issues for older users and differing reading habits—especially among Japanese users used to “newest first” layouts (read more).
Moderation permissions and conflict-of-interest: a site owner asked whether category moderators can review flags on their own posts, and whether Discourse provides any technical enforcement (vs policy) to avoid self-review; discussion included comparing category-moderator powers to TL4/Leader as a least-privilege alternative (read more; follow-up nuance: read more).
A localized UX/support bug report suggested Chrome “back button” behavior differs when the UI language is Chinese vs English; the accepted solution indicates this may have been a translation/context misunderstanding (“topic” vs “theme”) plus locale-specific behavior (read more; read more).
#Plugin
The official Discourse Calendar (and Event) plugin thread got fresh UX feedback: users want to click through directly to the topic (skipping the event preview modal) or have participation buttons available within the preview for better conversion (read more; response pointing to Contribute > UXread more).
awesomerobot engaged in the AI crawler debate on the “agent-ready” blog post, explaining how the “right” approach differs for support forums (optimize for fast answers) versus social communities (optimize for on-site interaction), and also noted the practical limits of blocking scrapers purely via robots.txt (read more; read more). awesomerobot also clarified Discourse’s current free-tier inactivity expectations and timelines for decommissioning (read more).
supermathie delivered a high-signal technical breakdown on why syntax highlighting colors don’t reliably survive copy/paste—demonstrating clipboard MIME differences, inlining behavior differences across browsers, and providing a debugging script to inspect clipboard HTML (read more; read more; read more). supermathie also solved a “missing Like button” report by identifying the Topic Voting plugin interaction that suppresses Likes in voting categories (read more).
Falco responded to a post-update error report by directing the reporter to check /logs, keeping the troubleshooting grounded in actionable diagnostics (read more).
If yesterday taught us anything, it’s that your forum can be “agent-ready,” but your Reply button still needs to be visible—and your diff blocks deserve to keep their colors when they escape into the wild.
wenqin asked for admin-selectable default topic reply order (chronological vs reverse), highlighting cross-cultural and age-related discoverability issues; Falco noted the behavior is addressed by nested replies and pointed to ongoing testing (read more, nested replies testing).
The same thread also surfaced a UX tradeoff: jumping via the timeline is “one click,” but RGJ noted nested-reply topics don’t have a timeline, and shared alternative jump mechanics (desktop #, mobile post-count tap) (read more, original request).
#Theme component
mcmcclur published KaTeX titles, a theme component enabling math typesetting in titles (acknowledging Discourse’s long-standing “minimal formatting in titles” stance), and linked prior Meta requests as motivation (read more, prior related topic).
A long-running moderation UX paper-cut resurfaced: notifications claiming “X users need approval,” but then showing none; RGJ argued the cause has been understood for years and asked for a fresh team look (read more, earlier root-cause note).
Ryan_Hyer reported infinite scroll breaking in the user directory when the user-card-directory theme component is enabled, throwing loadMore / undefined model errors and preventing loading beyond the first page (read more, topic link).
In Approval button on user’s profile doesn’t work, Moin shared evidence that the related ReviewableUser was created after the user record, pushing back on earlier hypotheses and narrowing the investigative path (read more, topic link).
In “Bug? forum issues,” Ethsim2 separated two likely-unrelated errors: a stale-tab/asset filename mismatch after “update all,” versus a backend reactions serializer exception (and referenced their separate report/PR); pfaffman suggested rebuilding from the command line (read more, rebuild advice).
Nested replies compatibility got a concrete failure case: enabling nested replies + post voting and converting a topic view produced a 500 with undefined method 'post_number' for nil; Lilly suggested the two features may not be compatible (yet) and linked prior nested-replies guidance (read more, compatibility note).
A Chinese-language report on an iOS Chrome back-button issue evolved into a hypothesis about Chrome’s built-in page translation interacting with Discourse navigation/history state; Ethsim2 asked whether the bug only reproduces when translation is enabled (read more, follow-up question).
#Community Building
In Sharing approaches to using automation to send messages to members, haydenjames expressed frustration at settings changing during updates; Moin proposed making update-triggered setting changes discoverable via staff logs and tying them into admin notifications (read more, follow-up + links).
In New community, dax clarified that Meta isn’t the right place for running functional tests or promoting trial sites, and asked people to avoid unsolicited PM-based testing workflows (read more, topic link).
#Nested Replies Testing
In ongoing Testing Nested Replies on Meta, a participant asked how to disable machine translation in nested-reply topics (noting UI differences vs “flat” topics), reflecting how experimental UI paths can expose missing controls (read more, context).
The same nested replies testing thread raised a conversation-management question: how to “catch everyone’s attention” (or re-direct answers) once replies are nested and dispersed (read more, topic link).
Discussion continued on Discourse is Agent Ready: Here’s How, with concerns about guardrails and regulation around LLM use of content; ted argued existing legal frameworks haven’t been effective deterrents (read more, blog topic).
#Migration
In PHPBB to Discourse Migration Speed Optimization, Mattash reported the migration finished but passwords weren’t imported—meaning a restart—while planning to prune low-value posts (“jello” / countdown content) on the second attempt (read more, topic link).
Falco weighed in on reply-order usability, pointing out that jumping to the right place in a topic is a single click via the timeline (or taps on mobile), and noted nested replies as the relevant feature area for alternate reading flows (reply, thread context).
dax posted a moderation/process clarification in New community, reminding that Meta is for support and community discussion (not external trial-site testing), and discouraging unsolicited PM outreach for tests (reply, thread context).
Yesterday’s Meta energy in one line: between KaTeX in titles, nested-replies ergonomics, and iOS Chrome translation quirks, everyone was clearly determined to make scrolling and math a little less mysterious.
Notable cross-thread “glue”: the new admin-notification theme component was immediately referenced as a practical workaround for invite-notification overload (read more, read more).
Jagster flagged that the “Featured components” installer can offer already-installed theme components and allow duplicates, which feels confusing in day-to-day admin use; dax clarified this is intentional to support installing the same component with different configurations across multiple themes (read more).
Lilly reported a layout issue where a pending suggested edit banner overlaps the edit-history pencil/date on wiki/doc content, and also noted missing tagging for suggested edits documentation (read more, plus related: Discourse Suggested Edits).
A request to “copy the Meta branded theme” sparked discussion about why Discourse’s brand language isn’t open-sourced and what it might cost to commission a comparable design; manuel pointed builders to theme/block authoring skills to recreate similar homepage components (read more, and the referenced guide: Skills for authoring themes and blocks).
Lilly published Dismiss Admin Noise!, a theme component that auto-dismisses specific admin user-menu notifications to reduce cognitive/UI load—especially for admins who track lots of updates via Meta (read more, install/how-to: How do I install a theme or theme component?).
Moin found that a “suggested topics” link to a nested reply context endpoint can 404 and leave the header state “wrong” even after returning home; console logs show a failed request to the /n/.../context/...json route (read more).
Moin dug into how educate_until_posts should behave after recent changes to check_education_message, expecting the education banner to appear for the first N posts—but observing it only once in testing (read more, originating discussion: “Thanks for Contributing” popup…).
abeen explored running a brand-new Discourse with social logins only while email is broken (notably on hosts where SMTP is blocked by default); the thread also linked out to common email-provider setup guidance (read more, related: Configure Mailgun for email when using DigitalOcean for DNS).
Follow-up feedback on Doc Categories simple mode noted a visual overlap issue (tags colliding with edit counts/date), with comparisons between normal view and safe mode (read more).
A self-hoster asked how to configure Discourse when the reverse proxy and the Discourse host are on separate machines, including questions about proxy_pass, ports, and what (if anything) should be exposed in app.yml (read more).
In the long-running Unformatted Code Detector component topic, a user hit “Error cloning the Git repository” even though the source link worked; the likely culprit discussed was intermittent GitHub rate limiting (read more, and related rate-limit context: read more).
#Feature (nested replies UX)
In feedback about reply order and usability across demographics, Falco noted the team briefly added a timeline to nested replies, found the approach lacking, and reverted it while exploring a better design (read more, related: Introducing nested replies).
In the canonical embedding thread, benji asked whether it’s possible to bring only the Discourse comment-embed experience into a mobile app; Falco confirmed read-only embedding should work (e.g., in a webview) and asked for use-case details (read more).
The NGINX CVE follow-up confirmed the base image now includes an updated NGINX version and that Discourse Docker images were bumped accordingly (read more).
In PHPBB migration optimization discussion, cocococosti reiterated that Discourse migrations do not import passwords (and shouldn’t, for security), and advised messaging users in advance about password resets (read more).
(More “also-active” context threads from the same 24h window included: a moderation-power discussion on category mods reviewing flags (read more, referenced tool: Category Restrictor plugin), and community-building automation approaches using AI/triage (read more).)
manuel clarified that Discourse brand language isn’t open-sourced and pointed to official learning resources for building similar components in Copy the meta branded theme.
Also active (fresh replies on longer-running threads):
Ongoing translation + UX chatter around Discourse Calendar (and Event) — read more
A suggestion to consider RaTeX as a KaTeX-compatible option in Discourse Math — read more
Continued discussion about whether trust level groups should appear in group listings — read more
Tips for testing a theme component: Dismiss Admin Noise! — read more
A self-hoster confirmed upgrades after asking about Docker image safety — read more
Hosted/free-plan expectation-setting: minimum required activity — read more
Community scaling strategy talk in common breaking points as communities grow — read more
Interesting Topics
#Announcements
martin announced an upcoming change to enable Discourse Reactions by default (with opt-out still possible), positioning reactions as a “low-pressure” engagement tool; the thread also points people back to the core Discourse Reactions feature context — read more (related: reactions background, follow-up reply from martin on future consolidation ideas read more)
GitHub oneboxes got a polish boost: inline PR oneboxes can now display live PR status, shared with screenshots and an implementation link — read more
The new client-side image optimizations thread dug into format/quality tradeoffs: Falco explained why always-on WebP (and richer admin controls) isn’t straightforward, and why additional “compression knobs” aren’t currently prioritized — read more
A small but notable platform milestone: legacy mobile mode has been removed, as part of ongoing work on automatic switching between mobile/desktop modes (tagged dev-news) — read more
A targeted UX fix shipped as a community customization: a theme component CSS approach to improve Foundation theme homepage readability/spacing (shared with before/after screenshots and code) — read more (context: users noticed tiny fonts after rebuild read more)
#Site feedback
A docs presentation change appears to have collateral impact: darkpixlz reported wiki posts also hiding author/user info, which feels wrong for collaborative content; discussion quickly identified it as part of “simple mode” behavior — read more (pointer to simple mode explanation read more)
In the broader “Simple mode” for doc categories discussion, darkpixlz shared a userstyle workaround to restore author/category visibility in doc views while Meta experiments with the simplified docs UI — read more (related feedback thread on the rollout read more)
Meta’s internal gardening experiment continued: Moin highlighted a subtle maintenance problem where category-mention snippets in official plugin/theme topics break after category structure changes, and linked prior notes so editors can keep those intro blocks working — read more (referenced example note read more, and a quoted “official plugin” snippet example read more)
A self-hosting reliability issue surfaced after upgrade: Sidekiq jobs failing with “can’t alloc thread” post-2026.4.1; sam immediately suspected a resource constraint and began asking for OS/Docker/image upgrade details to narrow it down — read more (initial report read more, follow-up questions read more)
A reactions-related runtime exception was reported: NameError: uninitialized constant ReactionsSerializerHelpers when loading topic posts on a 2026.5.0-latest instance; the report includes stack trace and environment notes — read more (notably relevant given the broader push toward reactions visibility read more)
A routing issue remains under investigation: suggested-topic links to nested topics don’t work, and Falco dropped a concise pointer to an error location (“nested routes/nested.js:47”) to help debugging — read more
Billing/analytics terminology tripped people up: in “Site traffic report”?, Bas clarified that most customers have migrated to the new pageviews-based billing, while some haven’t, and invited admins to reach out if they want to switch — read more
An activitypub admin asked for a public, unauthenticated page listing federated category handles (rather than the current admin-only actor list), to make federation addresses easier to publish externally — read more
An admin troubleshooting email delivery asked about disabling local accounts; the thread evolved into a practical SMTP config review, including the discovery that curly quotes in YAML can break settings, and pointers to Discourse ID as an alternative auth path — read more (Discourse ID reference read more)
Doc navigation regressions/side effects: chapoi shared a workaround to recover TOC/timeline behavior in docs by expanding comments via “show N comment(s)”, and flagged it as potentially unintentional — read more
martin outlined the rationale and rollout approach for enabling reactions by default (with eventual opt-out still available), and answered follow-ups about longer-term plans to unify likes/reactions/boosts — read more, read more
Falco engaged on performance/media handling tradeoffs in client-side image optimizations, discussing why “always WebP + lots of settings” is non-trivial — read more; and also dropped a debugging breadcrumb on a nested replies routing error — read more
david posted a key platform update: legacy mobile mode removed as part of ongoing mobile/desktop switching improvements — read more
Bas clarified confusion around the site traffic report / billing pageviews transition, noting most customers are already on the newer model — read more
rishabh announced that GitHub PR oneboxes now show live PR status, expanding the usefulness of oneboxed development links — read more
HAWK contributed strategic guidance on community growth “breaking points”, recommending processes that help subgroups fragment and operate semi-autonomously — read more
chapoi shared a practical workaround for a docs UX regression: scrolling down and clicking “show N comment(s)” to restore TOC/timeline behavior — read more
sam jumped into triage on a serious self-hosting error (“can’t alloc thread”), steering the conversation toward resource and upgrade-state verification — read more, read more
If yesterday was any indication, Meta’s mood is: ship better oneboxes, ship better images, and soon… let everyone react to everything.
Activity was spread across announcements and support/debug threads, including discussions around the Solved “shared issue” button label (read more), enabling Reactions by default (read more), and multiple nested-replies-related bugfixes (read more, read more).
The new Solved improvements “shared issue” button label (“Me too”) drew accessibility and community-safety feedback: tobiaseigen flagged unintended associations, Lilly described hiding it via script, and lindsey pointed out it’s customizable via Site Text (shared_issue) (read more, read more).
Discourse shared more context on enabling Reactions by default and why rollouts are now less risky—admins can be informed and opt out more easily than in the past (read more).
A user asked if individuals can opt out of the leaderboard; HAWK explained there’s no self-serve opt-out (admins can exclude via workaround), and suggested simply avoiding the leaderboard page (read more, read more).
A self-hosting setup thread dug into what happens if local logins are disabled, with troubleshooting around SMTP ports (noting DigitalOcean blocks 587, so 2525 may be needed) and config correctness; supermathie recommended rake emails:test for immediate error visibility (read more, read more, plus the referenced email guide: read more).
Browser compatibility came up again: a report claimed Discourse does not support UXP-based browsers (e.g. Pale Moon). Lilly linked to the official supported browser policy and prior discussion, while david suggested checking the dev console for failed feature detections; a “lighter UI” workaround plugin was also suggested (read more, read more, read more; related: read more, read more).
“View counts do not work on one topic” ended with the OP saying it resolved itself; NateDhaliwal followed up asking what actually fixed it (rebuild? customization?) to help future debugging (read more, read more).
A compatibility issue surfaced when nested replies and post voting are both enabled; markvanlan proposed explicitly skipping/disabling post-voting logic for nested topics (treating them as incompatible), while others debated whether proper support would be better UX (read more, read more).
A bug where a suggested topics link to a nested topic didn’t work got a fix PR linked by markvanlan, though follow-up reports noted “unread” indicator oddities after the suggested-topic entry disappeared (read more, read more).
The discourse-user-card-directory plugin hit an infinite scroll regression (“can’t access property loadMore”); awesomerobot shipped a fix and asked for confirmation after updating (read more).
Topic voting edge case: users couldn’t view who voted once a topic was closed; zogstrip linked the fix PR (read more).
User approval tooling: an approval button on a user profile didn’t work in some edge cases; zogstrip posted a PR intended to catch the problematic scenarios, and the thread cross-referenced older approval-notification issues (read more, related: read more, and the edge-case mention: read more).
Mobile/PWA composer issue: the Reply button wasn’t visible when composing on iOS PWA; a workaround suggested using Voice Control to hide the keyboard, but reporters emphasized this isn’t viable for most users and the PWA should behave like Safari (read more, read more).
A French-language composer report showed “smart typography” side effects: typing apostrophes/quotes could be replaced unexpectedly (e.g. j'ai → j>ai). renato identified this as typographer replacement behavior tied to markdown_typographer_quotation_marks, and suggested disabling enable_markdown_typographer or changing the quotation marks setting (read more, read more).
AI translation formatting: LLMs sometimes turned Markdown quote markers (>) into 0, breaking quote formatting during translation workflows (read more).
Infrastructure debugging: after upgrading to 2026.4.1, a host saw “can’t alloc thread”; troubleshooting focused on cgroup PID ceilings and resource limits, and a rebuild appeared to resolve the immediate issue (read more, read more).
A crawler middleware error (“Document tree depth limit exceeded”) was reported as still happening despite being fixed previously; the thread points to needing specific commits (or updating to a release containing them) to fully address it (read more, with earlier context linked in-thread: read more).
#Feature
A request proposed adding webhook/event support for Discourse AI artifact key-value updates so automations (e.g. n8n) can react to artifact changes without polling; staff noted it may align with upcoming automation/workflow direction, and there was interest in server-side scoped webhooks (read more, read more).
#Praise
A long-form community post celebrated a multi-site install success and described pushing hardware limits while replacing a complex Trello workflow for a large moderation team—an extended “Discourse success story” in the wild (read more).
The Developer Guides doc on pinning plugin/theme versions for older installs was updated to document the new d-compat/* strategy, referencing the broader versioning RFC (read more, RFC reference: read more).
The MD Topic List Mobile theme component thread flagged a new deprecation notice around checking site.mobileView / site.desktopView during initialization; testing suggested it still works but needs a future-safe adjustment, pointing to the deprecation reference topic (read more, related context: read more, deprecation reference: read more).
markvanlan focused on nested replies compatibility: proposing post-voting plugin guards/incompatibility for nested topics (read more) and linking a fix for broken suggested-topic links into nested threads (read more).
HAWK handled support expectations around gamification, clarifying that users can’t self-opt-out of leaderboards (aside from not visiting the page), while admins can use workarounds to exclude accounts (read more, read more).
zogstrip shipped/linked multiple bugfix PRs: fixing “who voted” visibility for closed topic-voting topics (read more), addressing profile approval-button edge cases (read more), and confirming a fix for incorrect approval notifications (read more).
Falco engaged across product and support edges: responding to nested replies vs post-voting overlap (with related PR context) (read more), advising on embedding Discourse as a fuller comment experience (read more), and setting expectations that AI artifact webhooks may be better revisited alongside forthcoming automation/workflow improvements (read more).
david updated documentation and helped debug browser compatibility: publishing the d-compat/* strategy update in Developer Guides (read more) and suggesting checking dev-console feature detection failures for UXP browsers (read more).
awesomerobot confirmed and deployed a fix for the plugin bug that broke infinite scroll (“loadMore”), pointing to the patch and asking for follow-up if issues persist after updating (read more).
lindsey clarified that the “Me too” / shared-issue label is customizable via Site Text (shared_issue), offering a practical mitigation for communities that find the default label loaded or problematic (read more).
martin provided rollout rationale for enabling Reactions by default, noting the team’s improved ability to communicate changes and allow opt-outs safely (read more).
renato diagnosed the French composer “apostrophe becomes >” behavior as typographer replacement settings, and outlined immediate admin workarounds while noting the experience could be improved (read more).
supermathie added a practical self-hosting debug tip: use rake emails:test during SMTP/email setup to surface configuration errors instantly, referencing the standard troubleshooting guide (read more, guide: read more).
Yesterday’s Meta vibe: if you managed to dodge the leaderboard while chasing down “Me too” labels, nested-reply quirks, and runaway PIDs, you basically did the Discourse obstacle course on hard mode.
More threads with fresh replies (quick links): the blog companion discussion for the month’s Discover picks landed in the feed (read more), the long-running #Feature discussion about category-level auto-delete got a new “Workflows can solve this cleanly” note (read more), and there were also new replies across #Plugin and Support staples like Gamification (read more) and OpenID Connect (read more).
Interesting Topics
#Self-hosting
abeen asked for real-world experiences choosing Vultr vs DigitalOcean—with SMTP/blocked-port pain as the underlying blocker—prompting comparisons and a reminder that email setup is often the hardest part of any install (read more). The discussion also cross-referenced earlier troubleshooting around signup/login constraints when email isn’t configured (read more) and pointed back to classic “new install email troubleshooting” guidance (read more).
A new admin hit a snag where setup failed to auto-register with Discourse ID due to an HTTPS redirect/URI requirement, then got unstuck by creating an admin via CLI (rake admin:create) and enabling the right settings (read more). The key clue came from checking site logs and seeing Redirect URI must use HTTPS (read more).
“Phantom” unread counters: Orioni reported Unread (14) in the nav while /unread showed nothing, even in safe mode—suggesting a tracking/state mismatch rather than theme/plugin behavior (read more). chapoi confirmed the team is aware and actively working on it (read more), and the thread hints that changing category visibility/permissions can be a trigger (read more).
On the nested replies + post voting combo, markvanlan noted they’re disabling post voting for nested replies for now, with a longer-term idea to build voting inside nested replies as a better fit (read more).
Bulk channel provisioning got easier: ARK-Helena needed an API way to create Chat channels (at scale), and chapoi pointed to POST /chat/api/channels as the missing endpoint; OP followed up with a working parameter example (notably chatable_id) (read more).
A hidden-but-real admin UX change: impersonation now shows a 15-minute timer, and the answer was a hidden setting experimental_impersonation_time_limit_minutes, adjustable only via Rails console (read more). The thread also linked to the broader “how hidden site settings work” guide (read more) and a quick snippet for changing the value (read more).
“How do I make a landing page for just one class of groups?”: Ric wanted a way to showcase “Communities of Practice” without mixing in other operational groups, and Lilly pointed to the Landing Pages plugin as a likely solution (read more). The suggested starting point was the landing-pages plugin topic itself (read more).
A tricky access-control edge case: Leaderboard asked how to disable registrations while still allowing invite links to add existing users to private groups—especially in an SSO context (read more).
Two smaller support wins also closed the loop quickly: ActivityPub handle discovery (“where’s the list of current handles?”) was resolved by finding it on /ap/about (read more), and the “Discourse doesn’t support UXP/Pale Moon forks” thread saw follow-up that the reporter would investigate further (read more).
#Feature
A thoughtful security/usability debate: jdc20181 proposed letting admins edit user emails even when “Edit email after signup” is disabled, ideally with high-friction safeguards (sudo-mode, password/2FA prompts, logging) so staff can help without temporarily opening email edits for everyone (read more). Lilly pushed back on security grounds, then shifted toward the idea of a deliberate “sudo”-style confirmation flow if it’s ever implemented (read more).
Translation controls evolved: in the ongoing request to limit topic translation by category, pmusaraj explained a technical change that preserves the feature via an ai_translation_excluded_categories setting—shifting from “only translate in selected categories” to “translate by default, exclude some categories” (read more). Related translation/email behavior questions continue in the “translated posts in emails” feature topic (read more).
#Announcements
The May 2026 monthly release announcement dropped, pointing everyone to the v2026.5 changelog (read more). (It also came up as something admins hoped might fix the phantom unread issue—though it didn’t in that case) (read more).
Doc categories continue to get real-world feedback: in the “simple mode for doc categories” announcement thread, Moin noted that posting the first comment felt confusing because the reply wasn’t visible, suggesting auto-unhide after publishing (read more).
#Theme-component
The Announcement Bar component received a solid maintenance pass: manuel detailed updates including localized strings, a new localStorage-based dismiss behavior that naturally resets when the bar text changes, and cleaner responsive layout + BEM classes for easier customization (read more).
#Plugin
Gamification extensibility came up again: jdc20181 asked about awarding points for external or custom events (e.g., redemption codes, broader ecosystem integrations), and Falco pointed to the existing “redeem and award points” integration guide (read more). That guide lives here (read more), and the related “Points Mall” plugin mention was also referenced as a real use-case driver (read more).
The May Discourse Discover roundup companion topic went live, highlighting communities “building in public” and sharing hard-won knowledge (read more).
The retention webinar thread got a tidy follow-up: Danielle posted the relay/recap so folks can catch up asynchronously (read more).
chapoi confirmed the team is actively investigating the phantom unread counter bug and shared that internal annoyance is high—because it’s biting everyone (read more).
chapoi also unblocked an API automation workflow by pointing to the Chat channel creation endpoint (POST /chat/api/channels), getting the question marked solved (read more).
loic published the May 2026 monthly release announcement, linking to the official changelog for v2026.5 (read more).
manuel shipped a set of practical improvements to the Announcement Bar theme component (i18n-ready strings, localStorage dismiss, responsive layout, BEM classes) and documented them clearly in the component thread (read more).
pmusaraj clarified that category-scoped translation is still supported (now via ai_translation_excluded_categories) after a recent technical change, and invited reports if any migrations/settings behave unexpectedly (read more).
pmusaraj also continued the investigation into translated content in user-language emails, requesting examples/screenshots for edge-case “custom remarks” translations and reiterating it’s on the roadmap (no timeline yet) (read more).
Danielle followed through on community education by posting the webinar recap in the retention event topic (read more).
Falco kept the #Self-hosting AI thread moving by confirming the Sentiment/Emotion module for DiscourseAI was added and should roll out to the requester soon (read more).
Falco also responded to Gamification feature ideas by linking to an existing approach for awarding/redeeming points via external systems (read more).
markvanlan provided a practical mitigation for a #Bug:disable post voting inside nested replies for now, while considering a purpose-built voting mechanic for that UI in the future (read more).
sam revived a classic #Feature request thread by pointing out that Discourse Workflows should make category-level auto-delete timers cleanly solvable (read more).
If yesterday taught us anything, it’s this: may your SMTP ports be open, your YAML be perfectly indented, and your “Unread (14)” never again be a ghost story.
A lot of the day’s momentum clustered around product/news threads—especially the core build-system overhaul (read more) and a notifications-quality change around “small actions” (read more)—plus several fast-moving fixes landing via PRs in UX/support discussions (e.g. read more, read more, read more).
david introduced a new JavaScript build system for Discourse core (dev-news), moving from ember-cli/webpack to rolldown and native ES Modules, with a claim of ~80% faster dev builds (read more). The announcement emphasizes backwards compatibility and notes self-hosters should continue relying on precompiled assets (read more).
#Announcements
sam announced that “small action” posts (closures, assignments, timer autocloses, etc.) will no longer be included in Watched/Tracked lists, reducing “administrivia” notifications—with no optional toggle due to how topic counters are stored (read more). This also intersects with reports of “phantom” unread counts (see bug below: read more).
awesomerobot shipped a much smoother event creation flow in the Calendar and Events plugin (calendar-and-events), adding an interactive editor directly in the composer (plus clearer RSVP/attendance options) (read more). Background context lives in the main plugin thread (read more).
rishabh posted Current Projects – May 2026 (current-projects), summarizing recently finished improvements—especially around Topic Voting and events setup—while inviting questions and feedback (read more). The post links out to the Topic Voting plugin hub (read more) and recent voting improvements like “hot” sorting and badges (read more, read more), plus easier events category setup (read more).
Ongoing feedback on nested replies (nested-replies) included a sharp field report from Eviepayne describing a difficult pilot (theme incompatibilities, endpoint/link issues, and a rollback) and requests for stronger warnings before enabling (read more). Related testing chatter continues in the dedicated testing category too (read more).
darkpixlz reported that creating a request-only group with no owner produces an unhelpful generic “FAILED” message; ted investigated and drafted a PR to return a proper backend validation message, noting also some edge cases where front-end guards can be bypassed (read more, read more). The thread also references an older related error message discussion for comparison (read more).
A cosmetic regression: keyboard shortcut modal keys appeared misaligned; chapoi identified likely legacy margin and linked a fix PR (fixed) (read more, read more).
#Feature
dfabulich requested making “Sign Up” easier to find on mobile, proposing menu placement and/or a setting to prioritize Sign Up vs Log In; the discussion quickly connected to a theme-component workaround (“combined auth button”) and practical constraints like logo/header width (read more, read more). The thread culminated in a PR link for upstream consideration (read more).
JuliusRa asked how to create structured, marketplace-style product listings when Form Templates output is too linear to reflow into a true two-column “card”; chapoi suggested topic-list approaches for catalog browsing and noted that true post-structure control likely needs custom theme work (read more, read more). The replies name-check Topic List Thumbnails (read more) and Topic Cards (read more) as adjacent tools (mostly for lists, not post bodies).
A Form Templates edge case: Parker1090 found a tag-group selector that renders but won’t select; zogstrip reproduced it and traced it to mixed-case tag names, shipping a PR to fix (form-templates) (read more, read more).
“Unread (14) but /unread is empty”: Lilly shared a Rails/SQL script that force-resets unread state site-wide (with caveats), and sam later pointed to the “small actions” rollout as the real fix for phantom unreads (read more, read more; rollout context: read more).
In reactions, small-lovely-cat reported a 403/infinite loading loop when clicking a reaction counter on a hidden post (backend blocks it, but frontend still renders the counter), and proposed a frontend guard to hide the counter when the viewer can’t see hidden posts (read more).
A self-hosted upgrade failure: glob-canard.4x hit db:seed_fu blowing up on 002_groups.rb with “Name has already been taken” while creating new system groups (IDs 4/5). They documented a manual workaround by inserting the groups without validation and then re-running the task (read more).
#Self-hosting
In a continued hosting comparison thread, abeen weighed Vultr vs DigitalOcean while chasing a Let’s Encrypt/cert download problem, and Lilly pushed for slowing down and debugging the install rather than “host hopping,” with practical guidance and expectations-setting around latency vs real-world performance (read more, read more). Related debugging continued in the “local logins disabled” support topic (read more).
#Theme
Feedback on the official Horizon theme (horizon-theme): matt_k_bcn reported that category badges on topic listing pages can distract from titles; Lilly supplied a CSS approach (border vs background), and chapoi folded the feedback into the canonical Horizon theme thread to consolidate signals (read more, read more, read more).
david kicked off the core modernization work by announcing the new JS build pipeline (rolldown + native ESM) in development (dev-news), setting expectations about compatibility and self-hosting impact (read more).
sam announced the platform change to stop tracking/watching “small action” posts in #Announcements and later connected it directly to the “phantom unread” issue many admins have seen (read more, read more).
awesomerobot shipped a UX win for community managers by unveiling the in-composer interactive event editor in the Calendar and Events plugin (calendar-and-events) (read more).
rishabh published the May edition of the “Current Projects” newsletter (current-projects), tying together multiple recent improvements (including voting + events setup) into one roadmap-oriented update (read more).
chapoi helped triage and route multiple threads: consolidating Horizon theme feedback into the main theme topic (read more), confirming and pushing a fix direction for keyboard shortcut modal spacing (fixed) (read more), and clarifying feasibility around deeper post-layout customization requests (read more).
zogstrip reproduced and resolved the Form Templates tag selector bug by identifying mixed-case tag naming as the trigger, then linking to a fix PR (form-templates) (read more).
Danielle followed up in events to confirm a webinar recap was posted after a nudge, closing the loop for folks waiting on the write-up (read more).
markvanlan noted that a suggested nested-replies testing idea had effectively been implemented, acknowledging community input in the testing area (read more).
manuel responded to feedback/support requests on the Featured Topics theme component, clarifying what can be debugged (concrete errors) vs what can’t (compatibility with unknown site-specific code) (read more).
That’s a wrap—may your dev builds be ~80% faster and your notification feeds blissfully free of “topic closed” administrivia (read more, read more).
One notable thread running through the day: small UX choices can have big “mental model” consequences, especially in the ongoing nested-replies debate (read more).
#nested-replies: The discussion around admin-controlled vs user-controlled nested view continued, with bksubhuti asking why it can’t be a personal preference and chapoi outlining why divergent views break shared conversational reference points in Introducing nested replies (and continuing the engagement-vs-communication angle read more).
aicomposer#ai-bot: Users pushed back on “chat-like” ergonomics for longer AI interactions, noting that AI conversations often need paragraphs and code blocks; one admin also flagged image-upload regressions and reverted the setting in Introducing a docked composer for AI bot conversations (with the original preference request in the same thread read more).
solved#categories: A suggestion emerged to make “support categories” optionally private—nudging Discourse closer to a lightweight ticketing flow—while translation nuance (“Support” shouldn’t become “Soutenir” in this context) was raised in Easily create Support categories using the discourse-solved plugin (translation note read more).
Disk space + rebuild failures: A self-host running on a 25GB VM hit rebuild failures and surfaced unusually large Docker/container storage directories, kicking off practical cleanup guidance (starting with ./launcher cleanup) in Running out of space - Docker image is large? (first troubleshooting reply read more).
accessibilityux (JAWS): A real-world screen reader workflow issue came up: JAWS shortcut modes can swallow Discourse shortcuts, and category/subcategory navigation may become an “all-in-one-string” readout. The thread explores toggling virtual cursor mode and clarifying where the category UI breaks down in JAWS screen reader, Discourse and Shortcuts (original report read more).
Category visibility + “Latest” suppression: A support exchange clarified differences between muting vs suppressing categories and pointed admins toward the supported suppression plugin path, plus how to confirm what’s preinstalled vs manually added in Exclude category from latest. The thread also links back to historical context in Suppress category from latest topics gone and a separate “how-to-hide-from Latest” pointer in Hide category from Latest list.
Browser compatibility troubleshooting: A user-facing “unsupported browser” banner prompted standard debugging steps (console, cache/cookies, hard refresh) and follow-up questions about which browser is in use in Unfortunately, your browser is unsupported (browser question read more).
nested-replies + suggested/related links: In nested topics, link targets and redirects were discussed: markvanlan confirmed the link format changed and noted a redirect should exist so flat-view links don’t 404 in Link to nested topic in my suggested topics doesn’t work. The same thread also documents a UX change where unread counts aren’t shown for nested topics (and a potential “missing indicator dot” bug) read more.
Chat image URL rewriting for S3/R2-style storage: A practical fix was shared via a theme component update to handle domain rewriting for thumbnails across S3-compatible providers (including Cloudflare R2), with implementation details in Cloudflare R2 Image URL Display Issue: Detailed Explanation and Fix.
#Feature
Mobile onboarding UX (“Sign Up” discoverability): A question was raised about whether a proposed sign-up link would appear in the “customize community section” modal like other links—so admins can remove it if desired—in Make it easier to find “Sign Up” on mobile.
Hosted backups vs site-level restores (expectations reset): A clarification was added that certain backups are intended for cluster disaster recovery rather than customer-requested point-in-time site restores; admins needing a full backup including uploads are directed to contact support through proper channels in Create, download, and restore a backup of your Discourse database.
chapoi expanded the case against per-user nested/linear toggles, arguing that shared content requires a shared structure or you lose reliable conversational reference points in Introducing nested replies, then sharpened the value tradeoff with “Does engagement trump good communication?” read more.
markvanlan confirmed updated linking for nested topics and flagged a redirect gap so flat-view URLs don’t 404 in Link to nested topic in my suggested topics doesn’t work, then explained why unread counts aren’t displayed the same way for nested topics (while acknowledging the missing unread indicator may itself be a bug) read more.
awesomerobot provided concrete JAWS guidance: screenreaders can capture keys in virtual cursor mode, so Discourse shortcuts won’t fire until that mode is toggled off; they also asked for specifics on where subcategory selection becomes inaccessible in JAWS screen reader, Discourse and Shortcuts.
If yesterday taught us anything, it’s this: keep your conversations coherently nested, your rebuild disks roomy, and your keyboard shortcuts not hijacked by screen readers.
RGJ suggested Snapblocks might be better delivered as a theme component (given there’s no server-side logic), highlighting admin ergonomics (no rebuilds) and hosted-plan constraints; ego-lay_atman-bay explained why they hooked the parser and wanted global enablement, and NateDhaliwal even offered to take a crack at converting it. read more (context: parser rationale, conversion offer read more)
The Geo Blocking plugin appears impacted by a core update; LotusJeff flagged it, and RGJ replied that it’s already resolved and tied it to a specific upstream core change. read more (resolution note: read more)
Discourse Category Lockdown maintainers/users are seeing a deprecation warning about legacy .hbs connectors and the shift toward .gjs, with a pointer to the deprecation info topic. read more (deprecation reference: read more)
#Site feedback
A guide on creating bug reports has dead category links after the redesign moved “Bug” into a subcategory; NateDhaliwal recommended using category URLs that include IDs for stability, while Moin argued for stronger permalink/redirect behavior when categories move. read more (edit suggestion: read more, permalink discussion: read more)
The broken guide being referenced is here: read more
#Feature
The ongoing discussion on making “Sign Up” easier to find on mobile weighed common patterns (lead with login vs blended entry) and explored UI alternatives; Lilly shared a CSS-based sidebar link approach for mobile anon users, but Jagster pushed back that the sidebar/hamburger itself is the discoverability bottleneck. read more (CSS snippet: read more, UX critique: read more)
A Chinese-language request asked for Discourse AI prompts to support localized (Chinese) system prompts—noting summaries/titles/PM summaries often default to English—raising broader ai + localization expectations. read more (additional anecdotal variability: read more)
A long-standing request to add a custom page alongside About/FAQ/ToS/Privacy got a fresh 2026 bump: Luna_Mora described using the “FAQ URL trick” as a workaround, but argued the built-in page-area navigation is materially better UX when you want users to stay on-site. read more
A self-hoster asked whether they were running out of space due to large Docker images; Ed_S recommended doing a cleanup and shared an example cleanup sequence (and what it did/didn’t reclaim). read more
A report of an endless spinner when viewing topics surfaced as category-specific (only in a Staff category), with a console error involving name_key; the reporter linked it to a similar earlier case for comparison. read more (related earlier thread: read more)
After a rebuild to 2026.6.0-latest, a math-heavy user reported occasionally cropped delimiters on iOS portrait (PWA), shared a reproduction video, and noted it wasn’t consistently reproducible across subsequent sessions—suggesting either an intermittent regression or rendering edge case. read more
A long-running issue where a notification claims X users need approval but none are found got more scrutiny: Ed_S worried a recent fix might treat symptoms rather than the root cause, emphasizing the need for the review queue to actually surface the unapproved user. read more (referenced edge-case discussion: read more)
A fresh report says the “Unread” tab isn’t listing all threads with unread messages, with screenshots comparing Latest vs Unread and noting it’s reproducible across multiple hosted sites—risking missed replies for users who rely on Unread as their primary workflow. read more
A prior MathJax error (Undefined control sequence \textcolor) appears resolved after upgrading MathJax; the reporter confirmed the improvement and pointed to the MathJax v4 upgrade effort as relevant context. read more (upgrade thread reference: read more)
A plugin author reported GitHub Actions failing a newer CI step (“Check SKIP_DB_AND_REDIS bootability”), and shared the culprit pattern: constants that touch ActiveRecord at boot time (e.g. Reward.attribute_names...) can break the check; they asked for better ways to reproduce locally with actionable stack traces. read more
awesomerobot participated in the mobile onboarding UX debate, arguing Discourse isn’t out-of-step with common patterns (many sites lead with Log In), and floated a preferred “single entry point” flow (ask for email first, then branch based on account existence), while acknowledging tradeoffs. read more
Yesterday, Meta wrestled with “where did that category link go?”, “why is Unread lying to me?”, and “can we please make Sign Up obvious”—so may your links stay permalinked, your unread counts stay honest, and your hamburger menus reveal their secrets on the first tap.
Lilly reported that chat thumbnails bypass s3_cdn_url and leak raw bucket URLs, breaking thumbnails for secure S3-compatible storage (e.g. Cloudflare R2) (read more). sam noted some site-move fallout and rebaked assets to address broken oneboxes in the same timeframe (read more); related Cloudflare R2 upload URL behavior: read more.
Multiple reports converged on Unread count / Unread tab inconsistencies: a new report about /unread not listing unread threads was closed as a duplicate (read more) of the broader “Unread (14) but empty” discussion (read more). The thread also ties the symptoms to “small actions” tracking changes (read more) and includes additional confirmations from other communities (read more).
A regression in the topic-cards plugin caused topic-card likes to break after a linting update; RGJ identified removed/changed getters and linked a PR (read more), which david merged quickly (read more).
During upgrades, db:seed_fu failed on 002_groups.rb with “Name has already been taken”; martin investigated why a migration didn’t resolve a user/group namespace conflict (read more), and followed up with a PR to reduce clashes and align with upcoming permission changes (read more). Related roadmap context: granular permissions for anonymous/logged-in users (read more).
An iOS PWA composer issue where the Reply button wasn’t visible got a practical next step: olivia advised rebuilding the app container to pick up fixes so the composer resizes correctly (read more).
A long-standing client-sync edge case resurfaced: moving a post between topics doesn’t load the moved post on existing clients until refresh, creating confusing “reply to something you can’t see yet” sequences (read more).
A self-hosted admin troubleshooting disk usage and large Docker images shared du output showing heavy vendor/bundle snapshots and journal growth (read more). Responses covered journald vacuuming and ./launcher cleanup behavior (read more), plus confirmation that keeping multiple base images is usually unnecessary (read more).
A report of “Unfortunately, your browser is unsupported” appearing on a forum homepage (but not on direct topic links) included console errors and CDN-hosted asset references (read more). Troubleshooting suggestions ranged from trying a VPN to adjusting MTU as a workaround (read more), while others tested current Firefox/Ubuntu combos without reproducing (read more).
A site owner found their forum logo wasn’t showing; the fix ended up being enabling “force HTTPS” in admin settings (read more), after initial attempts to reproduce and verify branding settings (read more).
A question about a dismissible UI box turned into a quick clarification: it’s a private theme component used by the Discourse team, not a public plugin (read more). For similar patterns, Meta’s dismissible banner discussion remains a useful reference (read more).
The PhotoSwipe/lightbox UI drew attention after a change from text to icons: a user reported new overlay icons visually colliding with screenshot content and asked about settings/toggles (read more).
A new support topic asked why homepage topic link fonts shrank without theme/CSS changes, suspecting a core update around ~May 21 (read more).
#Feature
A self-hosting quality-of-life request: accept paste input during installation, because manually typing long secrets (with no feedback) is error-prone (read more). Follow-up clarified this is about the installer (not signup), and discussion explored alternatives (e.g. shorter passwords vs long keys) (read more).
Questions on Discourse AI Sentiment dashboard classification covered how sentiment is assigned and whether it can be expanded/customized. The discussion pointed to the AI plugin docs and to backfill controls such as ai_sentiment_backfill_post_max_age_days (read more), with the canonical feature overview here (read more).
#Plugin
The experimental Discourse Suggested Edits plugin hit an initializer ordering/race: attempting to modify service:composer after it’s initialized triggered an error; Lilly diagnosed the order-of-operations issue and opened a PR (read more). sam suggested it may need moving into a pre-initializer (read more).
#Developer Guides
A documentation nit turned into a process question: the long-running Fedora dev setup guide still says “This is not an official guide”—and NateDhaliwal asked whether that disclaimer should be removed (read more). (Related dev docs question: using Markdown extensions from a theme component vs plugin-only (read more).)
sam helped connect multiple “unread” reports, explaining that the issue is linked to suppressed “small actions” tracking and that the implementation is “only halfway there” (read more). He also closed a newer duplicate report to keep investigation centralized (read more), and responded on the Suggested Edits plugin thread that the fix may require a pre-initializer (read more). Additionally, sam rebaked content amid site-move hiccups noted in the chat thumbnail bug report (read more).
martin investigated why an intended migration didn’t prevent seed_fu group-name clashes, questioned the order of running migrations vs seed tasks (read more), and followed through with a PR intended to fix current clashes and align with upcoming permission logic (read more).
david merged the fix for broken likes in topic cards shortly after the report and PR were posted (read more), restoring expected behavior for the topic-cards integration (read more).
olivia provided a direct mitigation for iOS PWA composer issues: rebuild the app container to pick up resizing fixes, which should restore access to the Reply button while composing (read more).
After a day of phantom unreads, speedy PR merges, and Docker layers getting a much-needed cleanup, may your /unread be fully populated and your thumbnails always take the CDN route.
New topics (last 24h): 10 — including the new composer actions dropdown alpha (read more), an Enterprise Discourse AI getting-started guide (read more), and questions about spam-resistant signups on hosted plans (read more).
Helped troubleshoot signup spam mitigations and plan limitations in Support (read more) and offered CSS/component ideas for permission-driven UI in ux (read more)
Started the discussion on adding signup challenges to reduce spam registrations on hosted plans (read more)
Interesting Topics
#Announcements
New composer “Post Type” actions dropdown (alpha):jordan.vidrine introduced a redesigned composer actions menu behind enable_new_composer_actions, unifying mode switching (reply/PM/etc.) and moving toggles (whisper/no-bump/unlist) into the same dropdown for a more consistent workflow (read more).
Embedding permissions: public readers, private commenters: a question in the embedding announcement clarified that embedded comment topics can remain public/visible, while still requiring forum membership to participate—all permission models still apply (read more).
Nested replies and SEO sanity check: discussion continued around nested replies (nested-replies), including a practical investigation of /n/ routes, canonical behavior, and crawler rendering—concluding indexing shouldn’t regress for bots (read more).
Mobile event creation UX feedback: new feedback on the improved Events flow (calendar-and-events) highlighted pain points on phones—character limits, keyboard overlap, and discoverability of the add-event affordance (read more).
Stopping spam registrations without custom plugins:spdegabrielle asked about adding a “questionnaire” to signup (spamsignup), but replies noted bots can bypass the UI via API; suggested mitigations included Discourse AI spam detection plus “during-attack” playbooks (read more; also see read more, read more, read more).
Homepage topic list font unexpectedly shrinking: a solved report tied smaller typography to enabling the upcoming change Modernize Foundation theme, with guidance to toggle it off and discussion about using rem vs em to avoid unintended size reductions (read more; background: read more, related chatter: read more).
Collapsible/nested sidebar links for Groups: a request asked whether group links can be nested under a single “Groups” parent item (collapsed by default) rather than listing many group links flat in the sidebar (sidebar) (read more).
Meta forcing Discourse login in the iOS app: a report described Meta appearing in Discourse Hub and then prompting for a Discourse login even though the account uses Google auth in the browser (discourse-hubioslogin) (read more).
Placing small banner ads: a support thread explored ad placement constraints and pointed to the long-running Advertising plugin thread as the closest fit (e.g., “Topic List Top”) (read more; plugin reference: read more).
#Self-hosting
Adding a homepage banner with #horizon-theme: a request asked (in Russian) for a simple way to add a banner on the homepage; replies pointed to Versatile Banner and noted compatibility caveats with Horizon’s plugin outlets and the core welcome banner feature (read more; references: read more, read more, read more).
“New Topic” button shown even where users can’t post: a UX discussion debated whether Discourse should hide/disable “New Topic” in read-only categories; staff reiterated the intent is to allow opening the composer (so users can post elsewhere while referencing what they were viewing), while others suggested warnings/CSS-based approaches (read more).
Invalid HTML in topic-cards: stray <td> after glimmerization: a bug report noted a glimmer refactor introduced <td> elements in non-table contexts; the proposed fix adds a table wrapper and connectors to keep icons correct while maintaining accessibility (read more).
Rich-text editor turns apostrophes into > on AZERTY (French): a report described an apostrophe input issue in the rich text composer (but not Markdown), with a pointer to an existing related discussion for context (read more; related: read more).
Calendar event creation triggers immediate “Discard draft?” prompt: in the long-running Calendar/Events plugin topic (officialcalendar-and-eventsincluded-in-core), clicking a date to create an event opens the composer but immediately asks to discard—suggesting an unintended “dirty state” is being set (read more).
Unread counter mismatch: unread badge shows items but /unread is empty: staff confirmed a fix is in progress and asked affected admins to hold tight until the patch lands, then re-check for lingering edge cases (read more).
#Enterprise
Discourse AI Enterprise getting-started guide (first iteration):fsasaki shared an initial Enterprise-focused guide explaining Discourse AI’s modular toggles, defaults, and visibility/data-handling considerations—inviting feedback to shape future revisions (read more).
jordan.vidrine shipped an early look at a composer UX overhaul: a unified actions dropdown plus integrated toggles, behind enable_new_composer_actions for opt-in testing (read more).
sam confirmed that the “small post actions” behavior change applies broadly—including unlist/list actions—answering a direct question in the announcement thread (read more).
sam also posted a quick status update on the unread mismatch bug, noting a fix was being worked on and asking for patience before deeper debugging (read more).
chapoi responded to concerns about the “New Topic” button appearing in categories without create permission, explaining why Discourse intentionally still allows opening the composer (and moved the thread to ux for broader discussion) (read more).
chapoi helped resolve a Support case where homepage link fonts appeared smaller, tying it to the Modernize Foundation theme upcoming change and guiding the admin to disable it to confirm the cause (read more).
HAWK weighed in on structuring product announcements and release notes, recommending categories for content type and tags for product/version, leveraging tag groups and notification levels to keep subscriptions clean (read more).
HAWK also set expectations on meetups: expressed support for community-led gatherings while noting budget/ROI scrutiny, and suggested interest/data gathering as a sensible first step (read more; referenced context: read more).
martin closed the loop on a seed_fu upgrade failure by merging a PR to address group name conflicts during upgrades, with a follow-up request to backport to the 2026.5 release branch (read more).
featheredtoast clarified embedding behavior: embedded comment participation still follows Discourse permission rules—public visibility is possible, while commenting can remain limited to logged-in members (read more).
fsasaki published the first iteration of the Enterprise Discourse AI guide and asked for feedback to iterate on clarity, toggles, and operational details (read more).
Yesterday, Meta managed to simultaneously redesign the composer, wrestle banners into Horizon, and swat at spam—classic “ship features, fix papercuts, and keep communities safe” energy.