Falco kicked off a deep dive into the inconsistent use of Solved, Completed, or Fixed tags and flags, proposing the removal of the rarely used completed tag to reduce flag clutter in the review queue (Inconsistent marking…).
mcwumbly outlined a phased plan to reshape Meta’s category layout—with updates starting Feb 23 and a potential revert if feedback is rocky—following the community’s meta-redesign-2026 discussion (Updating how categories…).
Falco wowed us with animated SVG loader experiments using Google Gemini Pro 3.1, sharing prompts and the resulting Raspberry Pi-inspired animations under the splash tag (Branding the splash screen…).
Moin showed how to leverage dark-light-choose() in color_definitions.scss to maintain a single CSS rule for both dark and light palettes in heavily customized themes (Easiest way to make a light theme…).
awesomerobot reminded everyone that core functions aren’t meant to be overridden and steered customizers toward building new helpers instead of monkey-patching (Override core function).
long and awesomerobot collaborated on a theme component to position group icons after usernames—much like avatar flair but in text—and published an example on GitHub (groups) (Ability to assign icons…).
hipp0 called out the inability to rename custom emojis without reuploading, reigniting the longstanding emoji feature request for inline editing (Modify Emojis after uploading).
philh suggested making the Jump to end link float when a topic’s table of contents exceeds a certain length, so it remains accessible on long threads (disco-toc) (Jump to end Placement).
darkpixlz discovered that SKIP_CONNECTION_TEST=1 doesn’t bypass the SSL check in install-discourse, but switching to --skip-connection-test works as expected (SKIP_CONNECTION_TEST does not work…).
supermathie and pfaffman traced an “end of file” SMTP hang to QQ’s server prematurely closing the connection, rather than a certificate mismatch (Smtp 怎么修改配置…).
gormus uncovered that tag-chooser fields inject tag IDs instead of names and conflict with category-restricted tag-group settings, clarifying the intended behavior in form-templates (Tag-chooser tags are not allowed).
Lou reported that embedded calendars in topics did not display events despite showing in the category header, highlighting a quirk in the built-in calendar-and-event feature — details here
stephtara raised confusion over the reference to large_icon in Appearance → Logo settings; ToddZ and Moin noted inconsistent naming between Large icon and Square icon across #branding interfaces — ux discussion
newbit1337 flagged that “Arrive at topic” is omitted when re-sending invites; tobiaseigen confirmed the invite flow still lands users correctly answer, while JammyDodger noted the missing thread title is purely a UX oversight — Jammy’s note and bug report
ondrej suggested hiding the Digest UI on free-plan sites to reduce confusion, which sparked a broader conversation on subtly upselling premium features — discussion
hipp0 proposed sortable Time Read and Username columns on the users directory, echoing earlier requests for improved user-directory sorting — feature request
Noble_Fish advocated for customizable keyboard shortcuts (e.g. remapping Ctrl+F or Ctrl+Enter) to accommodate user habits, opening a discussion on default vs. user-specific keyboard-shortcuts — read more
hipp0 explored integrating subscriptions Crypto payments via Stripe’s onramp API, outlining integration challenges due to the lack of unique body IDs — integration notes
Noble_Fish demonstrated that paused GIFs reset to the first frame instead of pausing at the click point, suggesting an update to the polls animation code — see GIF
祁同伟 spotted a [missing %[count} value] error in AI semantic search (ai-search), traced to outdated translations after an English string change — error details
Luna_Mora found that reopening an archived chat channel triggers the “close channel” modal and errors out, revealing a bug in the chat reopen logic — details here
#Translations
stephtara questioned why English uses the noun Page Publishing instead of the verb Publish Page, after French translations highlighted awkward plurality — translation thread
stephtara explored whether it’s worth using the Page Publishing feature for content already in a public category, asking “does it really make sense to also publish them?”
“For me, the main advantage of the Page Publishing functionality is that it allows us to make public something that would otherwise have been private…” read more
sam resolved a deprecated beta header issue in the Discourse AI bot integration, pulling in the latest headers to keep AI features running smoothly read more
sniper756 reported a search page display issue in Chinese mode, and nat confirmed that updated translations will remove the stray %{count} interpolation in AI filters read more
sam confirmed a regression where numerical tag IDs appeared instead of paintbrush icons in the tag chooser, and work is underway to restore the correct emoji display read more
RGJ uncovered a subfolder routing problem that breaks the admin user export link in subfolder setups, proposing a quick Ember route fix to ensure exports download reliably read more
sam noted that pausing GIFs on the exact frame is too performance-heavy in the browser, recommending MP4 as a reliable alternative for consistent frame control read more
markersocial requested an API endpoint for deleting uploads, sparking discussion on adding a RESTful DELETE /uploads/{id} route to the Discourse API read more
long struggled to add events to a category calendar using [calendar] markup; nathank clarified that you should use the composer + menu’s Create event option instead of raw [calendar] blocks read more
kgreed asked how to suppress public profile details when someone likes their post, and Canapin & Moin walked through the Hide my public profile and site-wide profile-hiding settings read more
stephtara reported that editing an existing link overrides custom link text with the topic title; ToddZ and stephtara brainstormed UI tweaks to preserve the original link text by default read more
Noble_Fish discovered a badge exploit where a single-line plain-text link can trigger three newcomer badges at once, crafting an ingenious (if unintended) onboarding hack read more
Canapin speculated on whether Discord’s upcoming age-verification changes could drive new Discourse communities, sharing insights from discordless.com and debating alternative platforms read more
NateDhaliwal ran into a CSS compile error under MiniRacer while rebuilding the app and is experimenting with reverting to the stable JS runtime to resolve the issue read more
#Translations
stephtara flagged that French date formats on published pages show month/day in the wrong order and use uppercase month names; Moin traced the datetime_formats strings on Crowdin for correction read more
sam provided guidance and confirmed regressions across multiple Feature and Bug threads, including pausing GIFs (link), the paintbrush regression in the tag chooser (link), the minor-edit revision regression (link), the tag synonym deletion fix (link), board-view filtering on hold (link), composer freeze diagnostics (link), archived-channel reopen behavior (link), and AI bot header updates (link).
nat tackled localization and integration issues by landing a translation fix for the Chinese search page bug (link), patching private-tags webhooks (link), and clarifying calendar event creation (link).
chapoi weighed in on site feedback and documentation: refining status-tag conventions (link), merging the Time Read column request on user directories (link), debating tag-form visibility controls (link), and authoring the new Trust Levels guide (link).
HAWK chimed into support for calendar embedding, clarifying the difference between embedded and topic calendars in Discourse (link).
Bugs are squashed, puppies are safe—see you tomorrow for more meta adventures!
Mid noticed the removal of the --two-container flag in the discourse-install script, sparking debate on advanced-setup support and prompting Falco to explain why the option was streamlined read more.
chapoi unveiled the first round of report grouping and cleanup in the Reporting & Analysis admin dashboard redesign, organizing charts by Engagement, Traffic, Members, Content & Health, Moderation, and Security read more.
awesomerobot shared mockups for a simplified category setup interface, moving settings into clear, grouped layouts to reduce cognitive load read more.
Jesse_Starks asked how to redirect users to a specific category on login. Moin showed how to reorder the Top Menu site setting or use a custom homepage theme component read more.
In the same thread, Jesse_Starks looked to disable the “hot” label in the Horizon theme, and darkpixlz plus Moin guided them through theme and navigation menu tweaks to hide post labels read more.
shortmort37 wanted Facebook sign-ups to bypass manual approval. chapoi explained current limitations, shared the invite-link changes, and pointed to feature requests and the Custom Wizard Plugin as possible workarounds read more.
MHillyer explored adding MaxMind IP and geo data to signup webhooks. pfaffman probed the use case and plugin landscape for enriching webhook payloads read more.
long asked how to send new users to a welcome topic after email confirmation, prompting tips on the /wizard flow and site settings for post-registration redirects read more.
jrgong sought to create slide-style posts. The discussion covered browser-based Markdown-to-slide libraries like Remark.js and Reveal.js as theme component candidates read more.
RespondingO announced they were looking for a Discourse forum developer, drawing suggestions on self-installation docs from merefield and requests for spec details read more.
#Self-hosting support
Andrés_Tarrío asked if manually upgrading pgvector to 0.8.0 is safe before running the migration. Falco confirmed it’s a supported scenario for hosted PostgreSQL services read more.
NateDhaliwal ran into CSS compile errors with MiniRacer on a 1 GB RAM VPS. The thread explored swap-space tweaks and resource constraints for Docker rebuilds read more.
pfaffman fixed an issue where IPv6 addresses appeared as 172.17.0.1 by disabling Docker’s userland proxy, restoring accurate client IP logging read more.
Moin flagged broken Data Explorer links after an automation URL change. martin deployed a redirect to preserve existing bookmarks and sidebar links read more.
Canapin reported an error popup when suggesting tags on an already-tagged topic, revealing tag duplication quirks and prompting minor composer UX fixes read more.
philh sought help getting proper thumbnails on Bluesky, and awesomerobot explained how to configure the OpenGraph image for best results. read more
ice.d reported repeated prompts to rebuild the Discourse launcher on non-SSH setups, sparking a discussion about upgrade workflows and owner responsibilities. read more
#Announcements
chapoi detailed incremental changes to Admin Reporting & Analysis, removing certain reports from the main dashboard and asking for feedback on grouping and usage. read more
ToddZ and martin clarified the rollout of the Upcoming Changes system—including hidden settings, menu items, and the plan to remove enable_upcoming_changes once stable. read more
#Integrations
gilles and pmusaraj debugged a Discord SSO integration error, ensuring proper callback URLs in the OAuth2 redirects to resolve an “Invalid OAuth2 redirect_uri” issue. read more
#General
zogstrip and Noble_Fish discovered that a single line of text can trigger three badges for new users, prompting proposals to limit simultaneous badge awards. read more
Moin questioned why “Required” and “Enum” labels in AI-tool parameter forms are hardcoded instead of translatable, leading to a pull request that exposes them for localization. read more
Canapin highlighted a UI glitch where long categories + subcategories are truncated without proper bullets when editing a topic’s title. read more
#Feature
zogstrip and markersocial debated the use case for upload deletion via the API, covering shared-resource risks and existing cleanup mechanisms. read more
Canapin proposed making a long-press on l trigger the emoji selector—bridging touch and keyboard interaction for reactions. read more
Max_Schwab posted a [PAID] Senior Discourse Developer role seeking expertise in infrastructure, SSO, accessibility, analytics, and SEO, prompting vendor responses from Communiteq and others. read more
isaac merged a fix for the missing Edit Code button in the Theme Creator, restoring the in-UI editor. read more
nat closed out an issue where the Tag-chooser was rejecting tags with uppercase letters, re-enabling proper tag creation. read more
#Self-hosting
R23D_Printing puzzled over an SMTP server error banner despite successful test emails from Google Workspace, leading to troubleshooting with Mailgun and relay configs. read more
Introducing Volunteer Moderators on Meta Danielle announced a new Volunteer Moderators program to keep Meta welcoming and organized without granting staff-level powers.read more
You’re invited to try the Discourse Free plan beta! rishabh and the team clarified free-plan limits—custom domains aren’t included and self-hosting remains the path to extra features.read more
Support
Use of H1 vs H2 headings in composer stephtara asked why # produces <h1>; Canapin and bryce pointed to CommonMark’s spec and shared CSS hacks to hide H1/H2 in replies.read morelegacy discussion
Newbie question: Is there a comprehensive guide to configuring and administering Discourse instance? Glaudeman sought an end-to-end admin guide; responders pointed to Documentation, Community Wiki, and Ask Discourse.read more
Theme component
Discourse Age Check RGJ released a birthday verification component for signups; awesomerobot highlighted GDPR best practices for storing user data.read more
Self-hosting
Error on login page about SMTP server not being configured R23D_Printing saw a phantom SMTP warning; tgxworld tracked it down to a regression and merged PR 38074 to resolve the display bug.read morefix merged
Bug
Display full name not username when attributing quote in RTE Jesse_Starks reported that quote blocks still showed usernames in the rich text editor; Moin reproduced it and traced it to WYSIWYG mode.read moreoriginal intent
No indicator whether content translation is enabled or not Moin noted the content-localization toggle now only dims the icon, breaking WCAG contrast standards and making state unclear.read more
Finding subcategories via the category dropdown in the topic list mcwumbly suggested counting hidden subcategories toward the 10-option limit so the search field always appears in the #topic-list filter.read more
WordPress
WP-Discourse not connected and admin email not recognized shaiful’s localhost SSO test failed; angus recommended using a remote Discourse instance to eliminate local networking issues.read more
Marketplace
[PAID] We offer automated feed integration for Discourse JeroenR showcased his RSS/XML/YouTube service via VISIE Connect; community members advised on demo sites and improving marketplace credibility.read more
Feature
Flags should trigger the favicon notification icon darkpixlz requested that new flags bump the favicon badge like replies and likes for better visibility of moderation queues.read more
Using Discourse
Discourse Trust Levels: A Detailed Explanation pHneutre asked if TL requirements are AND- or OR-linked; chapoi clarified admin overrides and TL locks, and Moin noted group-based minimums.read more
More threads worth a quick skim (high activity / fresh developments)
Locations Plugin shipped a maintenance release and then moved to crowd-funding new map features — read more
A large-scale migration discussion kicked off: 800k topics, 12k DAU, 400k pageviews/day — read more
Translation lifecycle oddities: rewind strings reportedly reappear for translation every release — read more
Missing translations after releases were called out again — read more
Feather icon gaps sparked PRs and a suggestion to switch to Lucide — read more
A “multiple notifications from edits” scenario was documented in detail — read more
Foundation theme modernization hit a “z-index weirdness (now gone)” moment — read more
WP-Discourse login redirect issues traced to a membership plugin; a patch plugin was used as a stopgap — read more
Discourse Category Headers theme component troubleshooting continued — read more
Calendar/event editing permissions got another round of debugging — read more
Interesting Topics
#Site-feedback
Meta category organization experiment continues:mcwumbly explored the tradeoffs between “category groups” vs parent categories, posting restrictions at the top level, and making subcategories easier to discover (with visible subcategory boxes and improved descriptions) — read more
Meta Branded redesign theme refresh landed (purple + typography):NateDhaliwal noticed a sudden styling shift (rounded UI, blue-to-purple primary), with the team confirming it’s part of the new brand guidelines and collecting feedback — read more
Volunteer moderator program: group messaging visibility + “how do I join?”:Danielle announced that everyone can now see/message @VolunteerMods, and clarified that Meta is still in an early pilot with a small initial cohort — read more
A new wcag-palettes tag was added for accessibility palette discussions: After a request, mcwumbly created the tag and applied it to relevant topics — read more
Free plan UX polish: the “Digest UI” was still visible on the free plan, and keegan shipped a change to hide it and show an upgrade prompt instead — read more
Finding subcategories via the topic-list category dropdown: as the Meta category reshuffle continues (meta-redesign-2026), mcwumbly cross-posted context and discussion focused on improving subcategory discoverability without awkward nesting — read more
Inline links to subcategories are getting unwieldy: building on the Meta category changes, mcwumbly opened a focused UX thread about making subcategory links more concise in normal prose — read more
Should unlisted topics appear in “Related”?ToddZ questioned why unlisted topics are excluded from search but can still surface in Related, and whether that mismatch adds noise — read more
Self-host install “404 Not Found” resolved (tiny typo, big impact): a Hetzner install failed because the URL used discourse-docker instead of discourse_docker; the underscore fix solved it — read more
Gate posting on acknowledging rules (by “liking” a post): a self-hosted admin described a working workaround using badge SQL + a badge-triggered group + Discourse Automation, so users can only post after liking the rules topic — read more
Preserving SEO when merging threads:awesomerobot advised using permalinks to create a 301 redirect from the old (deleted/merged) topic URL to the surviving topic — read more
User directory visibility when hide_user_profiles_from_public is enabled: the setting description changed, and the nuance is that the directory can remain visible through the API, even if the UI redirects anonymous visitors — read more
#Self-hosting
“HTTPS false error” that wasn’t actually nginx: the root cause was unexpectedly human—someone installed the wrong app (Discord mobile) and tried to log into Discourse; switching to Discourse Hub fixed it — read more
First visit taking ~30 seconds (Chinese thread): switching on Cloudflare reportedly brought first-load times down to ~1 second — read more
#Extras
OpenClaw agent integration plugin for Discourse: a new plugin offers tools to search, read, find unanswered topics, and optionally post/reply—while Bas strongly urged clear labeling if anyone enables AI-generated posting — read more
mcwumbly continued iterating on Meta’s category structure, outlining pain points (posting in containers, filtering parents, subcategory access) and shipping incremental configuration changes — read more. He also refined the “Community Building / General / Support” top-level split — read more. He added the requested wcag-palettes tag — read more, and pointed theme feedback into the new redesign thread — read more. He additionally opened a dedicated UX follow-up on subcategory link verbosity — read more, and cross-posted subcategory-discovery context into UX — read more.
manuel confirmed the purple color + font shifts are intentional alignment with Discourse’s new brand styles (and not open to ad-hoc tweaks), while still inviting feedback for overall polish — read more.
Danielle updated the Volunteer Mods rollout: the @VolunteerMods group is now visible/messageable to everyone, and she explained that joining isn’t open yet beyond the initial invite set — read more.
keegan fixed a plan/UX mismatch by hiding Digest UI controls on the free plan and adding an upgrade indication — read more.
awesomerobot delivered the practical SEO answer of the day: use admin permalinks to 301 old topic URLs to the merged canonical topic — read more.
Bas weighed in on agent automation etiquette, urging anyone using AI agents to post content to clearly label it as AI (and suggesting a default signature setting) — read more.
Falco clarified a renamed site setting for controlling anonymous search rate limits (rate_limit_search_anon_global_per_minute) — read more.
chapoi covered a lot of ground: a candid take on whether Discourse should “nudge” third-party communities about accessibility/theme choices — read more; confirming an iPad composer UI bug and committing to investigate a fix — read more; and explaining why pruning reports (instead of burying them) helps validate what’s truly valuable — read more.
jordan.vidrine investigated a Foundation theme z-index report, asking for confirmation whether it reproduces only with the update enabled — read more.
martin looped back on reproducing a translation-related “upcoming changes” issue — read more.
With categories being reshuffled and the brand refresh turning buttons purple, Meta was basically redecorating and reorganizing at the same time—try not to get lost on your way to the “Related” tab tomorrow.
Meta’s branded redesign drew lots of eyes—especially around forced accents, font choice, and contrast on mobile.manuel dug into why brand themes don’t play nicely with user-selected palettes (and why Meta’s many schemes make this tricky) (read more), while Moin suggested exploring ideas like Targetable Color Schemes (read more). The discussion also touched on logo clashes in dark mode (read more) and how “very purple” it feels to some (read more).
“Do we have AI development skills/guidelines for Discourse?” sparked a practical thread on how to make AI coding actually work. In the Chinese-language topic, Falco emphasized that context and a real local dev setup are key, and pointed to existing work like the repo’s AI agent guidance (read more). Canapin also linked prior real-world experience with Claude-based Discourse development (read more) and a mostly-AI-built plugin example (Topic Gallery) (read more).
Best practices for building a “simple CSS-only theme” turned into a sober look at why UI consistency is hard.Canapin described how changes to nav pills/select-kit ripple into other contexts, and why the /styleguide can still miss “real page” interactions (read more). This pairs interestingly with a separate styleguide-related bug report (anonymous crash) (read more).
#Migration
Scaling concerns: migrating a site with ~800k topics and 12k DAU.Falco confirmed “no special architecture” is typically required but cautioned that disk IOPS and caching can become bottlenecks, especially early on while learning usage patterns (read more).
Category mentions (e.g. #support) can trigger the “you already linked this” warning, even though it’s not really link spam.RGJ documented the repro and argued category/tag mentions should be excluded from the warning (read more), while Moin noted it seems version-dependent and debated whether internal-topic-link warnings can still be useful (read more).
Form Templates are still alive—just no longer “experimental_setting”-driven. In “Are form templates still a thing?”, renato explained they’re now controlled via Admin → Upcoming Changes rather than the older experimental site setting (read more), tying it back to the “Upcoming Changes” documentation thread (read more) and the original announcement where people still look for the legacy toggle (read more).
Bulk-adding emails to a group appears to send invite emails even when “Notify users” is unchecked. A self-hosted admin reported Brevo logs showing invitations sent during bulk add, raising the question of whether “non-user emails” always invoke invite flow (even if notifications are unchecked) (read more). The report also references older expectations around invitations (read more).
A privacy/behavior edge case: staged users ignore “use full name for username suggestions.” A follow-up argued this undermines privacy expectations if full names leak into suggested usernames for staged users (read more).
Warning PMs converted into public topics keep the red “warning” badge in topic lists.darkpixlz provided step-by-step repro showing the icon persists in lists even though the topic view looks normal (read more).
Styleguide page crash for anonymous users when allowed groups is “everyone.” A missing module import (discourse/admin/components/highlighted-code) causes the styleguide plugin page to fail for logged-out visitors (read more).
Editing behavior regression report: minor edits can create revisions even within the grace period.Moin compared 2026.1 vs main and observed revisions being created where they previously weren’t, even after toggling tagging to isolate the cause (read more).
#Plugin
Private Topics plugin: Ember deprecation warning fixed. After a report that inject from @ember/service is deprecated, RGJ shipped a fix and confirmed the warning was harmless but worth cleaning up (read more), following the original deprecation report (read more).
#Feature
Data export improvement request: include Discourse post IDs.awesomerobot agreed it’s reasonable and opened a PR to add it (read more).
Greeting personalization: support first name + vocative, not username. A feature request follow-up argued that usernames are often email-derived or non-personal, making them awkward for greetings (read more).
#Translations
Missing translations: Crowdin appears to be returning incomplete sets of strings.gerhard reported investigating why strings disappeared and said they’re working to get it fixed ASAP (read more).
#Site-management
Discourse AI spam detection: “classified as SPAM” but not entering the review queue in practice. A user reported the test tool flags content as spam, yet posting the same content doesn’t enqueue it—prompting debugging questions about who posted it and what trust/mod permissions might bypass the workflow (read more; read more).
Discourse AI Helper: how to translate UI text inside the helper experience into Chinese. A user asked specifically how to localize text shown in the helper UI, with a screenshot for context (read more).
manuel continued shaping the rationale for the new branded theme behavior—specifically why the theme is currently overriding color schemes and why “brand themes” ideally need a way to restrict user-selectable palettes on sites like Meta that offer many schemes (read more). He also explained the root conflict: brand gradients/blurred assets break when arbitrary schemes bleed into computed values (read more).
Falco provided hands-on, workflow-level guidance for AI-assisted Discourse plugin development, emphasizing “context is king,” using Claude from the Discourse root, and iterating with plan steps—plus pointing to the project’s AI agent documentation work (read more). He also delivered the accepted solution on performance considerations for a large migration (disk IOPS, DB caching, watching slow pages early) (read more).
renato resolved confusion about Form Templates by clarifying the feature is now managed via Upcoming Changes, not a searchable experimental setting—linking admins to the correct place in the UI (read more) and reiterating the same in the original announcement thread where users still stumble over the old instructions (read more).
awesomerobot answered the “why is everything purple?” question succinctly: the theme’s palette is set to override user-selected palettes (read more). Separately, they backed a data portability improvement by opening work to include post IDs in exports (read more).
gerhard investigated missing translation strings and attributed the issue to Crowdin not returning all translated strings, aiming to restore the missing entries quickly (read more).
Yesterday’s vibe: brand-purple intensity debates, AI “skills” for devs, and just enough deprecations to keep everyone honest—may your gradients stay tasteful and your tag pills never get clipped on line-wrap.
In a Chinese-language email deliverability discussion, AkarinLiu shared they switched away from Aliyun email push to Brevo after Outlook delivery issues/IP rejection in 阿里云邮件推送无法使用 (email).
A nuanced UI/UX question: Moin noticed that when a revision is hidden, opacity is applied inconsistently (topic heading gets dimmed, but content doesn’t) and asked whether that’s intentional in Understanding opacity in hidden revisions.
A long-running discussion about how category mentions render continued, with awesomerobot noting the “bug” tag can be used in private subcategories but is rare—raising the possibility it’s worth cleaning up—in Category mentions are seen as repeated links. mcwumbly supported cleaning the tag and pointed to overlap with a related “inline links to subcategories” conversation (read more; related: read more).
Icon ecosystem expansion: Canapin asked where to find a complete list of Discourse core icons so a Lucide mapping doesn’t miss any in Alternative icons (referencetheme-guides). Moin pointed at the core sprite definition as a starting point (read more), and Canapin shared their Lucide icon repo and invited Discourse to make it official (read more).
Discourse AI support posture: sam noted that many people have implemented the AI bot and encouraged opening a topic with specific questions in Discourse AI - AI bot (how-toaiai-bot).
sam encouraged admins to bring concrete implementation questions around Discourse AI’s bot setup into fresh discussions, in Discourse AI - AI bot.
Yesterday, Meta’s energy was all about sorting humans, un-sticking chat images, and swapping icon wardrobes—may your last_seen_at always be in the right order (read more) and your uploads always open on the first click (read more).
New topics (last 24h): 8 A chunk of the new-topic energy clustered around Discourse AI and UX polish—see the new AI credentials announcementread moreand a fresh RTL UI reportread more
Where people were posting (sample of top-user touchpoints)
sam shipped a major Discourse AI improvement: centralized credential storageread more and the companion guide read more
RGJ helped harden a NodeBB importer workaround by recommending loud failure over silent skipping read more
pfaffman diagnosed why a NodeBB import was blowing up (post was nil) and pointed to where the importer was likely losing data read more
Lilly confirmed the new AI credential UX is “so much better now,” while also flagging a mobile viewport issue in the announcement topic read more
Lou opened a focused feature request to make tall category calendars collapsible by default read more
agemo reignited the long-running pagination debate (“will we ever get pagination as an option?”) read more
merefield pointed pagination-seekers toward the Dumbcourse alternative UI plugin read more and followed up in the plugin thread itself read more
mcmcclur argued pagination could become a “right thing to do” option, citing broader concerns around infinite scroll patterns read more
Quick link round-up (more active threads you may have missed)
Chat uploads: image not opening full-screen on first click read more
AI tag suggestion bug throwing an error popup (PR linked) read more
NSFW content detection delay: tradeoffs + “awaiting scanning” placeholder idea read more
UX: German layout issues in the LLM cost configuration UI read more
Feature discussion: model limits + faded/upgrade nudges, and the desire to reduce “decision matrix” complexity read more
Support: custom tokenizers vs cl100k expectations in AI tooling read more
Plugin: Discourse User Feedback editing/deleting requires console/DB today read more
Theme component: Topic Status Filter defaulting to “Open” read more
Dev guides: expanding/adjusting icon sets in “Alternative icons” read more
Support: “Calendar on top of category shows events, but embedded calendar doesn’t” (and how to request calendar UX features) read more
Support (中文): OpenClaw bot + confirming it respects site AI rules read more
Feature (classic thread with fresh reply): MediaWiki syntax legality + FOSS clarification read more
Interesting Topics
#Announcements
Discourse AI credentials are now centralized: sam announced a refactor that moves AI tool/embedding/LLM secrets into a central credential store, making rotation and distribution much easier read more. Early feedback praised smoother key rotation, while also flagging a mobile viewport layout issue in the same announcement thread read more
#Site Management
New admin guide: “Managing AI credentials” (aihow-to): a detailed walkthrough of creating, linking, rotating, and lifecycle-managing shared secrets for Discourse AI—plus references to programmatic credential APIs read more
#Feature
Make category calendars collapsible by default (calendar-and-event): a request to reduce vertical real estate consumed by “calendar at the top of a category,” with discussion around site vs user defaults and remembering per-category preferences read more
“AI Bots active on Discourse Powered Sites?” (aiai-bot): a newcomer asked for examples of “properly/completely implemented” bots; replies pointed to purpose-built bot experiences (like Ask Discourse) and noted that bot conversations can sometimes be shared publicly (example link included) read more. The thread also surfaced the existing “share AI conversations” feature as a reference point read more
RTL nitpick: external/featured link icon doesn’t mirror correctly (featured-linkrtl): a small but important UI correctness report showing the external-link affordance looking wrong in RTL contexts when a URL is pasted into the title read more
Select-kit dropdown contrast problems on older palettes (accessibility): a deep dive into how older color palettes that predate selected/hover values can generate contrast issues—especially when fallback colors are computed but text/icon colors aren’t read more
Self-hosted video uploads: what size restrictions exist? (uploads): a practical question about hosting short staff screencasts on Discourse, and whether video controls extend beyond extension allow-lists + global max upload size read more
500 error when activating plugins (“asset not found in load path”) (unsupported-installhosting): troubleshooting centered on whether older community plugins were the culprit (with pushback that they work on current versions) and whether a mounted plugins volume could be involved read more
Using automation to move topics based on timestamps (AI not required) (rest-apiai): a site owner explored using the AI bot to auto-archive “temporary ban” topics by reading date-range timestamps; the core suggestion was to use topic timers and/or built-in tooling rather than reaching for AI read more
NodeBB (MongoDB) migration: importer hits undefined method '[]' for nil (how-to): the importer was failing because a fetched post was nil; after adjustments to compact orphaned IDs, a follow-up stressed logging missing posts to avoid silent data loss read more
Pagination keeps coming up (again): renewed calls for optional page numbers—ranging from usability preferences to concerns about infinite scroll patterns—also pointed to the “Dumbcourse” UI as a partial workaround read more and read more
Styleguide page crashes for non-staff users: reported as broader than “anonymous-only,” with a fix tracked via a linked PR and discussion of whether a deprecation was overkill read more
Upcoming changes + translation bug fix shipped (translationupcoming-changes): a “fix is here” post linked directly to the patch PR for the issue read more
Reply button hover/scroll effects are hard to tame with CSS: a theming/dev thread documenting multiple overlapping hover/focus styles (brightness, weight, icon/text mismatch), plus a reminder that text changes are ideally handled via site texts read more
#Plugin
Discourse User Feedback moderation needs tooling: a straightforward admin question—“can staff edit/delete feedback?”—ended with the current state: console/DB required, with feature work dependent on demand or contributions read more
OpenClaw Discourse integration: aligning with Meta’s bot policy: discussion focused on ensuring any “write” tools respect /llms.txt policy (no automated posting), leading to a release that adds rule-fetching and “call rules first” prompts in tool descriptions read more
sam drove most of the day’s high-signal AI/platform updates:
Announced the centralized Discourse AI credential store and why it solves secret distribution + key rotation pain read more
Published the step-by-step AI credential management guide for admins (aihow-to) read more
Flagged Meta’s AI/bot posting policy in the OpenClaw integration thread to ensure compliance before continued promotion read more and reiterated it in the related support thread read more
Dropped a quick “try again on latest” after submitting a patch for chat image fullscreen behaviorread more
Confirmed the styleguide crash affects non-staff generally and pointed to the fix-in-progress read more
Linked the PR for a clear-cut AI tag suggestion error popup bug read more
Discussed feasibility and tradeoffs for NSFW detection delays and suggested a potential placeholder UX read more
Recommended a simpler, non-AI approach (timers / core tooling) for auto-moving topics by dateread more
Added practical notes on tokenizers and expectations for custom tokenizer usageread more
Weighed in on reducing LLM “decision paralysis” in model limit/upgrade UX discussions read more
Reviewed layout constraints in German for LLM cost configuration UIread more
martin shipped a fix for a translation/upcoming changes issue and linked the patch for tracking read more
Sign-off: Between collapsing towering calendars and wrangling freshly-rotatable AI secrets, Meta managed to be both tidier and smarter in the same 24 hours.
97 new posts landed across Meta in the last 24 hours, spread across UX refinements, admin reporting polish, translation workflows, and a handful of self-hosting “gotchas” (see today’s new-topic slate: read more, read more, read more).
Discourse’s UI continues moving toward pure responsive breakpoints instead of a manual toggle: featheredtoast confirmed the shift away from switchable mobile/desktop layouts and awesomerobot outlined capability-based patterns to replace initializer-time device logic in No more switchable mobile/desktop layouts? (read more).
Some site settings currently look searchable but aren’t: a “Search or create…” control on dashboard_hidden_reports behaves like freeform entry (no suggestions), prompting a UX wording/behavior rethink in Site settings with “Search or create…” that don’t search (read more).
Docker Compose interest continues, but official support is still “not yet”: featheredtoast shared a maintained compose template with the usual disclaimers in Docker compose addition (read more).
A request to open up Arabic reviewing reignited the “agency-managed languages vs community proofing” debate, with calls for concrete examples and process improvements in Request to be Arabic translation reviewer (read more).
A deeper issue behind “missing translations” appears to have been identified and resolved, with confirmation that removed strings should return in Why were that many translations removed? (read more).
chapoi clarified that “AI reports showing while disabled” is part of a broader plugin-report visibility fix, and closed out the bug report accordingly in Don’t show AI reports if AI is not enabled; they also added report-unit labeling improvements and tied it back into the reporting overhaul work in Units for reports.
manuel advised against relying on /styleguide as the starting point for “simple theme” creation, recommending a panel-style template approach in Best practice to create a simple theme?.
Yesterday’s vibe, in one sentence: between breakpoint-driven layouts, translation rescue missions, and broken X oneboxes, Meta spent the day making sure Discourse stays readable—no matter how wide the screen (or how empty the embed HTML).
Renewed the push to rename “AI Persona” → “AI Agent” as the more widely understood term — read more
Interesting Topics
#site-feedback
mcwumbly kicked off an “experiment” to coordinate lightweight forum maintenance via a collaborative hub, quickly turning it into a real-time triage lane for tagging and cleanup proposals — read more. Early gardening candidates included applying upcoming-changes to documentation/announcement threads like read more and read more, plus aligning documentation tag usage per the documentation guidelines — read more.
Meta’s redesign feedback thread also surfaced a chat composer rendering bug where rounding clips multi-line input; staff were able to reproduce and investigate after reports — read more.
Tag hygiene got attention: a misspelled tag (#file-managment) was spotted and fixed to #file-management, prompting additional scrutiny of similar tag inconsistencies — read more.
#announcements
Discourse chat gained message pinning, with UX discussion immediately focusing on whether pins are too subtle and whether the pinned list should show full dates (Discord/Slack style vs. WhatsApp/Telegram style) — read more. This announcement also ties back to the long-running request that’s now marked completed — read more — while parallel UX requests continue (e.g., “show pinned messages at top”) — read more.
The long-running question about “switchable mobile/desktop layouts” reached a decisive clarification: the UI toggle wasn’t merely removed; the underlying ability to toggle layouts is gone, leaving admins/users to explore browser “Request Desktop Site”, per-device font sizing, and theme/CSS adjustments — read more. That change ripples into dependent theme components like “MD Topic List Mobile” — read more — and older approaches like “force mobile homepage” — read more — plus adjacent complaints about desktop-on-mobile usability — read more.
A small UI detail led to a bigger regression: the underline indicator for “Suggested/Related” was connected to the tabs disappearing on mobile, with a fix queued upstream — read more. The resulting “only Suggested shows up” confusion was also reported separately in Site Feedback — read more.
The AI helper UI had a layout glitch: the “title suggester” button renders outside the title field when editing a translated title, likely because the localized editing header shifts the expected layout — read more.
A deceptively simple formatting question (“how do I keep extra spaces?”) turned into a great mini-guide: a table was accepted as the cleanest solution for aligned data, with an alternate [wrap] + CSS approach and follow-up learning resources — read more. The discussion also pointed to broader CSS onboarding — read more.
Administrators asked for a way to label replies as human-written vs AI-assisted vs AI-generated to help readers judge trust and reduce confident-but-wrong content. The thread explored the limitations of topic-only tags, the complexity of tagging replies, and theme-component approaches that embed visible indicators into the post body — read more. Related building blocks included the “tag replies” feature request — read more — and UI patterns like Quote Callouts — read more.
A practical groups/mentions pain point: teams managing many sub-groups want a single “umbrella” @mention that stays in sync. A plugin-based approach (“dynamic groups”) was suggested as an option — read more and read more.
#feature
A small but high-impact admin UX request landed quickly: honoring asc=false when sorting group members (e.g., last seen descending). A core update/PR was linked, with follow-up discussion about keeping the URL in sync when users click the column header — read more. This connects to earlier support/bug reports on the same behavior — read more and read more.
A regression/bug report showed that watched words → auto-tagging fails with an error that appears tied to frontend serialization; the report includes screenshots, request payloads, and version details to aid triage — read more. In a related developer-docs thread, the api.modifyClass example was also called out as still showing legacy syntax, suggesting docs/code drift that can amplify these sorts of issues — read more.
Moderation workflows hit a “Latest list” edge case: whispers bump topics only until refresh, then the topic drops back to its last public activity time, undermining “Latest” as a reliable staff queue — read more.
Importers, take note: a phpBB migration report flagged that attachments with duplicate real filenames (but different underlying physical filenames) can collapse into repeated copies of the same image in Discourse, especially when multiple image.jpg attachments exist in a single post — read more.
#translations
Translation process and tooling got concrete: guidance was shared on how to propose improved strings with context, and plans were described to add an internal tool to remove approvals when new suggestions appear, so strings get re-queued before agency review — read more. Separately, a community member started collecting key translation resources into a single index thread — read more — complementing the newer “find more context for a text” workflow — read more.
mcwumbly launched the new #site-feedback coordination thread for ongoing “content gardening,” and later connected it back to the broader solved/completed consistency discussion — read more and read more. They also handled quick tag cleanup when a misspelling was reported — read more.
lindsey published the official chat pinning announcement (with screenshots + behavior notes), and followed up on UX questions like whether the pinned list should surface full dates — read more and read more.
Falco stress-tested the new pinning UX with direct product feedback (visibility, “pin drawer vs pinned-at-top,” and missing date context), and also posted progress updates on the voice rooms plugin — read more and read more. They also weighed in on the mobile/desktop layout change with a practical workaround suggestion — read more.
j.jaffeux explained a key pinning UI tradeoff (making pinned items non-interactive affected date-on-hover), and confirmed the initial UX direction intentionally mirrors Discord/Slack while leaving room to add emphasis later — read more.
manuel reproduced the Meta Branded redesign chat input clipping issue (especially on mobile) and confirmed investigation — read more.
chapoi provided support and product clarity across multiple threads: they clarified the removal of the mobile/desktop toggle’s underlying structure — read more — and helped diagnose formatting/spacing needs (including CSS direction) — read more.
awesomerobot shipped fast iteration on group list sorting (honoring asc=false) and queued a fix for the mobile Suggested/Related regression — read more and read more. They also linked back to the sorting fix from older bug reports to close the loop — read more.
gerhard gave concrete guidance for translation contributors and shared upcoming internal tooling plans to ensure new suggestions invalidate stale approvals — read more. They also confirmed a release rollover sync issue affecting discourse-rewind translations was addressed — read more.
nat acknowledged the recurring request to limit topic translation to certain categories and indicated they’d investigate prior related requests/workarounds — read more.
sam reignited the naming discussion around “AI Persona” vs “AI Agent,” emphasizing broader industry recognition and the translation workload implications of a rename — read more.
Between pinning chat messages and planting new tags in the content-gardening hub, Meta felt like a freshly organized bulletin board… with a watering can in one hand and a pushpin in the other.
In the last 24 hours (2026-03-04 → 2026-03-05), Meta saw 98 new posts across 14 new topics (with continued discussion on several older threads, e.g. read more, read more).
remidm asked what the “standard way in 2026” is to pull Discourse stats from Python, and supermathie recommended skipping stale wrappers and just using requests + the official API spec (read more). For admin-only report data, the suggestion was to inspect browser network calls (and to see the general technique in Reverse engineer the Discourse API), while pfaffman pointed out a robust approach: write queries in Data Explorer and fetch results via API (read more, plus the thread continuation read more).
A new, tested walkthrough landed for setting up Discourse MCP with OpenAI Codex CLI, clarifying what’s Codex vs the MCP server, where to place options like read_only: false, and how to wire credentials end-to-end (read more). It also connects back to the broader announcement thread about MCP availability (read more).
#Site_Management
A new official guide explains how to enable and manage form templates (Admin → Appearance → Form templates), including validation rules and when to use classic topic templates instead (read more). It explicitly ties into Upcoming changes configuration (read more) and contrasts with Using topic templates for categories for lighter-weight guidance.
#Administrators
A draft how-to documents two supported ways to re-create the old “Lounge” experience (either directly tied to TL3 access, or via a group that persists), intended for admins who miss the default Lounge setup from earlier Discourse eras (read more). The post references the underlying mechanics of TL3 expectations and reversibility (see Understanding Discourse trust levels).
A site owner requested a “Skool-like” UX using official/maintained Discourse themes/components (Horizon, sidebars, previews, “Write something…” prompt styling, gamification, automation, calendar, solved, chat) and asked for a one-stop configuration + integration setup (read more). The thread includes offers and a hosting/configuration pitch (read more).
#Community_Building
The discussion on marking content as human-written vs AI-assisted vs AI-generated continued with a practical enforcement question: how do you actually enforce disclosure rules in low-traffic communities (read more)? A vivid anecdote described how community trust degrades when users realize they’ve been debating an LLM-shaped wall of bullet points (read more).
#Site_feedback
The “collaborative content gardening hub” experiment kept iterating on how Meta can maintain docs quality while balancing permissions, especially around Documentation areas that are intentionally read-only for many users (read more). The discussion also touched on how/when moderators should mark solutions for abandoned topics, and whether to notify OPs when staff accept an answer (see the related feature thread Notify OP and answerer if staff accepts an answer).
A concrete bug report notes that topics from ignored users still appear in digest emails, with a clear suspected cause: Topic.for_digest doesn’t exclude ignored users (read more). It’s a sharp reminder that “ignore” semantics often diverge between UI views and email pipelines.
Watched Words → automatic tagging appears broken: admins can’t add watched words entries intended to auto-tag content; nat confirmed it’s known and a fix is coming soon (read more). (Related: tag-related work also surfaced in the Support tag-slug thread below, suggesting tagging UX is getting extra attention this week.)
A self-hosted instance reported HTTP 500 errors when moving posts across categories (including into new topics/messages), with suspicion that permissions edge-cases and/or ActivityPub-federated categories might be involved (read more). The report notes prior historical fixes and that the issue is reappearing on a current release line.
A composer workflow bug: if a user has a pending post awaiting approval, clicking “New Post” (or even replying) repeatedly triggers a discard confirmation modal until a refresh clears it (read more). The repro steps are clean and should be easy for others to validate quickly.
A feature request asked for a way to prevent staff from reviewing/moderating flags against themselves, as a guardrail against “rogue staff” self-protection (read more). Replies emphasized the underlying governance model: moderators are trusted, and if that trust is broken, process (and staffing choices) matters more than technical locks (read more).
A UI regression-style report shows the Review Queue approval buttons misaligned in the refreshed foundation theme (with “No” appearing visually shorter than “Edit Post”), plus a mobile outline oddity on the “more” menu interaction (read more, follow-up screenshot read more).
A Chinese-language support thread asked how to change a tag slug structure; the key detail: tag slugs are brand new and gated behind experimental_tag_settings_page. nat explained the feature flag and how to enable it (read more), and the OP confirmed it began working shortly after (read more).
Passkey setup is failing on multiple Discourse sites (including Meta) with a 500 response during registration; investigation points toward newer browser WebAuthn requirements since the original implementation. The thread collects browser/console details and suggests baseline testing elsewhere to isolate the issue (read more, diagnostic questions read more, and the “we’ll need to look at this” conclusion read more).
supermathie helped unblock API access from Python by recommending direct requests usage, importing the API spec into Postman, and (for admin-only stats) inspecting network calls—then agreed Data Explorer is the stable, maintainable option when you need custom datasets (read more, read more, read more). supermathie also investigated passkey failures and flagged likely browser-side requirement changes since the feature was first built (read more, read more).
chapoi weighed in on “prevent staff flag review” with the governance-first stance: moderators must be trusted; if that’s not true, fix staffing/process rather than adding product complexity (read more).
nat delivered two quick hits: confirming a watched-words auto-tagging bug is known and a fix is imminent (read more), and explaining that tag slug editing is gated behind experimental_tag_settings_page (and is very new) (read more).
mcwumbly implemented a practical permission/process workaround for Documentation gardening: allow TL3 topic creation while requiring approval and using a template to discourage non-team doc topics, then suggested enabling “notify OP and answerer if staff accepts an answer” to reduce confusion when staff marks solutions (read more, read more, read more).
Falco backed a long-requested terminology change—“AI Persona” → “AI Agent”—with an “ASAP” green light (read more). Falco also jumped into troubleshooting a site where non-admin users see endless loading, requesting the affected site URL to continue debugging (read more).
featheredtoast shared a status update on internal hosting dependencies blocking “official support” labeling for the discourse/discourse Docker image, while noting they’re running multiple production sites on it successfully in the meantime (read more).
awesomerobot started first-pass triage on a “homepage won’t load for non-admins” report, asking the classic narrowing questions (scope, safe mode, console errors) to identify theme/plugin/JS causes (read more).
j.jaffeux clarified the semantics around chat pinning vs favorites, arguing that they’re distinct concepts and expressing interest in having proper “pin” behavior too (read more).
HAWK suggested form templates as a solution for “terms before posting” / structured acknowledgements, and followed up clarifying how form templates differ from policy widgets (read more, read more).
lindsey published the new canonical documentation for Creating form templates, covering enablement, creation, and management paths in Admin (read more).
That’s a wrap—yesterday was peak “flip the experimental switch, prune the docs garden, and don’t let moderators moderate their own flags” energy.
mcwumbly kicked off a broader look at how Meta’s Support categories should work—especially why solution-marking matters, why new users miss it, and whether “nudges” (prompts, reminders, sweeps, education) can make it more consistent without annoying drive-by posters (read more).
The ongoing gardening experiment continued to converge on practical language for “this looks solved, correct us if we’re wrong,” and surfaced tools/ideas like staff-accepted-solution notifications and reminders as ways to keep support tidy without being heavy-handed (read more).
Category organization discussions kept evolving: manuel questioned whether “General” is too much of a catch‑all, suggesting a cleanup and possibly renaming it to something more purpose-driven like off-topic/watercooler (read more).
Theme feedback kept rolling in—this time highlighting iOS text selection oddities tied to the Meta Branded redesign, suggesting theme-level UI tweaks are still needed (read more).
nat published the first “Discourse Without Borders” entry, outlining why multilingual support matters and what’s coming—then immediately stress-tested the feature in the comments when a community member posted “cuneiform” and hit editing weirdness (read more).
Deep links to headings (“anchor links”) were reported as unreliable within the same open topic (often jumping to the top), while still working from external entry points like emails/new tabs—suspicion fell on client-side routing behavior (read more).
A tags + slugs edge case: when slug_generation_method is set to none, newly-created tags can’t be edited in the experimental tag settings UI because the route expects a tag_slug; steps-to-repro were neatly documented (read more).
Multisite migrations triggered crashes when run concurrently (and even with concurrency set to 1 in one attempt), with investigation pointing toward forking + mini_racer interactions; the thread also captured a real-world root cause involving chaining multiple rake tasks together (read more).
Passkey UX gap: with enforce_second_factor_on_external_auth enabled, the “second factor required” screen for social login doesn’t offer passkey login—request is to surface passkeys there as a first-class option (read more).
Passkey reliability fallout continued: a fix was shipped quickly, but follow-up debugging showed some instances still hitting server errors during login flows (auth.js / 500s), suggesting there may have been more than one edge case in play (read more).
Moving posts returning HTTP 500 remained under investigation; the reporter shared HAR/network and nginx log details while others suggested browser network-tab clues might reveal the underlying server-side exception (read more).
Windows dev setup guidance got refreshed (in French): the practical consensus was “use WSL2 (or a Linux VM if needed),” plus tips like ensuring Postgres/Redis start correctly and scripting your local bootstrapping (read more).
A “sort posts within a topic” request resurfaced: one community member shared an unpublished “sort by likes” plugin, while the OP clarified they also want sorting by creation date (asc/desc) and reactions (read more).
ActivityPub terminology confusion (“boost”) got clarified: the thread translated “boost” into federated-social equivalents (retweet/share), and noted the constraints when quote-boosting isn’t available or is disabled for forum actors (read more).
WCAG palette CSS: quoted @mentions in tertiary color were still hard to read; a CSS adjustment was proposed/implemented to remove the problematic styling and improve contrast consistency (read more).
mcwumbly led multiple “support quality” touchpoints: opening the umbrella conversation about strengthening support categories and solution-marking norms (read more), continuing the collaborative gardening experiment and zeroing in on messaging/education opportunities (read more), and cross-linking to historical context about building a “Solved” culture to compare tactics (read more).
nat published the multilingual roadmap post and kept the discussion moving by validating real-world edge cases (and manually correcting a post’s language metadata) in the companion blog topic (read more).
Bas weighed in on moderation workflow integrity, probing whether “staff reviewing flags about their own content” is hypothetical or an active operational problem (read more), and helped clarify ActivityPub vocabulary in support (read more).
awesomerobot shipped (or queued) multiple UI fixes across threads: improving staff action log filters on mobile (read more), addressing badge long-description layout issues (read more), and tackling the WCAG palette quoted-mention contrast regression (read more).
keegan delivered a fast passkey fix and pointed self-hosters to update to pick it up, keeping the loop open for anyone still seeing issues (read more).
gerhard improved translation tooling transparency by fixing confusing git history/import issues and making branch/backport relationships clearer in the translation context UI (read more).
tgxworld investigated multisite migration failures, asked for environment details, and proposed a mitigation around mini_racer context handling before forking—then confirmed resolution once the root cause was isolated (read more).
j.jaffeux engaged on chat UX, supporting alternatives like status messages or richer channel descriptions when users want pinned content visible at the top of chat (read more).
manuel pushed the Meta IA conversation forward, suggesting “General” may be too vague to be useful and could be trimmed/renamed to reduce miscategorized topics (read more).
sam confirmed a cleanup direction for Discourse AI permissions by noting that allowing “everyone” in certain AI bot allowed-group settings should be removed (even if it takes some time to fully land) (read more).
That’s a wrap: may your solutions be marked before the OP vanishes into the night—and may all your experimental cuneiform posts remain editable.
Resenha shipped a big round of Discord-style voice-room improvements: Falco added badges, AFK detection, push-to-talk, stage rooms, and even started digging into analytics (read more). Follow-up praise landed quickly from David_Ghost (read more) and gilles (read more).
Discourse Assign “done” workflows (and where assignment statuses are hiding): stephtara struggled to mark assignments as completed in Discourse Assign (read more), with chapoi explaining their internal “close + tag” approach (read more) and the thread surfacing that the status UI exists but is not intuitive to discover (read more).
Private Topics Plugin: “everyone” in secure categories still trips people up: RGJ reiterated that adding everyone to a private topics category defeats the intent (and suggested the UI warning could be even louder) (read more).
Fine-grained chat/PM access rules (and messaging staff vs individuals): stephtara asked how to let any user PM staff (or a helper group) while still restricting general PM creation (read more). The discussion touched on prior configuration patterns (read more), the Allow PM to staff plugin (read more), and related “no user PM access” guidance (read more).
DiscourseConnect settings “missing” while setting up SSO: a self-hosted admin couldn’t find the DiscourseConnect toggle and was guided toward the right docs and troubleshooting (including filtering settings properly and updating an outdated install) (read more). The thread links to the DiscourseConnect guide (read more) and OAuth alternatives like Auth0 via OAuth2 Basic (read more); see also awesomerobot’s first clarifying question (read more).
Basic HTML view + ancient browsers = weird scrolling edge cases: Noble_Fish tested Chrome 53 and found basic-html wouldn’t scroll as expected (read more); the thread concluded the environment was “too extreme,” and pointed back to earlier discussion about unsupported browser behavior (read more).
Discobot testing: restarting tutorials vs re-sending the welcome PM: stephtara tried to re-test a customized welcome message and discovered Meta has Discobot disabled, plus the tutorial restart commands don’t quite map to “send the welcome message again” (read more). The conversation also cross-referenced Discobot customization limitations (read more) and tutorial UX expectations (read more), plus an old “one click” PM URL idea (read more) and even the Discourse Frotz bot as a non-AI alternative (read more).
Semantic AI search pegged CPU and clogged Sidekiq: after enabling embeddings and then semantic search, SubStrider reported 100% CPU and a large backlog; disabling semantic search restored normal operation quickly (read more).
“tagging.groups.cannot_save.no_tags” showed as a raw translation key: creating a tag group without tags popped an unhelpful i18n key in the modal (read more). NateDhaliwal identified the fix (wrap in i18n()) and linked their PR (read more).
Narrative Bot settings vs “site texts” editing feels split-brain to admins: stephtara argued Discobot settings and the welcome/tutorial copy should be easier to find in one place (read more); Moin pushed back with a detailed rationale about settings vs translations (and language pitfalls) (read more).
Chinese-language tag UI bug acknowledged (slug generation set to none): in a Chinese report about tag behavior, nat confirmed the issue is noted and a fix is coming soon (read more).
Passkey setup: another fix landed: keegan shipped an additional fix and asked reporters to re-test (referencing a new PR) (read more).
#Theme component
AI Gists button + Topic List Excerpts updated for the modernized Foundation theme: Lilly refactored the component so button formatting works with the newly modernized Foundation theme while staying compatible with the original (read more), with the theme work tracked in Modernizing the Foundation theme (read more).
#Feature
Calendar events: request to increase the event description limit (for real-world route notes): a running club needs longer descriptions so turn-by-turn directions survive calendar exports; the thread explores where that text shows up and why the topic body doesn’t solve it (read more), plus thoughts on improving the event preview experience (read more).
#Praise
A heartfelt “thank you” thread for Discourse (and helpers on Meta): ice.d posted a pure appreciation note for the software and community, calling out how helpful Meta regulars have been (read more), with agreement from Andrew_Rowe shortly after (read more).
Falco shipped a chunky Resenha update—badges, AFK detection, push-to-talk, stage rooms, and analytics direction—in Resenha - Add Discord-style Voice Rooms to Your Community (read more).
awesomerobot helped triage a self-hosted SSO setup question, pointing the admin toward DiscourseConnect and OAuth options in How to enable sso on discourse? (read more).
nat acknowledged and reassured a fix is coming for a Chinese tag/editing issue when slug generation is set to none (read more).
keegan posted that another passkey fix was pushed and asked for further testing feedback in Cant set up passkey on any discourse (read more).
chapoi clarified there’s no built-in “done” state in Assign and shared an internal pattern (close + tag) in Discourse Assign (read more).
tshenry reported a UX regression where a tag-group modal shows a raw translation key instead of a human message in Missing tag group error message (read more).
Yesterday, Meta somehow managed to be both a push-to-talk staging room and an i18n key detective agency—exactly the kind of chaos that keeps forums fun.
New posts (24h): 61 — spread across active support, theme, and plugin threads such as Google Sheets oneboxing/embeds (read more), mobile styling/debugging (read more), and new theme-component releases (read more).
New topics (24h): 6 — including new threads like Tag Style Tool (read more), mobile view debugging (read more), Discourse ID signup failures (read more), iPad composer issues (read more), and guidelines/about-page strategy (read more). (One additional self-hosting topic was created then deleted by its author: read more).
Follow-ups on oneboxing/embed approach (read more), announced new sponsorship for Chatbot plugin work (read more), clarified Ruby version semantics (read more)
stephtara explored how to get a Facebook-like preview for Google Sheets links, and the thread evolved into a practical “publish + iframe” approach with CSS to fix tiny embeds—plus ideas for making it easier via composer tooling and user fields (onebox) (read more).
Related implementation ideas included adding a composer button via a theme component (read more) and pulling values from custom user fields (discussion continuation) (read more).
In a “why can’t I see the real mobile UI in desktop browsers?” debugging thread, hipp0 learned that ?mobile_view=1 is legacy/deprecated and that Discourse is moving to viewport/capability-driven responsiveness (read more).
The deprecation context was linked to the responsive design guidance (read more) and recent removal chatter about switchable layouts (read more).
Discobot onboarding got a closer look: Moin broke down the difference between the tutorial DM and the “welcome quick start guide” DM, including why one may not resend the way admins expect (discobot) (read more).
For alternative onboarding flows, the thread pointed toward Custom Wizard (read more) and prior discussion of automation-based welcome messaging (read more).
A self-hosted instance reported that Discourse ID signups silently fail after returning from verification, alongside anonymous-console 404s for source maps (discourse-id) (read more).
A related Discourse ID admin thread resurfaced: a fresh install hit “redirect URI already exists,” suggesting account/app cleanup or conflict from prior instances (discourse-id, solved) (read more).
A “non-admin users can’t load pages” report kept circling around theme/component breakage and safe mode diagnostics—plus a reminder that some older components are deprecated and replaced by core functionality (read more).
The safe-mode workflow reference was explicitly called out (read more), and the “advanced search banner component” deprecation notice was cited (read more) along with the modern banner setup guide (read more).
#Theme component
Tag Style Tool launched as a “unified” tag-styling solution (icons, styling, tag-group targeting), and quickly turned into a mini-collab on usability: Font Awesome versioning clarity, and adding a color picker to make configuration less RGB/HEX-heavy (tags) (read more). Falco noted the modern/native approach: use an HTML color input (and that Discourse wraps it for easier use) (read more). Helpful install docs were also referenced for newcomers (read more) and theme basics (read more).
Over on the long-running Category Headers component thread, a small but common confusion popped up: “how do I install a PR?”—with clarification that you update the component once changes are merged (not “install the PR”) (read more).
#Theme
Pyx’s Modern Theme posted a compatibility-focused update to reduce friction with the upcoming default theme changes, restore a cursor-related option (under a new name), and adjust button borders to prevent future styling collisions (read more).
An iPad Pro + Safari report showed the composer jumping/flying off-screen when switching between fields, likely tied to the on-screen keyboard and viewport repositioning (composer, tablet) (read more).
#Site feedback
In ongoing discussion about improving support-category experience, sam highlighted that “extremely sophisticated agents” already exist in Discourse AI—raising the bigger question: how to expose complex workflows so admins can configure them easily (read more).
#Plugin
On Discourse Assign, mcwumbly shared how the team keeps workflow simple (unassign + “done” reply, close when appropriate), and when complexity rises they lean on the Kanban theme component—while noting it has limitations and may need a more serious revisit (read more).
The Discourse Chatbot mega-thread included a milestone: merefield announced an ongoing business sponsor being added to the README, a nice glimpse at sustainability for community plugin work (read more).
A small but persistent UI nit: the underline indicator under “Suggested” / “Related” tabs was reported as not fully fixed yet, with a screenshot showing the remaining oddness (ai, suggested-topics) (read more).
#Community Building
stephtara asked the perennial community-setup question: what’s the “added value” of built-in /faq, /guidelines, and /about pages vs rolling your own “house rules,” FAQ category, and custom About content—especially with localized URL needs (French slugs, etc.) (read more).
The thread explicitly references older context about why Guidelines is called FAQ and navigation choices (read more).
Falco helped unblock a UX improvement in theme settings by pointing out that modern HTML includes a native color picker input, and that Discourse wraps it for easier component use—directly relevant to Tag Style Tool’s roadmap (read more).
sam weighed in on support-workflow improvements, noting Discourse AI already supports sophisticated agents and nudging the discussion toward how to expose/ship configurable “agent workflows” in a way admins can actually use (read more).
mcwumbly documented the team’s real-world Assign habits (unassign + confirm done; close when it’s the unit of work), and described when they escalate to Kanban—and why that’s not a perfect substitute for richer status/coordination features (read more).
If yesterday taught us anything, it’s this: may your Google Sheets iframes be full-width, your tag colors be pickable, and your “mobile view” be decided by the viewport—not a query string.
Discourse AI gained service tier selection for OpenAI/Azure providers (Standard/Flex/Priority), plus guidance to use the Responses endpoint for better caching on reasoning models in Service tiers on Open AI providers (ai). Related: the reminder to double-check your model setup in the LLM settings page.
A simple pattern for “require TOS acceptance” emerged: configure a required custom user field so users can’t save preferences unless it’s checked, in Require TOS acceptance (solved).
A large self-host reported high load after enabling semantic search embeddings; sam and Falco asked for deeper diagnostics (provider, DB specs, CPU process breakdown), after the reporter shared scale details (2.5M posts / 250K topics) in Enabling AI search crippled my server (aiai-search).
A French-language plugin feasibility check explored adding a composer toolbar button that calls the BoardGameGeek API and inserts formatted results; the consensus was “yes, doable,” with a plugin preferred when API keys are involved, in Besoin d’avis pour essai de programmation de plugin.
Drip-content course delivery was revisited with a focus on automating group progression over time, resurfacing practical needs for timer-based workflows in Help with drip content for online course (and it naturally connects back to automation flexibility ideas in Split Automations… for admins who want configurable sequences).
A subtle admin-setting limitation cropped up: “topics to auto-bump daily” appears integer-only (no fractional “every 4 days”), sparking an idea for a two-part setting (“bump X topics every Y days”) in Configuring auto-bumping for topics (question context at post 28).
Yesterday’s theme was clear: may your Guidelines be properly renamed, your canonicals stay canonical, and your embeddings finish backfilling before your CPU even notices.
In the last 24 hours, Meta saw 66 new posts across 8 new topics, including fresh threads like the Discourse ID signup failures (read more), DiscourseConnect email privacy concerns (read more), and self-hosting setup questions like WordPress subfolder deployments (read more).
Notable theme today: “it works after a rebuild” showed up more than once—both in a tag-group visibility report (read more) and in a tricky “bundled plugin” downgrade scenario (read more).
Interesting Topics
#Announcements
mentalstring hit a surprising self-hosting edge-case where discourse-cakeday being “bundled” (or appearing bundled) broke rebuilds on an older stable, and david explained why the warning can be misleading on failed rebuilds—then suggested a pragmatic cleanup hook (rm -rf discourse-cakeday) to unblock installs on downgraded cores (read more).
A Discourse ID signup flow failed in a confusing way (“button does nothing”), and the debugging quickly converged on severe resource exhaustion: repeated can't alloc thread errors tied to Redis connection attempts, plus client console noise from missing sourcemaps; pmusaraj requested full backtraces/env while asc provided logs and reproduction detail (read more).
A “Discourse ID redirect URI already exists” error surfaced after reinstalling an instance; pmusaraj offered to clear the old credentials manually for now (and noted the workflow is being improved) (read more).
Mobile UX troubleshooting: the “three buttons after selecting text” didn’t work in Xiaomi’s Mi Browser; supermathie tested on emulators and found Mi Browser crashing outright, suggesting the best path is reporting to the browser vendor since Chrome/Firefox behave correctly (read more).
Self-hosting/SEO strategy: deploying Discourse under a WordPress subpath (instead of a subdomain) came up again, with pointers to the canonical “path prefix” guide and the reminder that the WP plugin is for integration, not for hosting Discourse itself (read more; see also the guide: read more).
Permissions expectations: an admin asked how to disable chat for moderators while keeping it for admins, and the answer was simply that moderators can’t be deselected—if chat is enabled, it’s always on for admins/mods (read more).
A long-running moderation/safety question resurfaced: how to unsilence a user who got silenced after copy/paste triggers, with Lydia2 noting there’s no visible unsilence button in the UI from their perspective (read more).
A production error blocked some users from editing wiki posts: “create_errors_json called with unrecognized type” was reported with screenshots and logs, and the topic is now a troubleshooting hub for isolating who is affected and why (read more).
Calendar UI polish: an “Upcoming events” sidebar item icon shows as a generic link instead of a calendar glyph on an older 3.4.x install, with the poster looking for where that menu-item icon is configured (read more).
A report claimed restricted-visibility tag groups still appeared on /tags to users who shouldn’t see them, but the investigation ended with a classic resolution: after a rebuild, the visibility rules started applying correctly again (read more).
Dashboard UX: should reselecting series in the Site Traffic chart rescale the Y-axis? nat acknowledged the feedback and noted the team is actively changing this area and will share an update soon (read more).
Tags + locales: a Chinese-language bug report about tag editor behavior when slug generation is set to none got a concrete resolution, with nat linking to a fix that’s already underway (read more).
#Feature
A security/privacy concern was raised: when using Discourse as a DiscourseConnect Provider, the user’s email can be exposed in the Base64 payload sent via redirect URL; Falco clarified HMAC vs encryption, and the thread moved toward a backward-compatible site setting (tagged pr-welcome) as a potential improvement (read more; background doc: read more).
Onebox privacy and caching under GDPR: a poster worried that preview images/favicons might be fetched from third-party sites (tracking user views); Falco tested with a live link and confirmed final posts load assets from Meta’s CDN, with follow-up discussion about editor-preview behavior and whether rebaking is needed for older oneboxes (read more).
#Theme component
The new “Tag Style Tool” theme component is close to a fan-favorite, but users reported the builder UI disappearing and confusion around Font Awesome SVG subset requirements; jdc20181 pushed fixes quickly and iterated on how defaults/overrides should behave for icons and color application (read more).
#Site feedback
Meta’s ongoing cleanup around FAQ vs Guidelines links continued: Danielle said the team would discuss and report back, while related threads explored how /about, FAQ/Guidelines pages, and sidebar links can confuse SEO/crawling and docs maintenance—especially after the newer About-page updates and docs consolidation (read more; related: read more; docs-era context: read more, read more).
pmusaraj focused heavily on Discourse ID support: asked for screenshots/logs and traced “signup button does nothing” toward a can't alloc thread failure (read more), and offered to manually clear conflicting redirect URIs for a reinstalled instance while acknowledging the workflow needs improvement (read more). A similar offer appeared in an older solved thread as well (read more).
Danielle coordinated next steps on the FAQ/Guidelines link audit, confirming the team would sync and post an update back to the community (read more).
david clarified how “bundled plugin” warnings can be misleading during failed rebuilds on older versions, then proposed a concrete hook-based workaround to remove a stale discourse-cakeday directory before cloning, resolving the rebuild issue for mentalstring (read more).
Falco engaged on two privacy-adjacent threads: challenged assumptions in the DiscourseConnect email exposure report and steered it toward a non-breaking, opt-in site setting (pr-welcome) (read more), and live-tested onebox image caching behavior to confirm CDN-serving in final posts (read more).
nat confirmed fixes in flight for a tags/editor regression reported in Chinese (read more) and acknowledged feedback on dashboard traffic graph scaling while noting active work in that area (read more).
supermathie reproduced a mobile-browser quirk by testing Mi Browser vs Chrome/Firefox, discovering Mi Browser instability/crashes and recommending escalation to the browser’s developer (read more).
awesomerobot helped troubleshoot a tag-group visibility bug (couldn’t reproduce on Meta, asked the right sanity checks) before it ultimately resolved after a rebuild (read more); they also suggested practical approaches for gating access based on “accepted guidelines” via Discourse Policy and more advanced onboarding via Discourse Automation + badges (read more; see also: read more, read more, read more).
tgxworld confirmed a fix is coming for an “objects type” theme-setting discussion, linking to the upstream change in progress (read more).
gerhard weighed in on translation workflow frustrations, floating the idea of in-context translations inside Discourse and explaining current limitations with Crowdin project structure—while still sounding optimistic about prototyping something in the coming months (read more).
If yesterday had a mascot, it’d be a tiny puppy wearing a party hat—because between missing cakedays, mysterious rebuild fixes, and oneboxes behaving better than expected, Meta was clearly in “ship, cache, and celebrate” mode.