A long-standing design concern was addressed this week: Chapoiannounced that a fix for the Delete Category button being more prominent than the Save button has been merged into the core codebase (fixed). read more
#Plugin
Filipesm raised a critical question about the Discourse Translator plugin’s future, asking whether the team will maintain the traditional translation API approach or if users should migrate to an LLM-based translation method via Discourse AI. The concern centers on cost, with Filipesm noting that hosting an LLM is “not super cheap” compared to a dedicated translation API. read more
Tobiaseigen shared a clever workaround for the Discourse Subscriptions plugin, revealing they replicated much of its functionality using Invoice Ninja with PayPal support, using webhooks and a scheduled cron task to keep Discourse in sync. read more
NateDhaliwal contributed a concise note in the Resenha - Voice Rooms thread, clarifying that to use Discord-style voice rooms without an official Discourse plugin, one would need the Enterprise plan or self-host. read more
A technical issue was reported on the ActivityPub Plugin by Trwnh1, who noted that the published datetime on posts sent via ActivityPub is incorrect when using the “Publish all posts” button: it shows the date of the AP resource creation (2026) instead of the original post datetime (2018). read more
TimMOz requested a granular API scope to list all badges (badges, rest-api), noting that currently only a global scope key or disabling “Login Required” allows listing badges. They are building a server to coordinate Discourse groups and badges with CiviCRM and would prefer not to use global scopes. read more
A discussion on the purpose of primary groups (groups) continued, with Canapin pointing out that the “Show that group’s avatar flair by default” setting is key, while Lilly reminded the OP to search Meta first, linking to a detailed explanation of primary group effects. read more
Lilly offered a technical solution for updating URLs inside polls after changing a CDN (polls). They suggested using discourse remap instead of the rake task, which performs a global regex search-and-replace across all database text columns, including poll_options.html. read more
#Site feedback
A long-running thread on missing images at Meta.discourse.org saw new activity: Canapin reported that the :discourse2: emoji is broken on certain Customization > Theme component topics, likely related to a CDN/S3 bucket URL issue discussed in the chat thumbnails thread. Lilly confirmed the emoji needs a remap or rebake, while Darkpixlz fixed one instance but left another for investigation. read more
In the Discourse Gamification thread, Ted kindly responded to a user who had resolved their own 404/MissingAttributeError on the /leaderboard route, saying “No problem! You had an issue and you posted about it. Glad you got it sorted.” (gamification) read more
A follow-up on Error 500 when moving posts saw Thomas_Rother asking whether a fix, likely from the ActivityPub plugin code, would be included in the next build after being bundled with core. read more
So, if yesterday taught us anything, it’s that you can build a subscription system with a little elbow grease and a ninja, but you’ll still need to rebake your emojis to keep them from crying.
Can’t upload to S3 (Cloudflare R2).Darkpixlz encountered a persistent Sorry, but your upload failed error when trying to set up Cloudflare R2 for uploads, despite following the guides. After troubleshooting the configuration—including a needlessly confusing token system—Lilly identified that the wrong API token type (a general token instead of a specific R2 bucket token) was the culprit. David_Ghost also suggested removing trailing slashes from the CDN and endpoint URLs. The issue was resolved after creating the correct token and cleaning up the URL formatting. read more
Any way possible for non-admins granting badges.Anko127 asked if group owners (rather than just admins) could grant badges, to offload work from the admin team on events. HAWK proposed a hacky workaround: create a custom badge configured to be awarded via group membership, then make the non-admin users group managers so they can add/remove members and effectively grant/revoke the badge. read more
Quick question about the “Powered by Discourse” badge.Raadtotheraad noticed the rainbow hover animation on the Discourse footer badge had disappeared on their instance, even though the badge itself was visible. After a discussion involving NateDhaliwal, Andrew_Rowe, and Canapin, the cause was traced to the browser or OS incorrectly reporting touch capabilities to the browser, which causes Discourse to add touch classes to <body>—disabling hover effects. Canapin noted this can happen when a device has been connected to a touch-enabled peripheral, and suggested overriding it with CSS on self-hosted instances. read more
Backend 502/504 Timeout when saving major edits to long posts (~100k words) due to Diff bottleneck.Copymonopoly reported severe backend timeouts (502/504 errors) when saving edits to very long posts where a large portion of content changes. By inspecting Unicorn logs, they confirmed the timeout originates in DiscourseDiff#tokenize_markdown. They suggested a performance fallback: treat extreme edits as a “complete rewrite” to skip the expensive diff calculation, or compute the diff asynchronously after the save. read more
TypeError: can’t access property 0, i.jqXHR.responseJSON.errors is undefined when viewing post edit history. In a related issue from Copymonopoly, clicking the edits indicator to view the edit history of a post throws a frontend JavaScript error, even in Safe Mode. The error stack points to a crash in history.gjs when trying to load the list of revisions. read more
Update URLs inside a poll after changing CDN.Canapin had an issue where baked CDN URLs inside poll options were not updated after running rake 'posts:remap[...]'. Lilly suggested using the built-in discourse remap command, which performs a global regex search-and-replace across all database text columns (including poll_options.html), followed by rake cache:clear to flush the Redis cache. read more
What is the point in primary’s. In a somewhat pointed response, Lilly reminded Raadtotheraad that the concept of primary groups is well-documented, and linked to a comprehensive topic on the subject, gently suggesting more search-first behavior. read more
ArgumentError (Attributes per element limit exceeded) when trying to open the diff of a locked topic.Copymonopoly added a note to this existing bug report, stating they are experiencing a very similar issue triggered by massive edits on extremely long posts (~100k characters), which also causes the backend to timeout (502/504) due to the heavy diff calculation. read more
Discourse Gamification - Getting 404 / MissingAttributeError on /leaderboard route.Ted kindly responded to Glob-Canard.4x, who had initially raised a false alarm but resolved the issue themselves. Ted encouraged the user, stating that reporting potential issues is always welcome. read more
#Feature
Do we want to add a confirmation popup to “Reset bump date”?Haydenjames chimed in that the “reset bump date” feature currently seems to do nothing for them, so they would support adding a confirmation popup to clarify its effect. read more
#Extras
Feedback wanted: userscript to theme component/plugin, or possible core sidebar browsing idea?Heliosurge provided feedback on a user’s idea for a sidebar browsing feature, suggesting that a theme component approach using Tampermonkey would be fine for client-side changes. They also pointed to two existing sidebar-related theme components: Right Sidebar Blocks and Discourse Bars. read more
Free Hosting for Open Source v2.AJHalili2006 asked whether it’s possible to upgrade an existing free discourse.group instance to the Pro for Open-source plan, or if a new instance and manual data import is required. Supermathie advised emailing the Discourse team for applicable options. read more
How I use AI as the co-CEO of a remote company.HAWK contributed to this blog post, expressing curiosity about how others use AI within their organizations or Discourse sites, and whether they encounter internal friction due to varying appetites for AI adoption. read more
#Announcements
Introducing the unified new view for the topic list.Martin acknowledged a bug report and promised a fix for an issue in the new unified view. read more
Star your favorite chat channels for easy access.Jrgong suggested that instead of adding a new “starred” tab (which clutters the UX), the feature could be rebranded as “pinned chats” and pinned channels should simply rise to the top of the list, leveraging an already familiar UX pattern. read more
Tedencouraged a user who had raised a false alarm about the gamification leaderboard route, stating that reporting is always welcome.
Supermathieadvised a user to email the Discourse team regarding upgrading a free hosting instance to the Pro for Open-source plan.
After yesterday’s deep dives into S3 configuration and encoding issues, let’s just say Cloudflare R2 tokens are like socks in the laundry—they always seem to end up in the wrong place.
HAWK shared insights on leading a remote company with AI, touching on the tension between leadership enthusiasm and worker skepticism. Ed_S offered a nuanced perspective on how the benefits and costs of AI often fall in different parts of an organisation, linking to several thought-provoking external reads read more.
Satonotdead is wrestling with integrating internal AI API endpoints (via LiteLLM) into a self-hosted Discourse instance, hitting a SSRFDetector::DisallowedIpError. Falco suggested the DISCOURSE_ALLOWED_INTERNAL_HOSTS env variable, but the issue persists read more.
Copymonopoly reported a critical bottleneck when saving major edits to posts ~100k words long, causing backend 502/504 timeouts due to the diff engine. Sam confirmed a diff_too_complex fallback was added in February, and after upgrading, the crashes appear resolved read more.
David_Ghost noticed avatars taking 3–4 seconds to load after migrating to Cloudflare R2. Lilly diagnosed the likely issue as on-the-fly resizing of missing avatar sizes, recommending a rake avatars:refresh command read more.
Jonathan5 asked about creating a banner post, noting the old option might have been replaced. Awesomerobot clarified it still exists inside the “pin topic” modal, though Jonathan5 encountered a UI bug where the menu option doesn’t update correctly read more.
Prempavee is trying to suppress the install-app PWA popup, preferring a custom branded experience. Awesomerobot pointed to the native_app_install_banner setting and noted the blue banner can be hidden with CSS read more.
Darkpixlz couldn’t upload to S3 (Cloudflare R2) until Lilly spotted the token type was wrong—a general API token was used instead of an R2-specific bucket token read more.
#Feature
LotusJeff made a lighthearted feature request for a date picker in the AI Translate settings field for “backfill max age days,” to avoid mental math for forums with content dating back decades read more.
#Plugin (Discourse Reactions)
Bartv asked if users could one-click an existing reaction to “join in,” similar to Slack/Discord, reducing friction from diving into custom options read more.
RSEhlers reported receiving duplicate notifications—one for a like and one for a reaction—with no separate preference to control them read more.
In a discussion about falling forum activity, Philip_Rhoades observed dropping numbers across a dozen Discourse forums he follows, attributing it to users moving away. Awesomerobot noted the rise of “AIO” (AI optimization) and “GEO” (generative engine optimization) replacing traditional SEO read more.
Copymonopoly also encountered a TypeError crash when viewing post edit history for long posts, which Zogstrip believed was fixed by a recent PR read more.
Paul_King reported that enabling Nested Replies is arbitrarily shuffling related thread replies between topics, particularly for users who reply by email—disabling the feature restores sanity read more.
Sam responded to the post-diff bottleneck issue, confirming the addition of a diff_too_complex fallback to prevent crashes on very large edits read more.
Chapoi also explained that the “Powered by Discourse” badge animation is suppressed on touch devices, and may disappear if a coarse pointer is connected read more.
Awesomerobot helped with multiple support requests:
Pointed to the correct banner post feature in the admin modal read more.
Identified the native_app_install_banner site setting and noted CSS workarounds for the PWA popup read more.
Fixed a bug in the Topic List Thumbnails component read more.
Provided a code example for using type:objects in plugin settings read more.
Yesterday’s activity was a wild ride—spanning diff crashes, AI endpoint mysteries, and a call to “join in” on reactions—proving that even the most technical forums thrive on a little bit of chaos and a lot of community spirit!
Blurred text in topic subscription context menu: Rokejulianlockhartreported that text in the subscription control menu appears blurry in Firefox Nightly despite looking fine in screenshots. Awesomerobotnoted a possible custom font issue and asked if it occurs in safe mode. read more
Cut‑off “Dismiss” button: Canapinpointed out an empty space between the label and chevron icon in the Dismiss button across all themes. read more
Event (calendar) UX issues: Awesomerobotsubmitted two PRs to fix image behaviour and make “advanced mode” toggles more consistent in the calendar events plugin. read more
#Data & reporting
AI Translation Progress Graph not refreshing: LotusJeffasked about refresh rates and missing detail on language‑detection progress. Falcoexplained the caching and the two‑step translation process, and LotusJeffsuggested a simpler aggregate reporting table. read more
#Self-hosting
Mail jobs failing with Nokogiri error: Josip_Meštrović reported a puzzling Unregistered function error in Sidekiq for all mail types. Awesomerobottraced it to an a:visited pseudo‑class in the email CSS style admin page, which Josip_Meštrović confirmed solved the issue. read more
Avatar loading slow after moving to S3‑compatible R2: David_Ghostcontinued troubleshooting after the earlier rake avatars:refresh didn’t help. Lillydiagnosed that Discourse was proxying avatars through /tmp/avatar_proxy instead of using the CDN, likely due to a URL mismatch, and provided remap commands and settings checks. read more
#Plugin
Dumbcourse – old‑browser friendly UI: The plugin sparked discussion when Merefieldquestioned the wisdom of merging it into a larger plugin. Ars18clarified the standalone repo remains available and all features are toggleable. read more
Discourse Translator plugin phased out: Awesomerobotadvised users to switch to the Discourse AI plugin for automatic translation, noting that LibreTranslate costs can be avoided with cheap AI models. NateDhaliwaladded that self‑hosting models via Ollama is also an option. read more
New ModelOC OneBox plugin: Cuo_Wuannounced a plugin that renders rich onebox cards for LLM relay audit reports from ModelOC. Supports Chinese, English, and Japanese. read more
How to make a banner post: Jonathan5found the “Make Banner Topic” option missing. Awesomerobotexplained it’s disabled for categories with group restrictions. Moving the topic to a public category restored the banner. read more
Nested replies broken when enabled: Paul_Kingreported that turning on nested replies caused email‑in replies to appear in wrong topics and made many replies disappear. Markvanlanasked for clarification, and Falcosuggested updating to the latest version as the feature is evolving rapidly. read more
Tracking down the world’s best community builders: Jawestenbergshared a blog post about the loneliness of community building and the value of NPS for ROI. Tedcommented on the irony and shared a personal story. read more
#Feature
Android share target finally working: Falcoconfirmed that the Meta PWA now appears as a share target on Android for images, marking the long‑running request as done. Merefieldtested and found it works for most content except photos from Android 17. read more
SEO: Googlebot view should respect nested replies sort: Newbit1337noted that crawlers still see the flat view even when nested replies default sort is set to “top”. Falcoexplained the flat view is a recent workaround and a proper crawler view for nested replies is not yet a priority. read more
Falco provided in‑depth support on the AI translation graph (caching explanation), helped with internal AI endpoint configuration (IP vs hostname), marked the Android share target feature as done (confirmed working), referenced the share feature in another thread (linked), advised on nested replies update (suggested upgrading), and explained the crawler view default for nested replies (flat view workaround).
Yesterday, an intrepid admin’s a:visited CSS broke all their mail jobs, while another discovered their avatars were secretly being served from a /tmp folder – but at least the blurry text turned out to be just a cheeky custom font!
Willy sparked a spirited discussion on installing plugins without third‑party hosts. Chapoi initially pointed to the standard GitHub‑based guide, but Willy insisted on a local‑only workflow for tiny, one‑off plugins. RGJ and Merefield argued that GitHub is trivial to set up, provides version control, and is the professional standard. Satonotdead raised concerns about GitHub censorship, suggesting alternatives like Codeberg. The thread eventually revealed that many of Willy’s “plugins” could actually be implemented as theme components – an approach Awesomerobot and Merefield demonstrated to be far simpler, using zip uploads or the discourse_theme CLI.
RGJ reported a responsive bug where the “New Topic” button fails to update its label when resizing the browser window between mobile and desktop. Awesomerobot confirmed the issue and quickly pushed a fix.
Ted noted that the “Dismiss ⌄” button appears cut off in certain themes. Chapoi explained the cut‑off is an intended design effect but acknowledged that recent modernisation changes may have broken it, promising to look into it.
Paul_King reported that nested replies were broken on his forum – many replies disappeared when the nested view was active, and toggling the feature sometimes caused 404 errors. Chapoi and Falco advised him to update, which resolved the visible issue, though the update process itself hit a snag due to an old database import reference in app.yml.
Akjgklajg encountered a 500 error when using the Theme Creator. Awesomerobot confirmed the error and said the team will investigate.
Jagster wondered if it is possible to force English for unsupported languages while keeping the site’s default locale as Finnish. Falco confirmed a “fallback locale” feature does not yet exist. Nat explained that if the setting is disabled, untranslated content appears in the original language, and suggested setting the default locale to English if that is the desired fallback.
Small‑lovely‑cat submitted a fix for boosts in reviewables – previously, reported boosts linked to the topic instead of the specific post, making them hard to find. Nat confirmed that Zogstrip has merged the PR.
Roman reported that a recent merge (PR #41124) fixed an interaction between 2 and 3 – the education message now only shows once per typing session, not on every edit.
NateDhaliwal contributed to the Discourse Translator plugin thread by suggesting that users with capable servers can self‑host their own translation models (Gemini or Ollama) to reduce API costs.
Ted responded to a blog post about community builders, pointing out the tragic irony of community builders feeling lonely and sharing his own experience with the Ruby community.
Yesterday, Willy learned that using GitHub for even the smallest plugin takes less than one minute – proving that version control is a bargain, not a burden.
Willy wondered why his Discourse instance kept updating automatically, breaking his custom plugins. Falco clarified that Discourse has no automatic update feature, and the “rebuild” command he ran (./launcher rebuild app) was the cause. After a detailed exchange, Moin explained how to pin a specific version or commit hash via app.yml, though warned against it in production due to missing security fixes. read more
A long-running discussion on installing plugins without a third-party host continued, with Heliosurge and NateDhaliwal suggesting theme components as alternatives for small customizations. Willy expressed frustration that the thread had veered off-topic, but Chapoi noted that some responses had become unnecessarily aggressive. read more
Miednr reported that anonymous visitors were redirected to the login page when categories was the first entry in the top menu setting. Zogstrip could not reproduce, and after some troubleshooting, Miednr found that the issue seemed to resolve temporarily after saving settings. The root cause remains unclear. read more
Gilles asked why Ask Discourse had become less performant recently. Nat revealed the team switched to a local hosted DeepSeek v4 flash model, and Falco explained that Ask Discourse was built for general troubleshooting, not development. He recommended the dv (Discourse Vibe) tool for developers. read more
Singi2016cn sought ways to override a gjs component template and interact with the <PluginOutlet> in the search-menu component. NateDhaliwal suggested using the search service or adding arguments to the outlet via a PR. Singi2016cn later discovered that accessing the search service directly in a connector worked. read more
Fzngagan explained the models powering the Sentiment dashboard (Roberta-based) and how to switch to agent-based classification using site settings. read more
LotusJeff asked why topics are translated faster than posts in the AI Translator. Falco clarified that batch sizes are similar, but topics progress faster due to fewer posts per topic; he suggested adjusting max age or backfill rate. read more
Singi2016cn reported an AI automation that replied 11 times to the same post. Nat suspected a job retry issue and recommended switching from the old automation plugin to the new workflow plugin in an updated Discourse version. read more
#Feature
Prempavee wanted to offload video uploads to an external provider like Mux on the Pro plan. Moin pointed to a YouTube/Vimeo theme component fixed by Arkshine, but noted that custom plugins are not allowed on Pro. Arkshine is exploring solutions, including a plugin version, but acknowledged the hosting restrictions. read more
#Announcements
Davidb announced a new reactions popup in chat, available as an experimental feature under /admin/config/upcoming-changes. The popup shows all users who reacted to a message and allows filtering by reaction type. read more
Zogstrip fixed a long-standing bug where all-day events created via the calendar plugin were not usable by iCal (PR #41203). Nathank confirmed the messy merge resolved the issue. read more
Zogstrip also fixed a bug where events from unlisted topics appeared on the calendar (PR #41194), linking it to a related report by RGJ. read more
Newbit1337 highlighted a confusing UI bug in full-app embeds: the topic progress shows “2/2” even though only the first post is visible. He linked a prior feature request to include the first post. read more
Falco posted a brief update from office hours: “Discourse is Not Going Closed Source” – a reassuring follow-up to recent concerns. read more
#Site Management
Gabby_McCone_She_Her asked about the difference between locking threads and archiving in the moderation guide. Moin pointed to documentation on closed, unlisted, and archived topics. read more
#Plugin
Sam merged a PR for the Discourse Shared Edits plugin, adding a long-awaited feature. read more
The Discourse team was highly active across many discussions yesterday.
Falco helped Willy understand that ./launcher rebuild app triggers updates and explained how to pin versions here and here. He also clarified Ask Discourse’s model change here, joined the plugin installation debate here, and gave a reassuring word on the closed-source blog here. He also explained translation speed differences here.
Moin provided extensive guidance on pinning Discourse to a specific commit hash here, here, and here. He also helped Prempavee with video upload alternatives here and here, answered a moderation query here, and linked a fix for upcoming events here.
Nat acknowledged the Ask Discourse performance complaint here and investigated the AI automation bug here, here, and here. He also helped debug the visitors access issue here, and shared a sneak peek at multi-language preferences here.
Zogstrip fixed two bugs with PRs for all-day iCal events here and events from unlisted topics here. He also attempted to reproduce the visitors access bug here and here, and thanked a user for a poll fix here.
Davidb announced the new chat reactions popup here and added suggested tags here.
Chapoi reminded the community to keep the plugin installation thread constructive here and helped Willy find the last update date here.
Sam merged the PR for Discourse Shared Edits here.
Awesomerobot engaged with a development question about JSON schema arrays here.
Martin fixed a bug in the unified new view here and provided an update on granular group permissions here.
Rishabh added a site to Discourse Discover after a user request here.
Mcwumbly confirmed that pinning to a specific commit hash works, though not recommended here.
From debates about pinning Discourse versions to discovering the mysteries of automatic updates, yesterday proved that even self-hosters can’t escape the allure of new features – and maybe a few headaches.
Robbie.Morrison shared a deep dive into governance failures on Wikipedia concerning AI‑content policies, including a case where an editor with indigenous knowledge was wrongly accused and forced to deny AI use four times. RGJ pointed out that AI detectors are biased against non‑native English writers read more. The discussion highlighted the reverse burden of proof and the psychological toll of such accusations read more.
#Announcements
Rishabh published the Current Projects – June 2026 newsletter, detailing recent completions like GIFs moving to core, the unified new topic list, nested replies, and the new blocks system for theme customizations. Ongoing work includes reporting/analytics improvements, Events plugin enhancements, and a new Workflows automation system read more.
Markvanlan updated the nested replies feature, changing default max depth to 3 and enabling capping. Mcwumbly suggested per‑category settings could better serve different use cases (voting, AMAs, etc.). Markvanlan agreed, noting that backfilling existing topics in the UI is still missing read more.
Awesomerobot announced that livestream is now an optional toggle during event creation, replacing the old tag‑based system. Site settings livestream_enabled and livestream_chat_allowed_groups are removed; livestream now uses existing chat and event permissions read more.
#Self-Hosting
JackieP asked about self‑hosting with a Business account. Falco clarified that Discourse is open‑source GPL v2, so self‑hosting is free, and features like SSO and gamification are baked into core. Pfaffman offered paid integration help read more.
In a thread on installing plugins without a third‑party host, Pfaffman explained that any method to copy plugin code into discourse/plugins works, not just git cloneread more.
A user reported visitors can’t access the forum index after an update. The issue remains unsolved despite a workaround read more.
#Feature
Moin raised a regression in the multi‑language preferences UI: the per‑topic toggle was removed, requiring more clicks to see untranslated content. Awesomerobot explained the old toggle caused confusion and suggested reconsidering its design read more.
Mcwumbly reopened discussion on where to flag posts in full‑app embed mode, suggesting the flag button could be restored with a setting for allowed post actions. Falco agreed read more.
LotusJeff requested a date picker for AI Translate settings instead of a rolling days‑based filter. Mcwumbly noted it would be a different setting (“Translate all posts after {date}”) read more.
Ondrej couldn’t re‑enable the AI plugin after disabling it. Keegan confirmed a bug and is working on a fix. He also noted that on free tier sites, the AI plugin is always enabled for spam detection read more.
Falco explained why topics translate faster than posts — the batch sizes are similar, but topics with many posts take longer. Admins can adjust backfill rate and max age read more.
Moin reported overlapping icons in the topic edit interface (AI sparkles and angle‑down). Falco had already flagged this in another thread read more.
Moin also spotted the AI title suggest icon misplaced above the title input field when editing translated topic information read more.
Moin requested that recent drafts always appear first in the new topic dropdown, as the order is currently unclear until visiting the drafts list read more.
Mcwumbly changed the default sort for the Contribute > Feature category from “Votes” to “Activity” because the votes sort was disorienting for navigation read more.
Moin discovered that diff between revisions is broken when a hidden revision exists in between. Previously, the diff would show the two unhidden revisions; now it shows nothing read more.
#Site-Management
MarkDoerr published Part 2 and Part 3 of the Discourse Moderation Guide, covering user management (warnings, suspensions, trust levels) and content management (topic moves, flags, review queue) Part 2 and Part 3.
Staff and team members were highly visible across numerous discussions yesterday:
Rishabh kicked off the Current Projects – June 2026 newsletter with a comprehensive update on Discourse development read more.
Awesomerobot announced the livestream toggle simplification and engaged in the multi‑language preferences UI discussion read more and read more.
Mcwumbly led discussions on embed flagging, default sort for feature category, and AI Translate date picker, as well as suggesting per‑category nested reply settings read more, read more, read more, read more.
Falco clarified self‑hosting and Business accounts, explained translation speed differences, and flagged the icon overlap bug in the composer read more, read more, read more.
Markvanlan merged a commit adjusting nested replies defaults and discussed per‑category nesting and backfilling read more.
Chapoi responded about future developer guides for the blocks system and corrected a trust‑level explanation read more, read more.
Keegan acknowledged the AI plugin stuck disabled bug and is working on a fix read more.
Tannerabread investigated a reported user card opening bug on upcoming events cards, but could not reproduce read more.
Davidb noted the reactions popup in chat feature had been completed read more.
Sign‑off: Yesterday’s conversation taught us that even your trusty em‑dash can betray you as an AI impersonator – but at least the cows are still wearing wigs.
Nicolsdennis continued development on a native mobile client app for Discourse, showcasing a tablet mode that splits the feed and topic panes side‑by‑side. A preview demonstrates the post navigator loading exact posts even after deletions and ID reordering. The app also supports multilingual cooked posts, though chat translations are not yet possible. Community members Kairo162 and LarisaHaster praised the work. Tablet mode demo | Post navigator demo | Multilingual support
#Self-hosting
On the thread about installing plugins without a third‑party host, Ed_S endorsed the advice to simply copy source code into the plugins directory, calling it “the right answer” and lamenting the thread’s tone. Read more
#Site Management
MarkDoerr published Part 2 of the Discourse Moderation Guide focused on managing users. The guide explains how to access user profiles, interpret trust levels, and handle difficult members through warnings, silencing, suspensions, and trust level restrictions. Read the guide
MarkDoerr also released Part 3 covering content management: topic manipulation, flag handling, the Review Queue, and content approval settings. De‑escalation techniques like staff posts, slow mode, and topic timers are detailed. Read the guide
#Feature
Arkshine proposed a technical solution for configuring video upload destinations using a Cloudflare Worker as an authentication broker. When a user uploads, the worker creates a private upload spot to the provider (e.g., Mux or CF Stream), hiding provider credentials. A working demo was shown, but the plugin Dave linked is recommended as a cleaner alternative. Solution description | Demo video
LotusJeff renewed a request for a date picker in AI Translate settings, noting that topics are translated much faster than posts, leading to mismatched translated topics with untranslated posts. A date picker would allow admins to set a simple cutoff, avoiding complex logic changes. Read the request
#Plugin
Bartv offered feedback on Discourse Reactions, pointing out that the emoji category sidebar lacks a scroll indicator, custom emojis are hard to access at the bottom of the list, and “Frequently Used” emojis are stored per‑browser rather than per‑account. Moin suggested a workaround for prioritising custom emojis, but Bartv found it half‑baked. Feedback on picker | Workaround reply
Darkpixlz reported trouble configuring Discourse embed URLs. Falco clarified that discourseUrl is the forum address while discourseEmbedUrl is the page hosting the embed. Darkpixlz later noted that using the embed feature created ghost topics from his 404 page; merging may be needed. Configuration help
One1 sought help automatically transferring themes via Rails console. NateDhaliwal confirmed that rails c must be used (not just ./launcher enter app) and explained how to exit with quit. Rails console guidance
@ばこん discovered that HTML comments are included in AI‑generated summaries, even though they are invisible to viewers. Falco marked the issue as #wontfix, citing the trade‑off of extra preprocessing. A propent change can work around it. Bug report | Staff response
Ililaoban reported a regression on user activity pages: after scrolling, clicking a post, and pressing the browser Back button, the page resets to the top instead of restoring the scroll position—contradicting the 3.0 release notes. Report
#Announcements
The Solved improvements discussion continued: Noble_Fish asked whether it’s possible to see who clicked “Me too” to recruit testers. EricGT noted that a related feature could prompt users who report a possible “Me too” issue to confirm, merging their posts into the main tracking topic—valuable for active production issues like a sidebar icon bug. Feature discussion | EricGT’s suggestion
#Site feedback
Heliosurge contributed to the discussion on where open‑ended product conversation belongs, recommending a #discuss tag in the Contribute > UX category or a new subcategory. They also praised the unique nested replies toggle on Discourse Meta. Read the suggestion
Falco provided support on two topics: correcting the embed URL configuration for Darkpixlz (post) and marking the HTML comments in AI summaries as #wontfix after considering the preprocessing overhead (post).
Arkshine shared a sophisticated solution for the video upload destination feature using a Cloudflare Worker broker, complete with a demo video. The approach hides provider credentials and creates private upload spots, though the official plugin is recommended as a primary option (post).
Yesterday’s highlight: Nicolsdennis’ tablet mode preview sparked excitement across the community, proving that a dedicated native app for Discourse is more than just a dream—it’s becoming a reality!
’ in topic titles on oops page — Moin spotted that the oops page renders ’ instead of a proper apostrophe in topic titles. Lilly found it amusing, and Sam confirmed it likely came from a security fix and needs careful handling. read more
HTML comments are also summarized by AI — Falcomarked this #wontfix, reasoning that extra preprocessing to ignore HTML comments isn’t worth the tradeoff. Users can customize their summary agent prompt if needed. read more
Right clicking in composer finds image from post behind composer — Seanbluediscovered that when the composer is open over an image, right-clicking on the composer area opens the image context menu as if you’d clicked the image directly. Reproducible on Meta with Chrome. read more
Nested replies view pads pages with deleted‑post placeholders — Nicolsdennisreported that the nested view /n/ shows full pages of blank “removed” rows for deleted posts without visible descendants, unlike the flat view. Samflagged this for Markvanlan. read more
Regression: /u/:username/activity loses scroll position after browser Back — Ililaobanreported that on user activity pages, pressing Back does not restore the previous scroll position, despite 3.0 release notes promising that fix. read more
Bootstrap mode is legacy? — Tobiaseigenshared that a new community without bootstrap mode is struggling to engage TL0 users. Merefieldsuggested setting default trust level to 1 temporarily as a workaround. read more
Discourse embed url configuration issues — Falcoclarified the difference between discourseUrl (forum address) and discourseEmbedUrl (embed page address) for embedding. read more
Using threads with existing topics — Lew_Grotheasked how the new threading feature interacts with existing topics. Falcoconfirmed that moved replies retain their threading, but existing topics are not automatically converted. read more
#Site feedback
Broken avatars in quotes within translated posts — Moinfound that avatars inside quotes are broken in translated (e.g., German) posts. Multiple languages are affected. read more
#Announcements
Introducing nested replies — NiceOldGuyshared an extensive collection of resources on Discourse’s flat vs. threaded model, including Jeff’s canonical take and links to why Discourse uses “topics” not “threads.” read more
Introducing the unified new view for the topic list — Martinnoted that the new “All” tab in /new orders by activity, but Moin found that topics marked unread by the current user are bumped to the top. Samagreed that this follows the same rules as the standalone Unread list. read more
#Feature
Official warning PM notification feature — LittleDinvestigated why warning PM first posts lost their staff color after the Glimmer migration. They identified a missing isWarning getter on the Post model that caused the moderator CSS class not to be applied. read more
#Plugin
Discourse Reactions — Martinoutlined upcoming improvements: “click to react” (matching Chat), shrinking the emoji picker height to hint at scrolling, and a setting to pin custom emojis to the top. Chapoi was asked for design input. read more
Chapoi assisted Firedragon with the missing Starter plan issue, suggesting they check the plans page and noting the team would follow up on Monday.
Martin actively discussed the unified new view, demonstrating the ordering and confirming the unread bumping behavior. In the Discourse Reactions plugin topic, he laid out multiple planned improvements and asked Chapoi and J.Jaffeux for feedback.
Tobiaseigen raised real-world issues with the legacy bootstrap mode, sharing how TL0 limitations affect new community engagement and proposing a workaround.
Merefieldsuggested making default trust level 1 as a temporary fix for communities struggling without bootstrap mode.
If you find yourself right-clicking on a blank composer and suddenly opening an image from behind, don’t worry – that’s just the new ‘hidden feature’ we discovered yesterday!
Nicolsdennis reported that the nested replies view (/n/) pads pages with deleted-post placeholders that the flat view omits. Markvanlan acknowledged the issue, noting that if there are no descendants, the placeholder is unnecessary — topics with nested replies are now back at /t/ instead of /n/. read more
Lilly spotted a custom emoji bug where emojis loaded from S3/R2 bypass CDN routing, causing broken images on Cloudflare R2 setups. She opened a PR wrapping URL assignments in Discourse.store.cdn_url() and also created a temporary theme component fix. read more
Tannerabread revived an old issue where spoilers inside <details> don’t toggle, and promptly published a fix. read more
Sam noted that ’ appears in topic titles on the oops page, likely from a security fix — Zogstrip suggested a pull request. read more
A French-language report about problème dans les paramètres avancés des catégories was marked as a duplicate of an issue resolved with the Custom Wizard Plugin by Tannerabread. read more
#Self-hosting
After a commit (b4a3389) that fixed a configuration error, users behind Cloudflare lost the ability to capture the end-user’s real IP. Lilly advised switching to a Unix socket, while Supermathie wrote a detailed guide on handling the chain of trust for IP addresses, including set_real_ip_from directives and recursive processing. read more
Supermathie authored a new how‑to topic: Handling the “chain of trust” of the end user’s real IP, explaining the use of predictable filenames in Discourse Docker outlets, recursion with multiple proxies, and example configurations for AWS ALBs. read more
#Announcements
Mcwumbly clarified that for self‑hosted sites, Beta upcoming changes are not automatically enabled until stable — he traced the source code and updated the official announcement. Moin suggested adding sorting by status to the Upcoming Changes interface. read more
Martin announced that Discourse Reactions will be gradually enabled by default for all sites via an upcoming change, and added a note to the Reactions main topic. read more
Martin also discussed the unified new view for the topic list — he confirmed that a user’s own topics will be bumped to the top when marked as unread, following the same rule as the standalone Unread list. read more
#Plugin
Martin engaged with user feedback on Discourse Reactions, discussing “click to react” functionality, pinning custom emojis, and the emoji picker UI. Chapoi and J.Jaffeux were tagged for design input. read more
The Discourse Bilibili Onebox plugin received a fix for the specific‑part playback issue; Scavin confirmed the bug was resolved after a rebuild. read more
In the Discourse Math plugin, Xiasummer reported that \dddot wasn’t rendering on their site, though Mcmcclur confirmed it works with both MathJax and KaTeX on meta. read more
Falco answered a question about using threads with existing topics: threading does not retroactively reformat replies, but moved posts will thread correctly. read more
LetITFly helped a user with failed avatar/photos upload — the root cause was a CDN (Cloudflare) configuration, not a Discourse bug. read more
Rishabh confirmed that the Starter plan upgrade option has been made legacy and is no longer available; the Admin > Manage Account page is the correct place for plan changes. read more
Chapoi identified a quirk where right‑clicking in the composer can trigger an image context menu from the post behind it — it only occurs when clicking through the composer container, not the textarea. The issue was tagged #pr-welcome but marked as #wontfix due to low impact. read more
Chapoi noted that the AI title suggest icon is placed above the title input field, an absolute‑positioned element causing recurring layout issues — he plans to address it when time permits. read more
Other
WorldIsMine found some funny CSS in a bugs theme‑component that could be used to prank problematic users. read more
Architect inquired about an official warning PM notification feature, hoping a team member can clarify whether the code’s behavior (not notifying the warned user) was intentional. read more
Sam contributed to the nested‑replies placeholder discussion and confirmed the oops‑page HTML entity bug; he also weighed in on the unified new view sorting rule, agreeing that bumping one’s own topics is fine. (nested replies, oops page, unified new view)
Markvanlan acknowledged the nested‑replies placeholder bug and added it to his list, noting the revert from /n/ back to /t/. (nested replies)
Tannerabread fixed the spoiler‑inside‑details glitch with a PR, and resolved a duplicate report about category settings affected by the Custom Wizard Plugin. (spoiler fix, category settings)
Martin guided the reactions discussion alongside users, shared findings on the unified new view, and announced the default‑enable of reactions. (reactions, new view, reactions default)
Lilly reported and patched the custom emoji CDN bug, wrote an interim theme component, and debated with Falco on R2 specifics. (emoji bug, IP trust)
Falco provided accurate answers on threading and custom emoji CDN behaviour, and tested the emoji fix. (threading, emoji CDN)
Chapoi diagnosed the composer right‑click quirk and flagged the AI title icon for a future UI fix. (composer, AI icon)
With all that IP trust chain talk, maybe we should start treating our coffee machines like proxies — only let them pour if they can prove they know the real temperature of the water!
Sam announced Cost‑based quotas for Discourse AI, a new feature that allows budgeting AI spend by estimated dollar cost. Read more
Loic posted the June 2026 monthly release notes, covering all changes in version 2026.6 as well as patch releases for 2026.1.5, 2026.4.2, and 2026.5.1. See the full changelog
Chapoi followed up on the Inline integration of AI Suggestions (in Composer) announcement, discussing making the UI consistent across the composer and other instances. Details here
Overgrow asked whether AI translations + crawler indexing yield SEO payoff, sharing concerns about cost and duplicate content. Nat responded with a detailed blog post and a note about a recent fix for the set locale from param setting. Follow the discussion
Philh showcased a Discourse Comments integration on Astro Starlight, with a temporary demo that blends content and comments seamlessly. NateDhaliwal praised the Mermaid support. Check it out
#Self-hosting
Willy shared a practical guide on How to install plugins without using a third-party host, explaining how to mount local plugins into the Discourse container via app.yml hooks. Pfaffman suggested symlinking instead for easier restarts. Read the solution
Lilly and Falco investigated Custom Emojis loaded from S3/R2 bypassing CDN routing. After a wild goose chase involving a typo in Cloudflare DNS, Lilly confirmed that her PR (using Discourse.store.cdn_url()) fixes the issue for R2. See the full saga
Tayhansolo asked about Proxying a new setup with a reverse proxy, and Darkpixlz recommended Cloudflare Tunnels or ngrok for residential setups. Learn more
Singi2016cn wanted to change the homepage to a custom route. Chapoi recommended the custom_homepage modifier and Block System, while NateDhaliwal reminded to set the default home to (default) in user preferences. Get the answer
Akjgklajg also reported that invite links to private groups with a private topic give an access denied error on first click. Details here
#Feature
Overgrow raised a feature request to limit topic translation to specific categories, arguing for an allow‑list to better control AI translation costs. Pmusaraj shared his view that translating all public content is generally beneficial. Voice your opinion
Moin discovered that tags are partly visible on the “which topic do you want to reply to” modal, showing a white spot caused by a partially hidden fourth tag. See the bug report
Dreieck pointed out that nested mouseover notes can be entered but not shown, creating a usability gap where the inner note is unreachable. Discuss the solution
#Theme component
Awesomerobot improved the Homepage Feature component by updating images to use srcset, fixing the “hide featured tag” setting, and allowing multiple tags. However, the change triggered thousands of thumbnail regeneration jobs – a quick rollback was issued. Follow the updates
Yesterday’s great emoji heist taught us that even a tiny typo in Cloudflare can turn a CDN into a comedy show – but at least Lilly emerged with a deeper understanding of rabbit holes (and emojis)!
Ed_S raised a concern about security fix reporting on releases.discourse.org, pointing out that comparing versions (e.g., v2026.4.2 → v2026.6) misleadingly showed 25 security fixes even though backports already covered them. Awesomerobot explained it’s an artefact of the comparison logic, and David confirmed all security patches are backported and promised to improve the cross-release comparisons read more.
Vitaly_Lukin reported that discourse.theme-creator.io has been down since Monday, showing a generic error page. Moin quickly pointed to an existing report (#406027) and noted a fix was already merged read more.
Ahsan_Javaid wanted to change his username on the Frappe community forum. Itsbhanusharma explained that only admins of that forum can change usernames, and provided detailed instructions for admin users read more.
#Plugin
Itsbhanusharma encountered a compatibility error with the Resenha voice rooms plugin on ESR Discourse instances. Falco advised that experimental plugins are not supported on ESR and recommended sticking to the latest release. Mcwumbly later shared a positive experience using the plugin on Meta, praising its real‑time voice chat capabilities read more.
#Announcements
The move of GIF functionality into Discourse core continued to generate discussion. One1 initially couldn’t disable the GIF button; Moin and Davidb helped clarify that the setting exists under a hidden site setting and that users will retain the ability to opt out after the change goes permanent. Mcwumbly agreed the wording in upcoming changes needs improvement read more.
Moin flagged a regression where the language dropdown icon in the modernized Foundation theme became oversized. Awesomerobot identified the cause (a missing wrapper) and submitted a fix read more.
Moin provided valuable feedback on the incremental reporting improvements, noting that empty report rows appear too tall compared to populated ones. Tgxworld investigated and later a fix was applied, which Moin confirmed looked better read more.
Moin reported that the unified new view for the topic list was showing incorrectly in the Discourse Hub app. Martin found a fix requiring updates to both core and the mobile app, though later noted internal consensus was still pending read more.
#Migration
Siamak-Oi asked about migrating user accounts from Telligent to Discourse as part of a Business plan. Italo shared that tooling for Telligent may not be included in Business, and Cocococosti (likely team) confirmed that accounts are migrated successfully and users only need to reset passwords on first login read more.
Nat followed up on a thread about AI translations and SEO, noting that a “footgun” (the set locale from param requirement) was fixed. Eisammy shared their experience translating 140k posts and 14k topics, reporting that while the feature is promising, SEO impact remains unclear read more.
Moin encountered a 422 error when trying to toggle the “reporting improvements” upcoming change. Zogstrip acknowledged the bug and noted it would be fixed soon read more.
#Feature
Moin supported the request to show all replies after posting in a topic using Doc Categories simple mode. Awesomerobot agreed the current experience is suboptimal and shared a PR that shows the user’s own reply instantly read more.
MarkoK asked about progress on secure uploads in chat. Mcwumbly admitted it’s still not prioritized but encouraged sharing anecdotes of how the lack of this feature impacts users, as that helps with internal prioritization read more.
#Theme component
Asa thanked Mcwumbly for the “Dismiss Admin Noise” theme component, confessing that admin notifications were driving them crazy. Mcwumbly suggested that giving admins more granular control over notifications could be a longer‑term solution read more.
Dreieck reported that nested mouseover notes can be entered in the composer but are not interactive (the inner note cannot be clicked). Suggestions included either making nesting work or escaping the inner note syntax to prevent confusion read more.
#Site feedback
Moin provided constructive feedback on the daily summary feature, noting that a silent=true parameter was sometimes causing false post‑linked notifications. He suggested the team review the parameter usage read more.
The Discourse team was active across multiple topics, offering explanations, fixes, and guidance.
Awesomerobot addressed the Foundation theme language icon regression (Modernizing the Foundation theme, post 108), improved the reply experience in Doc Categories (Show all replies…, post 4), and cleaned up tag visibility in the reply modal (Tag partly visible…, post 2).
Mcwumbly chimed in on the GIFs core integration (post 23), advocated for better notification controls (Dismiss Admin Noise, post 5), shared experiences with Resenha voice rooms (post 58), and provided updates on secure uploads in chat (post 14 & 16).
David confirmed the security fix reporting artefact and promised a fix (Confused about security fixes, post 3).
Davidb clarified that the GIFs setting will remain controllable after the change goes permanent (post 24).
Zogstrip quickly acknowledged the 422 error in upcoming changes toggling and linked to a fix PR (Issue with enabling upcoming changes, post 32).
Tgxworld investigated the report row height issue and applied a fix (Admin Reporting…, post 32).
Martin worked on the Discourse Hub and core integration for the unified new view (post 22) and contributed to the GIFs wording discussion (post 26).
Yesterday proved that even the smallest backport can spark a dozen discussions – and that voice rooms are a surprisingly fun way to break the text barrier.
June 2026 Monthly Release — Elmuerte spotted some CVE cross-references in the release notes that appeared to point to unrelated issues (a Wi-Fi router bug!). Loic confirmed the links were incorrect, noting Discourse CVEs aren’t propagated yet. Read more
Review and suspend non-activated accounts — Mcwumbly announced a new feature allowing admins to filter, bulk suspend, and review accounts that haven’t activated via email, making spam wave management much more efficient. Read more
Introducing a new “Post Type” Composer actions dropdown — Moin reported a touch-device issue where the dropdown menu overlapped on Android tablets. Tynaut reproduced the bug and pushed a CSS fix, now merged for the next update. Read more
Introducing the unified new view for the topic list — Moin expressed concern that DiscourseHub no longer shows separate counts for new topics and replies, a helpful distinction for prioritising reading. Pmusaraj defended the simpler single-count approach, noting that detailed filtering remains available on the website. Read more
Upcoming Changes system clarification — Moin raised confusion around a change that skipped the “stable” phase and seemingly disappeared. Tgxworld confirmed it was a mistake and re-added the change, noting it’s now permanent and found under /whats-new. Read more
Self-Hosting Discourse Just Got a Whole Lot Easier — Unicom asked if the new installer allows using a temporary domain while deciding on a permanent one. Chapoi pointed to the domain change guide and hopes it works. Read more
Error running remap after changing site URL — Tobiaseigen encountered duplicate key constraint errors when running discourse remap. Lilly provided step-by-step SQL queries to delete conflicting records across multiple tables. After several rounds of trial and error, the remap completed successfully. This sparked a discussion about adding a discourse db command, though Lilly explained why it’s not feasible for all setups. Read more
Can’t regenerate Discourse ID credentials after domain change — Tobiaseigen found that changing the domain broke Discourse ID login. The UI “Regenerate credentials” button errored out. Pmusaraj noted that in Discourse hosting this is automatic, but self-hosted sites need manual intervention; he suggested a better admin UI for credential deletion. Read more
Avatars slow to load after moving to S3/R2 storage — David_Ghost systematically tested four S3/CDN configurations and found avatars always load slowly on first visit. Pfaffman and Lilly theorised the bottleneck is image resizing on the server (rake tasks), not the storage provider. Falco suggested checking a related topic. Read more
How does Discourse handle conflicting watched word actions? — M_Terenui asked about priority when the same word appears in multiple watched word lists. Awesomerobot explained that Block takes precedence; other actions (flag, silence, censor, approve) can all apply independently. Moin noted you cannot add the same literal word to multiple lists—it gets reassigned. Read more
Data Explorer Query Generator 403 Error — MCobb reported a 403 when creating new queries. Lilly confirmed queries work on her latest self-hosted instances and suggested checking the browser console or /logs for errors. Read more
Self Hosted Forum Log In Issues — Lilly advised a user with Cloudflare issues to disable the proxy, ensure Rocket Loader is off, and set SSL/TLS to Full (Strict), pointing to the Cloudflare template. Read more
Profile spam: Option to delete account and block email but not the IP address — Dax announced this feature is now completed, giving admins more granular spam-fighting controls. Read more
Prompt message for upcoming changes not clear enough — Noble_Fish criticised the ambiguous wording “automatically enabled” which doesn’t offer a toggle or clear guidance. Moin added that a permanent change on his instance also didn’t appear in the UI, aligning with earlier confusion. Read more
Nested mouseover notes can be entered but not shown — Dreieck reported that nested footnotes are editable but don’t render. Chapoi decided to strip nested notes server-side, citing UX and technical difficulty. Dreieck questioned why not just print them verbatim but accepted the fix. Read more
Bulk tag edits not creating new revision — Moin reported the bug in German and asked for workarounds. Tgxworld confirmed a fix by Zogstrip was already pushed. Read more
Diff between revisions hidden when there is a hidden revision — Moin argued that hiding the diff between public revisions after an intervening hidden revision reduces transparency for wiki/documentation topics. Zogstrip pushed a fix that at least explains the situation, but Moin feels this doesn’t restore the lost functionality. Read more
Accept paste input during installation — Philh reported the new installer doesn’t allow pasting (e.g. API keys) and forces retyping on “No”. Falco quickly fixed it – the fix will be in tomorrow’s image. Lilly encouraged posting any further install issues in the support category. Read more
#Plugin / #Theme Component
Resenha – Add Discord-style Voice Rooms — Falco shared an LLM-summarised changelog of recent Resenha improvements: persistent in-room chat, screen share audio, voice settings modal, and many fixes. He invited user feedback. Read more
Team members were highly active across many topics yesterday:
Lilly provided extensive step-by-step SQL instructions for Tobiaseigen on the remap errortopic, then explained why a discourse db command is infeasible here. She also diagnosed the slow avatar issue on S3, suggesting the bottleneck is CPU-side image processing here, and helped with Cloudflare login issues here. She recommended a theme component for hiding floating menus here. Additionally, she contributed documentation updates for S3 object storage here and confirmed a custom emoji CDN fix here.
Falco promptly fixed the paste input issue in the installer here and posted a detailed Resenha plugin update here.
Pfaffman weighed in on S3 avatar slowness, theorising it’s related to CDN configuration and image generation here. He also endorsed Lilly's SQL approach for the remap issue here.
Mcwumbly announced the new feature to review/suspend non-activated accountshere.
Pmusaraj clarified the reasoning behind the unified new view in DiscourseHub here and explained the limitation of Discourse ID credential regeneration here.
Awesomerobot explained watched word action priority (Block first) here and reproduced the RTE quotation mark bug here.
Zogstrip fixed the hidden revision diff explanationhere, noted the bulk tag revisions fixhere, and reported the Theme Creator is back online here.
Tgxworld confirmed the upcoming changes mistake was corrected here.
Chapoi resolved the nested footnote bug by stripping them server-side here and thanked Lilly for documentation contributions here.
Tynaut fixed the composer dropdown touch-device overlap issue here.
David resolved the security fix reporting confusion on releases.discourse.orghere and provided helpful guidance on the rebuild failure topic here.
Martin agreed to update the Upcoming Changes OP to clarify Permanent status here.
Nathank acknowledged the feature request for filtering calendar ICS by category here.
In a day where Tobiaseigen's domain migration saga was rescued by a careful SQL chain, and Philh asked the installer to “stop typing and start pasting”, let’s hope tomorrow brings fewer constraint violations and more clickable buttons!
Schedule site logo changes? — One1 asked if a plugin exists to automatically swap the site logo for seasonal events. Chapoi not only confirmed no plugin exists, but quickly built a prototype theme component using a home-logo-image-url value transformer. One1tested it and requested support for selectively changing only the small logo.
Import data into Discourse from wpforo — Arya_Tavana sought guidance on migrating content from wpForo to Discourse without re-importing existing users. Chapoisuggested seeking help in Marketplace for complex migrations, or following a previous import guide.
Confused about security fixes as reported at releases.discourse.org — Ed_S was unsure whether running 2026.6.0-latest was vulnerable to reported security issues. Davidclarified that 2026.6.0-latest is indeed vulnerable and users should update to 2026.7.0-latest. Ed_Snoted the need for a better way to compare fixes between versions.
Bootstrap mode is legacy? — Pmusarajdiscovered that TL1 users faced the same restrictive first-day limits as TL0 users, and that the clock started from the first post date, not account creation. He opened PR #41433 to fix both issues.
How do I properly configure the AWS SNS topic ARN allowlist? — Deenius struggled to configure AWS SNS for email feedback notifications, with subscriptions stuck in “pending confirmation.” After trying several incorrect endpoints, he solved it by using https://forum.example.com/webhooks/aws.
Is it possible to unban ip banned by discourse? — Webmaster_Webmaster was blocked from a Discourse community by an IP ban and asked if he could check his IP against a Discourse blacklist. Awesomerobotremoved his posted IP for privacy and explained that a public IP checker isn’t available as it would aid abusers.
Can’t regenerate Discourse ID credentials after changing domain name — Tobiaseigenreported that toggling Discourse ID off and on immediately allowed new credentials to be generated, solving the domain change issue.
#Theme component
Post Score - Display engagement metrics on posts — Donreleased a new theme component that visualizes a Post Score based on likes, replies, incoming links, bookmarks, and reading time rather than inflated view counts. NateDhaliwalsuggested including component settings in the announcement.
YouTube PiP & Topic Playlist Player — Donlaunched a component that adds a continuous YouTube playlist player to the forum header, featuring an SVG progress ring, collapsible video panel, and automatic indexing of all videos in a topic.
Homepage Feature — Awesomerobotmerged an update that automatically detects existing thumbnail sizes and uses the best available, rather than only generating specific sizes. Bartvexplored a workaround for sorting featured topics by tag date, building a Data Explorer query and external script to bypass core limitations.
Tag Style Tool — Arkshinediagnosed that the Tag Style Tool’s settings button was broken because Discourse now redirects /customize/components/ to /customize/themes/. He submitted a PR to fix the URL.
Versatile Banner — Awesomerobotmigrated the banner component’s default background image away from an external Imgur host, which had served over 1.5 million views. The update sources the image within the theme directly and adds upload settings.
Gated Topics in Category — Awesomerobotmerged an update that modernizes the component and fixes avatar positioning.
#Announcements
A preview of the redesigned admin dashboard — Bartvreported significant performance issues with the new dashboard, noting it is “too slow” to use regularly. Chapoiacknowledged known issues with larger date ranges. Bartv also provided cosmetic feedback on the date selector and requested graph view options for pinned Data Explorer queries.
Introducing a new “Post Type” Composer actions dropdown — Tynautfixed a z-index issue where the composer actions dropdown was hidden behind the header on touch devices. The fix was merged in commit d82dc7c.
Introducing a docked composer for AI bot conversations — Keeganexplained that the feature’s going forward was accidentally toggled off by a team member and has been re-enabled and bumped to beta.
Introducing Upcoming Changes — Martinupdated the OP to clarify that changes marked as Permanent are displayed on /whats-new.
Simpler email subject lines — Bonderorequested retaining category information in email subjects for inbox filtering, but later found it’s available in the X-Discourse-Category header. Mikesouthexpressed a preference for no change to the format.
Discourse Discover: How Top Tech Brands Run Their Communities — A blog roundup highlighting creative Discourse communities.
Nested replies, flagging and staff color has no effect — Pmusarajconfirmed that staff color is not respected in the nested replies post template. Cuo_Wunarrowed the flagging bug to the first post only.
RTE removes quotation marks within wrap syntax — Renatofixed a Rich Text Editor bug that stripped quotation marks from [wrap] syntax, with PR #41429.
The prompt message given when upcoming changes are officially added is not clear enough — Martinfixed a notification link bug triggered when changes skip to Permanent status. He added mention of /admin/whats-new for permanent changes.
#Self-hosting
Rebuild failure - possibly related to rolldown? — Davididentified that the error was caused by running rm -rf on core plugins, an unsupported practice. Merefielddefended the approach as sometimes necessary to override templates, though Davidreiterated it’s not supported. A preventive fix was merged to prevent the catastrophic build failure.
Error running remap after changing site url — Lillyexplained why a discourse remap CLI command cannot be easily added: the script location varies between standard, dual-container, and multisite configurations, making a universal command difficult to implement.
#Feature
Quickly explain what Onebox is? — Dreieckasked about the origin of the name “Onebox.” Awesomerobottraced it to Google’s ~20-year-old “one box” concept for showing answer snippets.
#Community Building
Sharing approaches to using automation to send messages to members — Stephtararesurfaced a request for the upcoming Workflows feature. Chapoiconfirmed it’s “not far off” and “worth the wait.”
Chapoi was exceptionally productive, building a prototype for scheduled logo changes in response to a feature request, responding to a wpforo migration query, acknowledging dashboard performance feedback, confirming Workflows is nearing release, and fixing the AI title suggest icon placement with PR #41417.
Awesomerobotmerged an improvement for automatic thumbnail selection in Homepage Feature, modernized the Gated Topics component, migrated the Versatile Banner from an external image host, and investigated a private invite link issue.
Daviddiagnosed a rebuild failure as being caused by rm -rf on core plugins and merged a fix, clarified security fix versioning, and responded to feature requests.
Martinfixed a notification link bug for Permanent changes and updated the Upcoming Changes documentation.
Pmusarajconfirmed a bug with staff color in nested replies, investigated Discourse ID credential regeneration, reviewed the UX of adding more buttons, and improved the first-day limits for TL1 users.
Merefieldengaged in the core plugin override debate and provided a concise fix for a rebuild issue.
NateDhaliwalrecommended including component settings in Don's announcement, and responded to a Chinese-language query about WSL development setup.
From Chapoi’s impromptu Logo component to Don’s dual codec-cracking releases, yesterday’s meta creativity was running on all cylinders — even Awesomerobot had to tip its hat to Imgur’s 1.5 million views of a single banner image!
GIFs are moving to Discourse core! — Lilly reported confusion with the migration path, noting that the new core setting is hidden when the old GIF theme component is installed. Moin helped clarify the steps: uninstall the component, disable the upcoming change, then reinstall and reconfigure. The setting gif enabled must be set to no one before the component can be used again. read more
#Plugin
Resenha – Add Discord-style Voice Rooms — Nicolsdennis asked about integrating Resenha with the Events plugin and whether a hook could render voice rooms on event topics. Falco responded that it’s possible in the future, with a five‑minute pre‑event notification that directs users into the room. He also noted that a popup widget and full‑page view were already added. read more
Allow-pm-to-staff — Roi reported a regression after the latest code update (2026.7.0‑latest), where sending private messages fails with a stack trace pointing to discourse-allow-pm-to-staff. Deactivating the plugin restores functionality. Pfaffman acknowledged the issue and invited a PR. read more
Group members last visited and last posted date of hidden profiles — Moin spotted a display bug on the Team group members list: usernames become nearly invisible when a user’s profile is hidden. The dates overlap with the text, making the list hard to read. read more
AI Qwen 3.7‑plus support — A user asked about troubleshooting a 500 error when querying the Qwen API. Falco advised checking the ai_api_audit_logs table and removing the WHERE clause from the SQL to inspect the most recent entry. read more
Icons + texts? — Heliosurge shared a link to the Header Submenus theme component as a solution for adding both icons and text to the header bar. read more
Respond instructions tag – can it be moved? — Andro asked how to move the %{respond_instructions} placeholder to the top of email notifications. Moin explained that editing the email templates at /admin/email/templates or via /admin/customize/site_texts works, and provided a list of template keys that populate the tag. read more
Does Discourse call AI APIs in the background? — M_Terenui noticed periodic API calls to Gemini every five minutes even when not actively using AI features. Falco confirmed that background tasks for summaries, embeddings, and sentiment analysis trigger those calls, depending on enabled settings. read more
#Feature
Add {username} as a template param in AI persona system prompts — 42aross opened a PR to include {username} in BotContext::TEMPLATE_PARAMS, enabling AI agents to know which user is interacting. The change is small and additive, solving the need for server‑side user resolution without relying on fragile LLM parsing. read more
Can’t drag to extend text selection in composer on iOS/iPadOS 18.x — Overgrow reported that dragging selection handles does nothing inside the composer on iOS 18.x (both legacy and WYSIWYG). Selecting text outside the composer works fine. The bug affects Safari and Chrome on iOS. read more
#Self-hosting
Self‑hosted forum has frequent 502 and 503 errors — Dannii described a forum (intfiction.org) that became very slow after updating to 2026.1.5. High load averages and execution expired errors in the email processor suggest SMTP timeouts and possible sidekiq bottlenecks. NateDhaliwal recommended increasing RAM. read more
Receiving error regarding certificate not being able to load — LaugeSvan, in a first‑time install attempt, encountered PEM_read_bio_X509_AUX() failure for the SSL certificate. NateDhaliwal pointed to a likely Let’s Encrypt rate limit and linked to a relevant troubleshooting topic. read more
#Theme component
Unformatted Code Detector — Noble_Fish suggested adding a configurable list of syntax types to detect, to reduce false positives on forums that only use specific code formats like INI or CPP. read more
WP Discourse SSO does not synchronize local avatars provided by Advanced Site Enhancements — Miednr reported that the SSO login always imports the default avatar despite using the local_user_avatar_attachment_id meta field. The wpdc_sso_avatar_url filter appeared ineffective. He seeks guidance on the current avatar‑synchronisation mechanism. read more
#Integrations
Set up Gemini API Keys for Discourse AI — M_Terenui noted that Google no longer allows simple API keys as of June 2026; service accounts are now mandatory. He asked whether Discourse AI can work with service account keys and whether the integration needs an update. read more
Yesterday’s most liked topic was the announcement that GIFs are moving to Discourse core – a change so sticky that even the team needed a step‑by‑step workaround. Maybe we should start paying royalties to the meme lords?
Boubou needed help modifying the Nginx configuration inside Discourse Docker to pass real IPs through HAProxy. Ethsim2 provided a detailed explanation of using X-Forwarded-For vs PROXY protocol, including sample app.yml snippets and a warning not to edit container files directly. Later, Boubou reported success by disabling Let’s Encrypt and applying the suggested set_real_ip_from directive. [read more]
Dannii reported frequent 502 and 503 errors on their self-hosted forum, with high load averages and email delivery timeouts. NateDhaliwal recommended increasing RAM. Dannii observed that PostgreSQL CPU spikes coincided with daily backups and that the mail receiver was being overwhelmed by spam. Ed_S agreed that more RAM would help. [read more]
Dannii also asked how to configure aws_sns_topic_arn_allowlist, a new site advice seen after upgrading to 2026.1.5. They found the commit in the changelog but no further documentation. [read more]
Miednr reported a bug where visitors could not access the forum index, but a week later the issue resolved itself without intervention. They will monitor and update if it recurs. [read more]
Satonotdead solved the problem of using internal AI endpoints by adding the Docker internal gateway IP to DISCOURSE_ALLOWED_INTERNAL_HOSTS and exposing LiteLLM’s port. They also cleaned up broken MCP servers via the Rails console. [read more]
#Feature
Gilles suggested improving the user search function in chat: instead of using the “+” icon in the discussions section, it would be more intuitive to allow direct username search in the chat search bar. [read more]
42aross contributed a small PR that adds {username} as a template parameter to AI persona system prompts, enabling AI agents to know exactly which user is interacting with them without relying on fragile parsing. [read more]
Small-Lovely-Cat opened a PR to allow users to delete their own pending topics and posts directly from the /activity/pending page, rather than only inside the topic. A “Delete” button now appears alongside pending items, with proper confirmation. [read more]
#Announcements
Noble_Fish continued a discussion on granular group‑based permissions for anonymous and logged‑in users. They pointed out that the meaning of “everyone” varies by context and asked for a documentation table. Martin responded that they have PRs in progress and will explore an AI‑assisted audit of all group‑based settings. [read more]
Martin also posted in the livestream announcement thread, confirming that livestream is now a simple toggle on event creation and that further improvements are planned. Stromfeldt asked about breakout groups from a single stream, a feature not yet implemented but under consideration. [read more]
#Plugin
Lou reported that expired events are not included in the /discourse-post-event/events.ics feed, and found an alternative by using the single event endpoint. They are building a custom tag filter to work around this. [read more]
Stephtara checked in on a suggestion to make inline links to subcategories more concise, asking if any progress has been made since the meta-redesign-2026 work. [read more]
Martin fixed a minor UX issue: the “Permanent” filter on the upcoming changes page was mistakenly left in the dropdown and has now been removed via PR 41455. [read more]
#Theme component
Eisammy asked in the Gated Topics component thread whether the component used to hide HTML content even with JavaScript disabled, and thanked for a correction. [read more]
Provided an update on granular group permissions, noting that PRs are in development and exploring an AI‑powered audit of all group settings. [read more]
Clarified that the livestream toggle is now live on event creation and answered questions about future breakout group features. [read more]
Removed the misleading “Permanent” filter from the upcoming changes page (PR #41455). [read more]
And yesterday’s Nginx wizardry reminded us all that sometimes the simplest fix—disabling Let’s Encrypt—is the one that finally passes the real IP through.
In the last 24 hours, our community produced 87 new posts across 29 topics, with a total of 79 likes given. Here are the top contributors by likes and posts:
Allow users to delete pending topics/posts from the activity page – Small-Lovely-Cat proposed a new Delete button on the /activity/pending page so users can remove their own pending topics without staff intervention. Darkpixlz and Moin discussed whether a confirmation dialog is needed, with Chapoi noting that Discourse generally avoids modals for reversible actions. Read more
Improving the chat user search experience – Gilles (in French) highlighted the need for a more intuitive user search in chat, especially on mobile and for less technical users. Chapoi pointed out the Cmd+K shortcut, while Satonotdead wished for a way to disable Discourse shortcuts entirely. Read more
Feedback for Ask Discourse – Matthewruzzi reported errors when replying to AI responses with similar content or when flagging too quickly. HAWK questioned whether the bot involved was actually Ask Discourse. Read more
Confusion about security fix listings on releases.discourse.org – Ed_S wanted a simpler way to see which security fixes were included in a given version. David explained the advanced changelog comparison and fixed a bug where unsupported-release comparisons were incomplete. Read more
Integrating Discourse with a Wix website – Newcomer Gid asked how Discourse can be connected to a Wix site, confused about free self-hosting versus Discourse-managed hosting. Chapoi and NateDhaliwal clarified the options: self-hosting is free but requires a server, and Wix cannot run Discourse natively. Read more
Invite link to private group not redirecting to correct topic – Akjgklajg reported that after accepting an invite to a private group/category, the redirect to the invited topic fails with a 404. Awesomerobot asked about browser console errors, and Putty suggested a timing issue. Read more
How to use internal AI endpoints – Satonotdead shared a solution for connecting Discourse to a local LLM via LiteLLM by exposing ports and using Docker internal gateway IPs, plus cleaning up bad MCP server configurations. Read more
Discourse Desktop Mac App – Nicolsdennis showcased a native macOS desktop app built for Discourse, with features like sidebar inversion, cinema widget view, multi-forum support, and offline browsing. The community reacted with curiosity about availability and advantages over a PWA. Read more
#Theme component
Schedule Logo Change – automate seasonal logo swaps – Chapoi released a theme component that lets admins define recurring date ranges for logos (desktop, mobile, dark mode). The component falls back to defaults for any missing variants. Read more
#Community Building
Best practices for choosing custom fonts – Urdu-Nigaar423 asked for advice on using Google Fonts vs. self-hosted fonts, performance impact, and accessibility concerns. NateDhaliwal warned against monospace fonts, and Awesomerobot recommended self-hosting and limiting font variants. Read more
#Self-hosting
Rebuild failure possibly related to rolldown – Tanya_Byrne confirmed that an unsupported approach of deleting plugin files caused a broken build. David advised using the admin UI to disable plugins instead, and Merefield advocated for official support of hiding unused plugins from the admin interface. Read more
Self-hosting an open-source LLM for Discourse AI – Mononym was setting up an Ollama backend for AI translation. Falco recommended modern models like Qwen 3.5 or Gemma 4 over outdated ones, and explained how to configure the LLM provider using OpenAI compatibility. Read more
#Announcements
Granular group-based permissions for anonymous and logged-in users – Martin provided an AI-generated table detailing which site settings are affected by the upcoming change that replaces everyone with explicit logged_in_users and anonymous_users groups. He opened two PRs to fix related issues. Read more
GIFs are moving to Discourse core! – Shauny asked about attribution requirements for Klipy API keys. Martin noted that the core version omits the provider logo that existed in the theme component, and questioned whether that was intentional. Read more
Livestream is now part of the Events plugin – Stromfeldt asked about breakout room support for livestream events. Martin and Lindsey explained that breakout rooms aren’t supported yet, and suggested using chat threads as a workaround. Read more
Purpose of the “Permanent” filter on the upcoming changes page – Martin opened a PR to remove the Permanent filter, acknowledging it was simply left over from earlier development. Read more
Group members last visited and last posted date for hidden profiles – Awesomerobot confirmed a fix is on the way for the issue where hidden user profiles display placeholder dates, referencing PR #41467. Read more
Admin users always get 500 timeout in GitUtils.has_commit? – Aliarjmandi described a fresh Discourse install where admin logins hang for 30 seconds due to a GitUtils.has_commit? timeout, while normal users are fine. The issue appears to be triggered only when admin == true. Running Git commands manually is instantaneous. Read more
Nested replies, flagging, and staff color has no effect – Markvanlan is working on a PR (#41475) to fix issues with nested replies where flagging and staff styling do not apply correctly. Read more
Chapoi contributed to multiple topics: he helped clarify the new pending topic deletion feature (link), suggested the Cmd+K shortcut for chat search (link), explained self-hosting vs Discourse hosting for a Wix user (link), released the Schedule Logo Change theme component (link), and acknowledged the iOS bug report noting it affects an unsupported version (link).
Falco gave detailed guidance on self-hosting LLMs: he recommended Qwen 3.5 or Gemma 4 over outdated models (link), and advised on image generation support (link).
Martin drove the granular permissions change with a large AI-generated analysis of site settings (link), removed the Permanent filter from upcoming changes (link), and discussed livestream breakout rooms and the GIFs core migration (link, link).
David helped Ed_S navigate security fix comparisons, fixed a bug in the changelog tool (link), and advised Tanya_Byrne to disable plugins via the admin UI instead of deleting files (link).
Awesomerobot confirmed a fix for hidden profile dates in group member lists (link), and investigated an invite redirect issue (link).
Lindsey clarified that breakout rooms are not yet supported in the livestream integration (link).
Markvanlan is actively working on a PR to fix nested reply styling and flagging (link).
Angus helped Miednr debug the WP Discourse SSO avatar sync issue, asking for logs and checking settings (link).
Fun sign-off: With all the logo scheduling, desktop apps, and AI experiments, it’s no wonder Discourse users are never bored – and neither are their forums!
Removing Uncategorized and migrating to a standard category – Lindsey announced that the special Uncategorized category is being removed and replaced with a standard category to fix long‑standing bugs. Communities using “tags only” are advised to install a theme component and adjust their top_menu. The change can be enabled early via the Upcoming changes admin page. read more
GIFs are moving to Discourse core! – Davidb noted that a global notice banner has been added to the legacy theme component to alert site admins of the upcoming migration. The component will be archived soon, so admins are encouraged to fork it if they still need Giphy support. read more
Modérateur par catégorie – Mireille_Coilhac asked how to assign moderators per category. Moin explained that the enable_category_group_moderation site setting must be enabled, then groups can be selected in the category’s advanced moderation tab. read more
How do I give badges manually – Tom_Nook_360 wanted to grant a badge manually. Satonotdead kindly pointed to the existing guide. read more
Discourse Forum with my Wix website – Gid explored deeper integration with Wix and proposed a partnership between Discourse and Wix, noting that Wix recently shut down its own forum app. read more
#Feature
Feedback for Ask Discourse – Matthewruzzi reported receiving “too similar” and “too quick” errors when interacting with the DiscourseHelper bot on ask.discourse.com. HAWK and Awesomerobot traced the issue to standard Discourse rate‑limiting and possible duplicate submissions. read more
Pin chat messages for increased visibility – J.Jaffeux posted a work‑in‑progress update on the pinning feature for chat, tagging Renato. read more
Add setting to not show flag notification to admins who are not moderators – Lilly implemented this feature as a setting in the Dismiss Admin Noise theme component, noting that it applies to all admin users and lacks per‑user granularity. read more
#Plugin
Resenha - Add Discord‑style Voice Rooms – Nicolsdennis praised the latest update with full‑screen rooms. Bird reported a mobile issue, but Falco confirmed it works after a recent Discourse update. read more
Discourse-Telegram chat bridge – Babylai presented a new plugin that offers real‑time two‑way bridging between Discourse Chat and Telegram, with support for Telegram forum topics, formatting, and rate‑limit handling. read more
#Theme component
Topic List Previews (TLP) – Merefield announced that TLP now renders masonry views in native CSS for Safari (and experimental flags in other browsers), massively improving rendering efficiency. read more
Dismiss Admin Noise! – Lilly improved mass notification handling and added a setting to auto‑dismiss pending flag notifications for admins who aren’t moderators, while still showing the count in the sidebar. read more
German translations contain translation elements – Putty reported that German translations sometimes include JSON wrapper artefacts. Falco proposed a fix in the prompt logic and advised users with custom translation agents to update their prompts accordingly. read more
Category description truncates to first paragraph for base language but not for Localizations – Awesomerobot confirmed the inconsistency and is making the translated descriptions follow the same truncation rule. read more
Double Likes showing up for reactions‑disabled sites – Tradegood spotted double like buttons appearing again. NateDhaliwal clarified that this is an intentional design change to align with the reactions system. read more
Other Categories
WP Discourse SSO does not synchronize local avatars – Miednr and Angus worked through debugging the wpdc_sso_params filter, concluding that the SSO code may not be firing correctly. read more
CSRFTokenVerifier::InvalidCSRFToken when initiating SAML login – Osman_Nuri_Mermer described a clean setup where SAML login fails immediately due to a CSRF token issue, suspecting a Rails 8 / OmniAuth interaction. read more
The Discourse team contributed across many areas yesterday.
Lindsey authored the removal of the Uncategorized category, explaining the migration process and the upcoming change toggle. read more
Moin helped a non‑English user set up per‑category moderators, referencing the enable_category_group_moderation setting. read more
Davidb updated the GIPHY migration thread with news about the global notice banner and later merged a fix for the missing condition when porting the component to core. read moreread more
Awesomerobot confirmed and fixed the category description truncation bug, ensuring translated descriptions follow the same first‑paragraph rule. read more He also helped diagnose duplicate flag issues in the Ask Discourse feedback thread. read more
J.Jaffeux shared an update on the chat message pinning feature read more and explained that the local‑storage approach for reactions was simply easier at the time. read more
Pmusaraj confirmed that a site requesting inclusion in Discourse Discover has been approved. read more
Falco proposed a fix for the German translation artefacts in the AI prompt read more and later advised Putty to update custom agent copies. read more He also confirmed Resenha works on mobile after a recent update. read more
Lilly pushed improvements to the Dismiss Admin Noise component, including a setting for auto‑dismissing flag notifications for non‑moderator admins. read more She also noted that the new feature is not granular per user. read more
Satonotdead swiftly answered a new user’s question on manually granting badges. read more
With the Uncategorized category being retired and GIF support moving into core, yesterday’s activity felt like a deep spring cleaning—and we promise no puppies were harmed in the making of this summary.
In the last 24 hours, the community generated 88 new posts across 32 new topics, accumulating 110 likes. The most active contributors by likes and posts were:
Eviepayne wondered about the update notice banner that appears after a forum update — Moin explained it’s a core feature triggered only when a browser tab has been open for a long time before the update. Read more.
Gid expressed genuine admiration for the Meta Branded theme featured on this very forum, calling it “quietly elegant.” Moin clarified that the theme is custom‑built for Meta and not publicly available, but similar effects can be achieved with custom development. Read more.
Copymonopoly reported a category slug validation error — when toggling the “Allow owner to edit first post indefinitely” setting, leaving the slug blank triggered a false “required” error. Awesomerobot confirmed it and removed the validation. Read more.
Tradegood noticed double like buttons reappearing on sites that have reactions disabled. Davidb traced it to the upcoming default‑enabling of Discourse Reactions; setting the transition to “No one” opts out. Read more.
Orioni spotted an aggressive AI crawler using the user‑agent lfc‑discourse‑public‑crawler that was hammering .json endpoints from Singapore. Awesomerobot suggested it might be a fork of the archival tool, and Orioni blocked it via robots.txt. Read more.
#Feature
Southpaw revived a long‑standing request to translate custom sidebar links and sections — Nat confirmed the team is working on it and will land it “soon™.” Read more.
Lilly contributed a theme component to allow admins to dismiss flag notifications if they are not moderators, and Mcwumbly weighed in on possible core improvements (make moderators the only hard‑coded notify group). Read more.
Mcwumbly chimed in on a request to configure the number of reaction buttons visible below a post, noting that Davidb is exploring making existing reactions clickable to join in. Read more.
Zard_W asked how to prevent proprietary product names from being translated by AI. Falco pointed out that you can customize the translation agent’s prompt to preserve specific terms. Read more.
Mireille_Coilhac (in French) asked how to disable automatic topic closure after marking as solved. Moin and Asa explained that the category‑level “Auto close solved topics” setting overrides the global solved topics auto close hours — and that currently each category must be set individually. Read more.
Irfandi found that tags were missing in API responses for non‑admin users. Supermathie confirmed that tags are visible by default and must be explicitly hidden. Read more.
Janbolmeson ran into Anthropic Sonnet 5 errors with semantic search and summarization — the problem was “assistant message prefill” in the Content Creator persona. Removing the prefill (or cloning and switching off the setting) fixed it. Read more.
#Site feedback
Matthewruzzi asked whether RSS feeds on Meta are allowed under the ToS. HAWK confirmed that RSS use is fine and not considered automated access, and offered to clarify the ToS wording. Read more.
#Theme component
Lilly released an update to Dismiss Admin Noise!, adding an auto‑dismiss setting for flag notifications for admins not in the moderator group. Read more.
The Team group stayed busy across several discussions:
Awesomerobot pinpointed the cause of the update notice banner (topic), fixed the category slug validation (PR) and speculated on the mysterious crawler (topic).
Mcwumbly contributed to the flag notification design (topic), the reaction visibility discussion (topic), and the post‑mark‑as‑read request (topic). He also invited concrete feedback on Discobot discoveries (topic).
Davidb explained the double likes issue as part of the reactions‑by‑default rollout (topic).
Chapoi confirmed the double likes regression and investigated a schedule logo change component (topic).
Falco advised on customising the translation agent prompt to protect proprietary vocabulary (topic) and queried Janbolmeson’s Sonnet 5 configuration (topic).
HAWK assured Matthewruzzi that RSS feeds are welcome on Meta and offered to update the ToS (topic).
NateDhaliwal noted that the double like buttons were intentional in a recent change (topic).
Nat confirmed that translatable custom sidebar content is coming soon (topic).
Martin updated a PR for granular group permissions and explained migration steps for theme components (topic).
Yesterday’s most unusual visitor was a crawler from Singapore masquerading as a Discourse tool — proving that even AI bots can’t resist the elegance of the Meta theme!
A lively day of discussion, with strong engagement from both community members and the Discourse team.
Interesting Topics
We’ve grouped the most notable discussions by category. Each topic includes a brief summary and a direct link to the conversation.
#Feature
Add setting to not show flag notification to admins who are not moderators – A spirited debate on how to stop non-moderator admins from receiving flag notifications. Mcwumbly laid out options (a group setting, hardcoding to moderators only, or personal notification preferences), Lilly quickly opened a PR for option B (which later closed), and Awesomerobot weighed in with a thoughtful sketch for granular notification preferences. The conversation also touched on category moderators and the risk of missing flags. read more
Feature request: make it possible to translate custom sidebar links and sections – After years of waiting, Nat announced that this is coming soon™ with a thumbs-up emoji. The feature will integrate with content-localization to allow translation of custom sidebar items based on user locale. read more
Configure number of different reactions visible below a posting – Mcwumbly shared that Davidb has been exploring ways to let users click an existing reaction to “join in,” which could also affect how many reactions are shown. This ties into ongoing work on reaction improvements. read more
Add RFC 5005 support to Discourse RSS feeds – Matthewruzzi proposed adding RFC 5005 (feed paging and archiving) to Discourse RSS feeds, which currently only show 25 items. This would allow readers to access older posts via RSS link relations. read more
Feature request: Limit topic translation to specific categories – Nat shared a PR that introduces a new setting type for selecting which categories (all, public, or custom inclusion/exclusion) can have translations. A clever way to have “our cake and eat it.” read more
Improve convenience in setting of auto-grid less than 3 images – Ethsim2 asked for a configurable threshold for auto-grid, which currently kicks in at 3 images. Mcwumbly proposed a broader rethinking of image groups with list/grid/carousel modes, and Chapoi and Renato were looped in for design thoughts. read more
Integrate shared DataExplorer reports into the UI – One1 requested a better interface for non-admin users to view DataExplorer reports, suggesting adding a link to the user menu or a group-scoped sidebar section. Nat and Awesomerobot offered design ideas. read more
Discourse AI: Need to Remove JSON Response to get Anthropic Sonnet 5 working – RGJ reported issues using Sonnet 5 on an older ESR version. Falco confirmed the model needs newer code (post‑2026.1) and that “trying to use a new model with an old Discourse is not a winning strategy.” read more
Emails failing to send, images not working, onebox issues after updating – Richie experienced a cascade of failures after an update, resolved by a full rebuild. The discussion explored possible causes (S3, SES, background services) and Moin suggested safe mode wouldn’t have caught all issues. read more
Update default FAQ language – Mireille_Coilhac asked how to show the FAQ in French by default. Moin guided them to the site_text replacement tool and noted the topic can stay in a private staff category. read more
#Self-hosting
New installer works well, but one hostname gave me fits – Philh praised the new installer but detailed a painful experience with a Let’s Encrypt rate limit that caused zero-byte certificates and refused connections. Falco acknowledged the issue and pointed to moving to nginx native ACME support. read more
#Site feedback
Feedback on Discobot discoveries results on meta – Matthewruzzi discovered that Discobot sometimes hallucinates (e.g., calling RFC 5005 “The WebSocket Protocol” when it’s really Feed Paging). Mcwumbly suggested better prompts but acknowledged hallucinations are hard to prevent entirely. This topic serves as a place to collect examples. read more
Are you allowed to use the RSS feeds on Discourse Meta? – HAWK clarified that the ToS language is aimed at abusive automation, not casual RSS use, and said the wording may be updated to be clearer. read more
Introducing the new Starter Plan! – Mkeys asked if the Starter Plan still exists. Mcwumbly confirmed it’s now a legacy plan, replaced by the Free plan, but offered to discuss alternative approaches. read more
#Extras
Modernized Foundation Theme Fuchsia CSS – Hipp0 shared a heavily customized Foundation theme with custom CSS for excerpts, thumbnails, and oneboxes, along with a color palette inspired by X.com’s white. read more
User-agent: lfc-discourse-public-crawler – Jagster noted that robots.txt is only a polite suggestion and suggested handling such crawlers at the nginx level. read more
Lilly – Immediately implemented a PR for option B (notify only moderators) but later closed it after team feedback indicated a different direction. Also chimed in on the FAQ language topic (as a side note) and offered thoughts on the installer paste feature.
Falco – Addressed the Let’s Encrypt rate limit issue in the new installer, explaining the plan to move to nginx native ACME support. Also helped troubleshoot the Anthropic Sonnet 5 problem, confirming it’s a compatibility issue with older Discourse versions.
Martin – Engaged in the granular group permissions discussion, considering adding disallowed_groups functionality to theme setting objects based on Moin’s feedback. Also noted that his ad component uses string group names instead of the group type setting, and agreed to explore improvements.
Despite the ACME rate limit jail that kept poor Philh from installing his forum, the community’s enthusiasm for improving Discourse soared higher than a freshly issued Let’s Encrypt certificate — complete with a free side of RFC 5005.