MartijnvdWiel asked how to create a group with fewer permissions so it can only access one category, and mcwumbly outlined a CSV-driven bulk group migration workflow suggestion after the initial query here.
wlandgraf explored the placeholders available in AI persona prompts (like <POST_NUMBER> and {resource_url}), and Falco explained that full documentation will follow once prompt customization ships discussion after the original question here.
Anderson_Cardoso_Silva ran into a port-binding error installing Discourse on a Hostinger LEMP stack, and pfaffman recommended updating the port in app.yml then restarting via the launcher solution after the initial install failure details.
JImSculley reported a “giant font/missing fields” issue in incognito mode behind Cloudflare, and pfaffman advised disabling the Cloudflare proxy or speedups per the Best Practices guide advice after the report here.
用户 祁同伟 post in Chinese about a forum update failure and inability to access the site, and pfaffman traced it to non-standard plugins—comment them out and rebuild to restore access solution from the original report here.
JammyDodger helped Semon troubleshoot a missing Poll menu point, confirming the correct site link and ultimately identifying a provider rebuild as the fix resolved after the initial inquiry here.
pmusaraj published the 3.5.0.beta4 Security fix release, patching a homepage data-leak window and announcing plugin improvements; see the security advisory post 1 and feature recap post 2.
Community members celebrated the announcement of a new Community Manager, with hellekin offering congratulations reply and Falco reminding everyone of the Co-CEO update reminder.
In a Feature thread, hellekin noted that URLs containing unescaped parentheses fail in Markdown links, and Falco walked through CommonMark-compliant escaping techniques discussion after the original report here.
EricGT asked about an official Discourse Model Context Protocol (MCP), and sam confirmed no official MCP exists yet as adoption is under observation update after the query here.
祁同伟 discovered that anonymous chat channels are visible but not enterable, and joffreyjaffeux clarified that chat does not yet support anonymous mode in the short term explanation from the initial report here.
merefield announced the migration of the Bars Tag List Component to Glimmer and a rename to tag-list-component, pointing to the updated GitHub repo repo and new codebase reference post 11.
#Administrators
In a longstanding #Administrators thread, nathank highlighted the Communiteq Private Topics Plugin as a ticket-system alternative, and mcwumbly shared Discourse’s own group-inbox workflow for PM-based support insight after the original discussion here.
Theme component official#disco-toc: In DiscoTOC – automatic table of contents, JammyDodger explained how adding <div data-theme-toc="true"> and at least three headings triggers the TOC component, and highlighted the new “Enable TOC for replies” setting to support replies (see posts 455 & 456). read more
Announcements In Meta has a new Community Manager!, NateDhaliwal asked about the future of the Community Support Program and tobiaseigen thanked everyone for the warm welcome, noting HAWK’s mentoring role and promising to look into the program’s continuation (post 11). read more
#Using Discourse #trust-levels: In Trust Level Permissions Reference, JammyDodger flagged that muting appears at TL1 (not TL0) and Lilly promptly updated the document to reflect the correct permission (post 70). read more
Dev In Recent replies takes 2 seconds to display, supermathie questioned why custom code was needed and Arkshine noted that multiple API requests (one per topic) explain the delay, prompting suggestions to use a plugin or custom SQL for speed (see posts 2 & 3). read more
Theme component official#advanced-search-banner: In Advanced Search Banner, users on narrow or mobile screens saw the search bar missing until awesomerobot released a fix—updating the component restores the search box on all viewports (posts 173 & 175). read more
#Integrationsdata-explorer#rest-api: In Run Data Explorer queries with the Discourse API, blake confirmed that multipart/form-data, application/x-www-form-urlencoded, and application/json all work as Content-Types and provided a Python sample for running queries via the API (post 63). read more
Support#question: For 内容回复后可见是哪个插件或者主题组件的功能?, RGJ pointed to the Private Replies plugin’s private_replies_participants_can_see_all mode to hide content until after posting (post 8). read more
Theme component: In Watermark Image, users noted GIFs auto-converting to PNG; Arkshine pushed a fix that restores proper GIF uploads (posts 41 & 43). read more
AnnouncementsIntroducing a new visual layout for themes and theme components by hugh unveils a gallery-style theme browser with thumbnails and quick details; theme authors can follow this guide to add previews (post 1). read more
Support On 论坛更新失败,现在进不去了, merefield advised deleting unused themes/plugins and retrying the update to regain access (post 5). read more
Support In Can posts be edited when someone else is typing a reply?, JammyDodger recommended splitting large topics via Auto close topics create linked topic; testing confirmed it works for both visible and unlisted threads (posts 3 & 5). read more
PluginDiscourse Chatbot release 1.5.3 by merefield improves the Post Launch button placement, refines chat kick-off messages, and removes console warnings for a smoother experience (post 1097). read more
SupportWhich roles are allowed to mute other users? saw JammyDodger confirm that muting is available from TL1 onward and noted the Ignore feature defaults to TL2 (post 4). read more
Theme component #mobile: In F NAV – Mobile Navigation Tabs, Don provided a fix for icon labels and sidebar behavior on mobile devices, enhancing navigation in landscape and portrait modes (post 53). read more
In a request for iOS sharing, awesomerobot reviewed Apple’s Web Share Target API status in feature 365155 (Feature) and pmusaraj confirmed Discourse Hub’s existing share extension under “More” in iOS’s share sheet details.
merefield brainstormed enhancements for Android’s share extension to route URLs to the title and text to the body, prototyping in discourse-share-to-link-oneboxer ahead of the draft PR (32631).
hugh shared progress on supporting #light and #dark palettes in the theme editor, promising dual palette selection for all themes in an upcoming release (more).
thoka spotted that quick search results hide the PM icon when using in:all (screenshot), while full search displays it correctly, prompting nat to take on an investigation follow-up.
osmith noted inline oneboxes still masquerade as Safari (issue), bypassing the SiteSetting.onebox_user_agent override for big vs. inline previews.
Jagster reported that the proofread tool mangles quote previews in the composer’s animated diff (example), and Falco suggested moving diff rendering to a raw comparison stage discussion.
RGJ recommended updating “you don’t have any messages” to context-specific notices like “This folder is empty” to reduce ambiguity when navigating message views (suggestion).
angus announced merging the PR to preserve images in federated ActivityPub posts (plugin: discourse-activity-pub) PR#197 and confirmed the fix is in the next release details.
#Site Management
Moin highlighted that default group assignments aren’t applied in bulk invites, and Southpaw updated the bulk invite guide to include default group behavior.
sam noted the removal of the “back to forum” button in the AI bot homepage UX, advising users to update their instances for the latest fixes seen here.
Here’s to another day of smooth theme previews, seamless oneboxes, and experimental AI homepages—may your code run as clean as our puppy content filters!
Moin noted an endless spinner on a user’s Activity page when they have no posts, which awesomerobot also fixed to stop the loader.
stance455 reported that the Proofread breaks quotes feature was incorrectly editing quoted text; the team is investigating whether it should skip blockquotes altogether.
Contributors ran into a “500 error” when adding a Language Tag with the Multilingual Plugin on certain ActivityPub topics, and are exchanging repro steps to isolate the regression.
UnheardBatting317 asked why PeerTube previews now show "image_url": null in the category JSON files; pfaffman suspects remote thumbnail scraping restrictions on the PeerTube instance.
Olle11 noticed the “drop down-menu” under settings didn’t pick up core translations, and Moin explained this is provided by the Theme component Quick Profile Links Menu, so updating its “label” setting fixes the issue (post #3) read more
KhoiUSA reported that the Topic summary tool hung on Gemini 2.0 Flash with an “Invalid JSON payload” error, and Falco asked what model was in use to help troubleshoot the new AI summary feature (post #3) read more
serkhelesheyi discussed search problems where topic titles containing ال aren’t matching those without the article, seeking an index normalization or plugin solution (post #1) read more
zhongziqi in dev-install struggled to verify SMTP in a WSL2 Docker set-up as Mailhog just showed KEEPALIVE messages, and NateDhaliwal pointed out that in development mode credentials aren’t required and shared the core defaults config (post #3) read more
MichaIng traced an endless load behind Cloudflare to the Automatic HTTPS Rewrites feature clashing with a proxy’s mod_sed, and found disabling either filter resolves the hangs (post #15) read more
JammyDodger dug into the Bug where manually deactivating a user doesn’t trigger revalidation emails and found that enabling must approve users hides the resend-activation UI, then flagged it as a potential bug for review (post #4) read more
Jagster confirmed that long-press and select were broken in chat on Android, re-testing after a fix and reporting the functionality is restored (post #4) read more
tknospdr asked where assignment statuses appear in the UI for assign, and NateDhaliwal pointed out the “Edit Assignment” tab hidden under the Unassign… button, sparking discussion on making statuses more visible (post #216) read more
JammyDodger argued that comments in post-voting should remain lightweight, while Sam noted that voting on the OP is a configurable site preference (see post #6) read more
Mark_Wass ran into a build error upgrading the #official-solved plugin, removed it from app.yml, rebuilt, re-added, and confirmed the update is now working again read more
aas reported 502 errors testing the perplexity/sonar-deep-research model in ai, highlighting a ~30 s delay before failure and sharing console logs to trace the issue read more
tknospdr wants to dynamically add company tags to a tag-groups field restricted to support tickets, exploring the undocumented /tags/upload.json API after NateDhaliwal’s suggestion (post #2) read more
Changes to /admin/users/list/all.json API response structure? Richie discovered that the endpoint now wraps user objects in a users array, breaking SSO integrations, and RGJ pinpointed the commit adding root: :users in the admin controller. read more
Categories Missing from categories.json Despite Existing in the System (Custom Theme) Steve_John struggled to expose hidden categories in a custom theme, and pfaffman recommended sharing JavaScript snippets and GitHub links to trace the issue. read more
Can I make user unmentionable?
A moderator workflow question revealed that suspended users are hidden from autocomplete for non-staff, with tips from JammyDodger on customizing js.user.suspended_permanently and js.user.suspended_reason. read more
How to prevent spam posts?
A newcomer asked about blocking varied spam, and sam recommended installing the discourse-ai plugin with the anti-spam module (e.g. free tier of Gemini 2.5 flash). read more
Dropping iOS 15 & other old browsers in July 2025 sam highlighted Thorium as a modern browser solution for legacy Windows, sparking discussion on enterprise browser support. read more
Introducing admin sidebar navigation
Feedback on the new sidebar flow led sam and hugh to brainstorm mobile search behavior and tab ordering for themes vs. components. read more
Should a deactivated user receive an email?
The interplay of invite_only, must_approve_users, and missing activation emails was debated, with sam recapping the need to validate emails before admin approval. read more
Summarize Topic with AI loads indefinitely, Invalid JSON Payload Received?
Users saw infinite loading and JSON errors; Falco traced it to the Google Gemini endpoint and suggested switching provider settings. read more
TypeError: Cannot read properties of null (reading ‘en’) sam confirmed a linked issue had been resolved and closed the topic, restoring proper quote parsing. read more
Hooks for customization of digest and notification emails
A call for sponsored segments via plugin hooks prompted pfaffman to reference the digest_custom_html discussion and html_safe tips. read more
Provide visual cue when a topic is receiving an AI response
The idea of “AI is typing…” leverage was raised, suggesting use of presence notifications to signal ongoing AI generation. read more
Add setting to control topic bump from “small action posts”
A request for an admin toggle to suppress staff-action bumps (e.g., auto-close, pin) surfaced concerns about unread lists pollution. read more
Discourse Solved
On the official plugin roadmap, a user asked how to add an “Unsolved” filter alongside Top/Hot/Latest on the homepage, spawning widget suggestions. read more
Discourse Dynamic Groups
A discussion on the plugin’s user-field limitations versus core group automation led nathank to contrast both approaches. read more
Category badge missing in mobile search results Moin uncovered missing badges in mobile search, and sam flagged recent style tweaks as the likely culprit. read more
On Plugin, JammyDodger noted that the “scores for today” job in Discourse Gamification now runs hourly instead of daily details, and Falco promptly updated the plugin wiki to reflect this change see update.
In Feature, per1234 requested an admin-level toggle to suppress “small action” bumps in Add setting to control topic bump, with JammyDodger recommending the “consider topics unread when closed” preference 2, Moin pointing to the original GitHub commit 4, and ongoing discussion around default application 7.
In UX, Moin discovered that (TM) now renders as the :trade_mark: emoji (not ) in posts—causing contrast issues on dark palettes—in is replaced by emoji.
In Theme feedback, Moin noticed missing category badges in mobile search results on the Meta Branded theme in Category badge missing, with chapoi confirming it was theme-specific 6.
Posts in Topic filter not working TomoftheFog reported a blank topic when using the “X posts in topic” filter, with JammyDodger identifying a TypeError: i is undefined in the console, and Arkshine submitting a PR to fix the post-badges component. read more
FontAwesome Pro Plugin Not Changing All Default Icons DavidTCole observed that icons like layer-group and inbox remained unchanged despite installing FontAwesome Pro, prompting Arkshine to compare icon lists and draft a PR for correction. read more
Chat image uploads fail under private S3/CDN Super_James showed inconsistent thumbnail URLs pointing to private S3 while originals used the CDN, and tgxworld confirmed the mismatch and flagged it under member-experience for investigation. read more
Beta dev version showing in Dashboard HenrysCat reported their cloud install displayed 3.5.0.beta5-dev instead of a pure beta, and Moin clarified that the -dev suffix marks interim development builds (see release docs). read more
Text watermarking in Theme Component tknospdr asked why text overlays aren’t supported in the Watermark component, and Arkshine explained that image-based watermarks offer more flexibility while ondrej suggested building a custom theme component or posting in Marketplace. read more
Prominent AI chatbot link Angela_MRS sought a larger, corner-anchored chat widget icon, and Lilly demonstrated a custom sidebar link while Jagster noted mobile and dropdown placement considerations. read more
Adding emojis to tags ja_ke asked how to include emojis in tag names, and nolo pointed to the Tag Icons theme component as the solution. read more
Locale-specific custom header links Michael_Liu discovered that underscores in locale codes (e.g., zh_CN) prevented header links from displaying, and awesomerobot proposed support for both dash and underscore via a PR. read more
Bulk adding external email addresses pfaffman warned against emailing unverified addresses and nathank suggested using Discourse itself as the RSVP form to ensure opt-in consent and data integrity. read more
Reader badge backfill errors jimmy0017 reported massive post_timings growth and frequent backfill failures, and JammyDodger recommended checking for mega-topics with a Data Explorer query and running a concurrent REINDEX to reclaim space. read more
Migrating annual to lifetime subscribers tchristensen wanted to shift users from annual to lifetime plans without recharging, and blake confirmed manual cancellation and group reassignment remains the only supported method. read more
Trademark symbol rendered as emoji joffreyjaffeux identified that (TM) was being replaced by an emoji and submitted a fix in core (PR #32713). read more
DiscoTOC broken without replies on mobile JammyDodger reported that the Table of Contents component fails to appear for reply-less topics on iPhone/Safari, asking for a fix to avoid scrolling to the page bottom. read more
GitHub onebox padding issue NateDhaliwal noted that long repo names lacked side padding in the GitHub onebox, causing the text to touch the edge and disrupting UI consistency. read more
Header overlaps composer on mobile NateDhaliwal found that the site header covers the topic and reply composers when the mobile keyboard opens, sharing screenshots to illustrate the stacking context issue. read more
Passing data to AI artifacts markschmucker asked how to supply custom payloads in the artifact API topic, and sam pledged to experiment with implementation details today. read more
Hiding ActivityPub status labels Olle11 wanted to remove “not published via ActivityPub” notices, and pmusaraj recommended CSS targeting .activity-pub-topic-status.not-published to hide that element. read more
sam announced a major upload enhancement—iOS bugs fixed and 10 MB image uploads now optimized on the fly in the Rust/WebAssembly/MozJPEG blog post: link
Lilly guided Angela_MRS on embedding a custom “Ask the bot” link in the sidebar and dropdown for ai chat access: link
awesomerobot addressed locale syntax for custom header links, normalizing dash/underscore support via PR: link
joffreyjaffeux investigated the DiscoTOC mobile rendering bug and requested reproduction steps in UXlink
joffreyjaffeux also collected Android keyboard screenshots to diagnose header overlap in the mobile composer: link
blake explained the manual process for moving users between subscription plans in the Discourse Subscriptions plugin: link
tgxworld reproduced the private S3 thumbnail/CDN mismatch issue and flagged it under #member-experience:link
pmusaraj advised CSS tweaks to hide ActivityPub status messages for unpublished topics: link
david highlighted hiding quick-edit buttons on developer docs and pointed to the GitHub source link for PRs: link
sam promised to prototype the artifact data API and report complexity findings shortly: link
Stay curious, and may your posts always render exactly as you expect—no puppies harmed in the making of this summary!