stance455 reported an issue with “Related Topics not translated” and after troubleshooting Lilly’s locale settings, Moin provided the solution for multilingual embeddings read more and see solution.
hipp0 asked “What’s the max number of participants displayed on a topic?” and community members shared custom CSS snippets to adjust avatar spacing read more and view CSS fix.
emyoulation noticed Discourse’s search returning “similar/partial” matches instead of exact terms; awesomerobot explained the AI-fallback logic and the need to distinguish exact results read more and AI scope explanation.
hipp0 discovered that anonymous viewers couldn’t see all categories; Lilly traced it to a preload data customization and asked for version details read more and follow-up.
NateDhaliwal found pinned topic summaries using link text instead of body excerpt; Safe Mode testing and theme checks were suggested to isolate the issue read more.
hipp0 proposed a “Search all CSS and CSS drop-down selector” feature; Moin recommended organizing custom styles into a dedicated theme component read more and component structure tip.
davidb merged a PR to “Suppress solution notification if user is muted,” improving the solved-post UX for muted members read more.
emyoulation suggested a quick-action icon for “spam” in the review queue to flag mass postings; community feedback is ongoing read more.
csha flagged HTML tags appearing in og:description on category pages; the meta description is plain text but Open Graph tags need sanitization read more.
Support“Always include topic excerpt” setting Moin dug into how the new always_include_topic_excerpts site setting interacts with the Topic List Excerpts theme component, with awesomerobot and zogstrip explaining the balance between hidden settings and theme modifiers. read more
SupportDiscourse’s search broken? Exact vs. partial AI results
Users noted that header quick search auto-expands to semantic AI results after few matches, and Falco outlined how the ai-search-result flag can help theme indicators. read more
SupportDiscourse ID setup issues on Hetzner tobiaseigen reported a enable_discourse_id failure during the new installer flow on Hetzner, with pmusaraj guiding on checking /logs and toggling Discourse ID in the Admin UI. read more
BugDiscourse更新后,主页排版混乱
After the latest update, the Tag Icons component caused layout crashes and 429 errors until pmusaraj offered a fix to gracefully handle invalid color codes. read more
BugDiscourse jumping 20 posts up when going back to PWA
Android PWA users on Chrome 144 reported being scrolled up ~20 posts when returning from external links; repro steps and environment details were gathered for further investigation. read more
BugHTML tags in og:description
A recent pull request stripped HTML from the og:description meta tag to prevent markup leaking into social previews. read more
BugScrolling in a long topic brings up blank page NateDhaliwal discovered a blank viewport issue when scrolling lengthy posts on Chrome, disappearing after zoom or re-scroll—still seeking cross-browser confirmation. read more
BugReplying as a linked topic creates a second draft
The “Reply as linked topic” flow leaves the original quote in the draft queue; Moin suggested converting the draft rather than saving a new one. read more
blogThe Product Manager’s Guide to Non-Addictive Design lindsey published a new companion discussion for the Discourse blog, emphasizing data-driven product management over habit-forming patterns. read more
#IntegrationsCreate a Data Explorer query using the API
The official how-to guide shows how to POST to /admin/plugins/explorer/queries with query[name], query[sql], and other params to automate new queries. read more
#IntegrationsAutomate the syncing of Discourse queries to Google Sheets
A step-by-step walkthrough uses Google Apps Script to pull Data Explorer results into Sheets on a schedule for dashboards and metrics. read more
#Data & reporting Badge SQL triggered on post content Alexander_Wright crafted a badge query to award on p.raw LIKE '%Give Me A Badge%', but it wasn’t firing—community feedback focused on backfill flags and SQL triggers. read more
InstallationFront End update fails with error 502 only if I click ‘Update All’ Bathinda’s two-container setup behind Nginx gave 502 errors on bulk updates; logs and Sidekiq traces hint at a proxy timeout for the first task only. read more
#TranslationsTranslation restructuring on Crowdin for new-versioning-strategy Moin reported confusion over extra branches after a recent file reorganization; gerhard will explore switching branch order again for translators. read more
zogstrip clarified that excerpts are only serialized by default for pinned topics unless always_include_topic_excerpts is enabled or a theme modifier is used in #394416.
After a day of theme tweaks, bug hunts, and API deep-dives, may your plugins stay sunny, your safe mode handy, and your puppies wag happily ever after!
Support Canapin reported “95 email jobs that failed” on an SMTP-less install issue. pmusaraj dug into Hub calls vs. email errors see post.
Support ruggy_joesten wanted to change the CTA banner on the main landing page ask here; ondrej pointed to #themes & #components in the Theme Guide.
Support asc wondered about muting categories while watching tags—why no “Notify me” checkbox when a category is muted question and Moin confirmed it’s a hidden UI bug (follow-up).
Bugpacharanero flagged that the official Docker templates pin an EOL NGINX version report. david explained the choice of stable 1.28.1 over mainline read more and linked a 2017 discussion on pinning (older thread).
Announcementsdavid rolled out Release 2026.1.0changelog, along with patches for 2025.12.1, 2025.11.2, and 3.5.4.
Feature NateDhaliwal proposed a success toast after flagging a post feature request; Moin highlighted the existing flagged indicator as a persistent confirmation screenshot.
Feature Steradiant requested limiting the Assign plugin to certain categories proposal, and pfaffman asked about real-world staffing use cases follow-up.
Dev pfaffman debugged failing plugin system tests after updating discourse-plugin-skeletonlogs.
Dev Ethsim2 reported Chrome console deprecation warnings on v2026.1.0-latest (+307) details; chapoi linked to the device-breakpoints guide read more.
Community Ethsim2 floated a remote guest talk for university students on Discourse design, moderation, and governance proposal.
#Integrations: markschmucker explored updating SSO user emails via DiscourseConnect without user validation initial ask; Moin reminded to enable auth_overrides_emailstep and shared the Sync SSO guide more.
david provided rationale for the NGINX pin and bumped the Docker templates nginx thread, then announced 2026.1.0 with patch details release post.
sam clarified built-in AI spam mitigations in the spam protection topic AI spam, tested the New Carousel Mode carousel feedback, fixed nested list quoting edge cases list bug, and checked on disappearing user search results search bug.
# Today on meta.discourse.org…
## Key Stats
- **114** new posts, **19** new topics ([site dashboard](https://meta.discourse.org/admin/dashboard))
- **Top users** in the last 24 hours:
- @david (6 posts, 17 likes) [[sample post]](https://meta.discourse.org/t/-/393903/4)
- @Lilly (6 posts, 15 likes) [[sample post]](https://meta.discourse.org/t/-/394653/1)
- @Moin (11 posts, 12 likes) [[sample post]](https://meta.discourse.org/t/-/301401/10)
- @chapoi (10 posts, 9 likes) [[sample post]](https://meta.discourse.org/t/-/394652/2)
- @HAWK (1 post, 8 likes) [[sample post]](https://meta.discourse.org/t/-/394599/1)
- @Joseph_Hansen (2 posts, 8 likes) [[sample post]](https://meta.discourse.org/t/-/394652/1)
- @zogstrip (4 posts, 6 likes) [[sample post]](https://meta.discourse.org/t/-/299454/9)
- @awesomerobot (5 posts, 6 likes) [[sample post]](https://meta.discourse.org/t/-/394652/4)
- @Falco (2 posts, 5 likes) [[sample post]](https://meta.discourse.org/t/-/394223/8)
- @Ed_S (4 posts, 5 likes) [[sample post]](https://meta.discourse.org/t/-/394651/2)
---
## Interesting Topics
### #Announcements
- **#Announcements (#release-notes)** The [January 2026 Releases](https://meta.discourse.org/t/-/393903/2) thread kicked off with @elmuerte unveiling v2026.1.0 as the first ESR stream. @david then clarified branch tagging and support windows [read more](https://meta.discourse.org/t/-/393903/4).
### #Blog
- **#Blog** In [Before You “Build a Community,” Decide: Library or Coffee Shop?](https://meta.discourse.org/t/-/394599/1), @HAWK revealed that just 38 communities generate 31% of Discourse-hosted traffic, leaving 5,000+ sites sharing the remainder.
### #Feature
- **#Feature (#moderation)** @Joseph_Hansen asked if you can “topic-ban” repeat offenders in [Is it possible to eject certain users from a topic?](https://meta.discourse.org/t/-/394652/1). @chapoi confirmed the request and @awesomerobot suggested phased enforcement [read more](https://meta.discourse.org/t/-/394652/4).
- **#Feature (#trust-levels)** In [Feature request: TL1 requires write posts](https://meta.discourse.org/t/-/394633/1), @Dmitry_Krasnoperov proposed adding a minimum-posts requirement for Trust Level 1, prompting @Moin to request more details on the use case.
- **#Feature (#assign)** [Allow to limit assign plugin to certain categories](https://meta.discourse.org/t/-/394580/3) saw @Steradiant seek per-category task management, with @awesomerobot demonstrating group-scoped assigns in settings.
### #Bug
- **#Bug (#gifs #chat)** [Gif functionality issues](https://meta.discourse.org/t/-/394223/8) had @Falco merge fixes in both core and the GIF plugin to resolve autofocus and embedding problems.
- **#UX (#mobile)** [UI Error on mobile foldables](https://meta.discourse.org/t/-/394617/1) reported by @pmcpa shows half-screen content on “wide” foldables; @chapoi moved it to #UX and looped in @Falco for a CSS deep-dive.
- **#Bug (#review-queue)** @noahl noted that an [admin edit](https://meta.discourse.org/t/-/394646/1) was sent back to the review queue—odd, since they’d be approving their own change.
- **#Bug (#sitemap)** In [Problème de sitemap](https://meta.discourse.org/t/-/394642/1), @Antoinnne’s Google indexing errors led @NateDhaliwal to recommend deeper sitemap‐info logging.
- **#Bug (#fixed)** A quick PR by @zogstrip in [Sorting by name on tag page](https://meta.discourse.org/t/-/394485/8) restored proper alphabetical ordering.
### #Support
- **#Support** [Allow mods to create tags from a topic’s title](https://meta.discourse.org/t/-/394628/1) had @Anat_Srulovitch stuck without tag-creation rights; @ToddZ and @Moin walked through site settings to restore the feature.
- **#Support (#images)** @soraiden lost custom category logos and in [Category Images](https://meta.discourse.org/t/-/394688/1), @Moin pinpointed a theme component hiding the icons in non-safe mode.
- **#Support (#login)** The [User-specific 502 errors after login](https://meta.discourse.org/t/-/394612/1) thread saw timeouts for one admin account only; @Canapin helped rule out extensions and cross-device issues.
- **#Support (#email)** In [SMTP Settings Missing After Install](https://meta.discourse.org/t/-/394622/1), @Timelord discovered blank SMTP fields post-setup; community members suspect a skipped setup flag in `app.yml`.
### #WordPress
- **#WordPress (#wordpress)** @miednr asked why [WP Discourse isn’t marked compatible with WP 6.9](https://meta.discourse.org/t/-/394624/1). @zogstrip explained minimal maintenance, and @angus confirmed live 6.9 installs will see metadata updated soon.
### #Installation
- **#Installation (#ssl)** [TLS cert expiry take 2](https://meta.discourse.org/t/-/394619/1) by @fuse triggered a manual rebuild for expired certificates; @Moin linked to the December auto-renewal fix to prevent recurrence.
---
## Activity by the @team Group
- **@david** clarified ESR vs stable tagging and support windows in the [January 2026 Releases](https://meta.discourse.org/t/-/393903/4), weighed in on the [versioning strategy RFC](https://meta.discourse.org/t/-/383536/51), and bumped NGINX to 1.28.1 in the [Nginx version pinning](https://meta.discourse.org/t/-/394488/8) thread.
- **@chapoi** scoped out temporary “topic bans” in [eject users](https://meta.discourse.org/t/-/394652/2), migrated the foldable‐view bug to #UX in [UI Error on mobile foldables](https://meta.discourse.org/t/-/394617/8), and triaged merge-notification quirks in [Don't notify me for my own actions](https://meta.discourse.org/t/-/301401/11).
- **@HAWK** delivered the in-depth traffic analysis in [Before You “Build a Community”](https://meta.discourse.org/t/-/394599/1).
- **@awesomerobot** recommended enforcement steps in [eject users](https://meta.discourse.org/t/-/394652/4), demonstrated category constraints for assigns in [Allow to limit assign plugin](https://meta.discourse.org/t/-/394580/4), and confirmed merging the lightbox aspect-ratio fix in [zoom bug](https://meta.discourse.org/t/-/394156/4).
- **@zogstrip** investigated Japanese input disruptions in [chat-tag live search bug](https://meta.discourse.org/t/-/299454/9) and merged the tag-sorting correction in [Sorting by name on tag page](https://meta.discourse.org/t/-/394485/8).
- **@Falco** pushed two PRs resolving GIF issues in [Gif functionality issues](https://meta.discourse.org/t/-/394223/8).
- **@mcwumbly** suggested adding quick-links for ESR→ESR diffs on the releases site in [January 2026 Releases](https://meta.discourse.org/t/-/393903/11).
- **@supermathie** clarified that DNS reroutes won’t affect X.com embeds in [404 on onebox URLs](https://meta.discourse.org/t/-/394614/3).
- **@renato** highlighted that the new `composer` template type restores smart lists in [Topic form templates](https://meta.discourse.org/t/-/367479/6).
---
With debates on ESRs, emojis flying in GIF threads, and foldable mobiles in the mix, our community kept the gears turning—no puppies were harmed! 🐾
UI Error on mobile foldables: A UX issue where the old mobile view conflicted with the new viewport-based style on foldable devices; Don explained that enabling the Viewport based mobile mode setting resolves the layout conflict. Read more here.
Bulk “Change Category” silently fails: Ethsim2 reported that bulk-moving topics aborts with no feedback when required tag groups aren’t initialized in the destination category, calling for informative error messages. See the bug report.
Using Discourse APIs for a Flutter app: In Praise, SubStrider announced that their iOS app—built entirely via the Discourse API—is now live on the App Store (Android support coming soon), praising the platform’s backend reliability. Find details here.
Core plugin forks after merge: skatefriday asked how to maintain a custom plugin fork after its functionality was merged into core; pfaffman recommended writing a small override plugin instead of forking. Read more here.
Claude Opus & Discourse-related development: Canapin shared experiences using AI (Claude Opus vs Gemini) to generate Discourse plugin code; community members discussed prompt techniques and integration best practices. See the conversation here.
Unusually high CPU usage: In Support, pfaffman and supermathie traced a memory vs. I/O spike to idle PostgreSQL processes, advising routine maintenance, an upgrade to Postgres 15, and regular vacuuming to stabilize resource usage. Full thread here.
Category Images override conflict: A theme override for components/category-title-link prevented category images from loading; RGJ identified the obsolete override and resolved the issue. See the solution here.
Text gets mysteriously reversed in AI Summarization payload: markschmucker found that LLM input was reversed mid-string; Falco pointed to a December patch (PR #36498) and urged updating to the latest version. Details here.
SMTP Settings Missing After Install: A self-hosted OP discovered missing SMTP configuration post-setup; pfaffman and Falco walked through editing the app.yml, rerunning setup scripts, and validating DISCOURSE_SKIP_EMAIL_SETUP. Read the troubleshooting steps here.
Automatically apply grids to image uploads: lindsey introduced the experimental auto grid images setting to automatically apply a masonry layout for 3+ uploads, enhancing gallery displays. See the announcement here.
Forum Summaries category permissions: NateDhaliwal discovered that #forum-summaries wasn’t read-only for TL4-below users; chapoi updated the settings to restrict new topics while keeping replies open. Discussion here.
Category dropdown missing in composer: With lazy-loaded categories enabled, the OP noticed the category picker disappeared in the composer for group-only users; reproduction steps and logs were shared. See the issue here.
Problème de sitemap: A Bug thread in French where the OP asked for help with sitemap generation errors; community members suggested patience or paid support via Marketplace. Read more here.
Questions about Discourse AI automatic translation: TroLLoBloger tested AI translation on small vs. large forums, and members like eisammy shared insights on cost, performance, and setup for translating thousands of posts. Details here.
Clicking “Vote Now” in a poll doesn’t give expected feedback: ChrisBeach proposed replacing the “Vote Now” button with “Voted” or “Amend Vote” to confirm poll submissions, improving UI clarity. Feedback thread here.
Devasa showcased a custom anime watchlist plugin built with Antigravity on their Discourse page, sparking a conversation about how to craft effective AI prompts and prioritize directories in a CLAUDE.md for plugin development in Claude & Discourse-related development. How good is it?read more
Devkittenwater experimented with the REST API to mark posts as read via POST /topics/timings, sharing their JSON payload and seeking guidance after the read history failed to update in Mark posts in topic as “read”read more
Pluginmerefield celebrated new sponsorship for the Discourse-Locations plugin, detailing a feature-flagged PR that sets user location via IP with configurable granularity in Locations Plugin read more
Theme component: denvergeeks introduced Inline Tooltips, a composer toolbar button for adding hover-text within posts, complete with install guidance and repository links in Inline Tooltipsread more
SupportMoin explained how to add custom CSS to the Horizon theme by creating a new theme component, referencing the remote-theme customization guide in 请问Horizon主题如何添加自定义css?read more
Custom Automation Workflow: qi_lu asked about the proper process for creating custom automation scripts without losing changes on plugin updates, and NateDhaliwal advised using a separate plugin to avoid overwrites read more.
Email Disablement: Andro inquired how to turn off outbound emails for all users, and NateDhaliwal pointed out the disable_emails and disable_digest_emails settings read more.
Theme Safe Mode Sidebar: Moin wondered why disabling only themes in safe mode also removes plugins from the admin sidebar, hinting at theme customizations affecting sidebar entries read more.
Chat Window Overflow: Luna_Mora reported that the full-screen chat window with the Sublime theme overflows the viewport height, suggesting a CSS fix is needed read more.
Locale Mismatch After Update: stephtara found that after updating Discourse, the interface appeared in English despite a French default locale, later discovering it was a per-user preference issue read more.
Onboarding Options: stephtara asked about combining Discobot with custom automated messages for interactive, community-specific onboarding, exploring triggers and timing for personalized tutorials read more.
Welcome vs. Newbie Q&A: stephtara debated having a single category for both introductions and beginner questions, while merefield and noahl weighed in on reducing category friction and using tags like #first-questionread more.
Public vs. Private Migration: stephtara explored making parts of a Facebook-migrated support community public, balancing discoverability with the need for a “safe space,” and received advice on gated topics and category lockdowns read more.
AI Translation Insights: eisammy shared data on API costs and translation errors with emojis, prompting discussion on token usage, cost structure, and fallback strategies for Discourse AI localization read more.
Discourse-to-Discourse Archive: tom_eric proposed a “Personal Archive” feature to sync topics and replies from remote Discourse sites into a user’s own instance, and zogstrip suggested leveraging id.discourse.com for identity-based workflows read more.
AI Tool Topic Count: per1234 requested that the discourse.getUser API include a topic count alongside post_count, highlighting gaps in AI persona tooling and data clarity read more.
Locations Plugin Fixes: Quacken reported a crash when setting Map as the default view in a category using the Locations plugin, and merefield offered professional support to address siteSettings assumptions read more.
Tickets Dashboard Update: RGJ announced that the Tickets plugin dashboard has been modernized for Discourse v2026.1, and angus promptly merged the PR adding a sidebar entry read more.
Discord-Style Voice Rooms: eisammy explored enhancements to the Resenha plugin for voice rooms, suggesting UI tweaks like presence rings and improved DOM stability read more.
Horizon Theme Feedback: nathank gave high praise to the new horizon-theme high-context topic cards but expressed a desire for a mid-context “Goldilocks” option for quicker overviews, hinting at user toggle support read more.
Why is the before-topic-progress outlet wrapped with a <span>? Canapin noticed the extra <span> around before-topic-progress in the mobile timeline container (post 1) and awesomerobot confirmed it’s legacy behaviour and has already removed it via a PR (post 2).
Topic Gallery Plugin Canapin unveiled a new plugin that uses AI to generate infinite-scroll image galleries from any topic, with user and date filters, Photoswipe viewer, and smartphone support (post 1). See it live on a test instance: Share your pictures! - public - Canapin
Public community, private community, or a mix?
In the context of migrating from Facebook, Andrew_Rowe suggested a visual distinction between public/private zones, with a different homepage for logged-in users (post 10), and HAWK pointed to two Discourse blog posts on the “library vs coffee shop” privacy paradox (post 11).
Onboarding: Discobot, automated messages, other options? stephtara asked where to find all Discobot texts for editing. Moin explained how to search site texts by key or via GitHub (post 2) and described sending a PM to Discobot to start the tutorial (post 7).
Cannot find Daily Summary topics except via direct link NateDhaliwal reported Daily Summaries are inaccessible when both topic and category are muted. Moin explained the interplay of topic-level vs category-level mute and suggested improving the state=muted filter (post 1, post 4).
Avatar upload issue (Ubuntu) tom1984 described avatar uploads failing to display after “Save changes” due to mismatched URLs (127.0.0.1:4200 vs /user_avatar/...) on a local Ubuntu VM (post 4, post 8).
Unexpected link and formatting issues in discourse posts kayla868 reported plain URLs sometimes break lines oddly in posts. She’s looking for settings or plugins to control link parsing and auto-embeds (post 1).
Seeking Discourse expertise for community transition from WhatsApp KevinHill is moving a large WhatsApp community to Discourse for “intelligent networking” and is soliciting expert help to boost sign-ups and engagement (post 1, post 5).
Parent category should not have “read-only” badge if subcategory is read-only NateDhaliwal pointed out that on the composer page a read-only badge appears on a parent category when only its subcategory is read-only (post 1).
Discourse AI plugin: missing model discovery & sensible defaults tom_eric asked for a “Fetch models” dropdown and automatic context window settings when configuring AI providers. He’s open to a community plugin if Discourse doesn’t implement it (post 1, post 3).
Discourse Topic Excerpts & AI Gists Button Lilly’s component adds summaries and AI-generated gists to topic lists; users praised its utility and compatibility with v2026.1 (post 5).
Discobot gives certificate from wrong user shapelychops reported that completed-tutorial certificates show other users’ info while the URL is correct. The issue occurs sporadically and needs investigation (post 1).
Quoting includes hidden wraps putty explained that CSS-hidden email-only wraps still appear when quoting, revealing content meant only for emails. pfaffman suggested a plugin to strip hidden text from cooked posts (post 1, post 2).
#Hosting
Building Discourse image from discourse/discourse – how to install plugins stevejr wants a Docker image with plugins baked in rather than UI installation. pfaffman clarified that plugins go in app.yml and recommended using ./launcher bootstrap then start-cmd to build and launch (post 1, post 2).
awesomerobot removed the legacy <span> wrapper around the mobile timeline outlet (source) and merged a fix for the /admin/config/emoji lockup in safe mode (source).
HAWK weighed in on public vs private community design in #394890 and shared community-building insights in #374916.
david explained that the new ESR branch will match the old Stable cadence and linked to the new versioning RFC (source).
manuel noted that “Featured Topics” content isn’t live-updated by design in #217580.
sam confirmed the multisite:migrate command fix in the Docker guide #14084.
Falco asked which AI model is used for automatic content localization in #370969.
supermathie suggested background Sidekiq jobs likely resolved the CPU spike in #394651.
pmusaraj investigated the PWA scrolling bug and noted it only occurs after extended use in #394438.
chapoi highlighted the new carousel mode to avoid cropping issues in image grids in #394784.
Despite span wars, avatar quirks, and hidden wraps, meta.discourse.org stayed lively—see you tomorrow for more community detective work!
Introducing Upcoming Changes lindsey unveiled a new Upcoming Changes config page at /admin/config/upcoming-changes to let admins opt-in or opt-out of feature releases safely. read more
Current Projects – January 2026
The Discourse team shared their ongoing work—email notification improvements, performance tweaks, and more. read more
What to do with inactive users Octoberon and Canapin discussed automating cleanup of accounts inactive for over a year using the Clean up inactive users after days setting. read more
Exploring interest in a remote guest talk about Discourse mae explained capacity limits for private sessions, while Ethsim2 weighed options for future university outreach. read more
Search on the Admin > Badges page Zanbabe requested badge‐search functionality on the Admin → Badges page to avoid endless scrolling. read more
Improve error message when visiting rewinds after January Moin proposed clarifying that rewinds are only available in December and January, suggesting a more informative notice. read more
Discourse AI plugin: missing model discovery & sensible defaults Moin and tom_eric examined overlap with existing AI-setup requests, focusing on better LLM model detection and configuration workflows. read more
Search Thumbnails Canapin introduced a plugin adding image thumbnails to search results, making photo searches more efficient on Discourse sites. read more
500 error when approving a reviewable post after editing tags TheBaby5 reported a 500 error caused by full tag objects being saved; nat confirmed a fix landed in PR 37477. read more
Tag IDs displaying instead of slugs TimJensen noticed that user preference pages now show tag IDs rather than slugs after a recent update. read more
House ad not centered in topic-list-between TheBaby5 found house ads left-aligned due to invalid table markup in the house-ad component. read more
Error while processing route: adminGroups.index bdfl encountered a 404 on /admin/groups.json after upgrading to ESR v2026.1.0; awesomerobot helped troubleshoot the route vs. API mismatch. read more
External Links Icon Thomas_Köster and Lilly collaborated on a PR to hide external-link icons on internal links by improving domain detection. read more
Avatar upload issue (Ubuntu) tom1984 discovered that ImageMagick lacked JPEG delegates, causing avatar‐conversion failures; installing the proper delegates resolved the error. read more
#Hosting
Building Discourse image from discourse/discourse stevejr outlined a Kubernetes CI/CD approach without db:migrate, and pfaffman discussed migration timing and base‐image strategies. read more
Branding the Discourse splash screen with custom SVG images (splash) awesomerobot introduced a new site setting to replace the default loading dots with static or animated SVGs for a personalized splash experience (details, reply by @philh). read more
Renaming FAQ to Guidelines martin announced that opting into the upcoming change will swap /faq with /guidelines in the sidebar while preserving any custom FAQ URLs via faq_url (announcement). read more
Introducing Upcoming Changes system martin shared guidance for plugin authors on integrating features into the new Upcoming Changes page, covering metadata options like status, impact, and learn_more_url (overview, implementation example). read more
Dumbcourse – Old-browser friendly UI at /dumb TripleU unveiled a lightweight, D-pad-navigable Discourse UI for legacy Android WebViews, serving ES5 JS and standard JSON endpoints without a proxy (repo, install guide, topic). read more
#Site feedback
Discourse Logo with Throbber philh spotted a new animated logo during page load, and martin clarified it’s currently unlisted pending a public release (screenshot, discussion). read more
Discourse Welcome Modal (official) noahl published a theme component adding an actionable welcome modal for new or returning members, complete with live preview and install instructions (repo, guide, topic). read more
#Translations
Why were that many translations removed? (#crowdin) Moin flagged mass loss of German and plugin translations after PR 37499, and gerhard is investigating to restore missing strings (report, response). read more
iPad upload button unreachable in landscape (uploads, ios)
Jagster noted the composer’s upload icon renders off-screen on iPad in landscape; pmusaraj is exploring a focus workaround to surface the iOS file picker (issue, repro). read more
Search on the Admin > Badges page (badges) zogstrip demoed a badge search box for filtering long badge lists directly in the UI (proposal, feedback). read more
How does Discourse rewind count chat messages? (chat, rewind)
Moin asked if the rewind stat covers a full year or only retained data; Falco and j.jaffeux clarified it’s a “for fun” metric based on available records (question, clarification). read more
Need help with triggered custom badge query (sql-triggered-badge) bisley sought to fire a badge on post creation rather than end-of-day; chapoi recommended using the “When a user edits or creates a post” trigger, confirming immediate awards (help, solution). read more
Tags are replaced for a string (tags)
eisammy discovered tags being scrubbed to generic strings due to an outdated “Discourse-Coloring-Tag” component (report, root cause). read more
Reactions picker positioned outside viewport on mobile TobiasUdtke reported the reactions menu popping off-screen on iOS; peers suggested safe-mode testing and CSS inspection of element.style { left: …; top: …; } (bug, discussion). read more
Error while processing route: adminGroups.index
bdfl encountered a 404 on /admin/groups, blocking the Ember admin UI; further Docker and permission details awaited. (report). read more
awesomerobot rolled out the custom SVG splash screen setting (link).
martin confirmed the /faq → /guidelines URL rename, preserving faq_url overrides (link).
martin outlined how to extend Upcoming Changes for plugins, detailing upcoming_change metadata (link).
martin noted the logo throbber is unlisted pending announcement (link).
gerhard is investigating the removal of hundreds of translations post-PR 37499 (link).
nat deployed a fix for numeric tag IDs appearing instead of slugs (link).
pmusaraj is prototyping a focus-shift fix to surface the upload button in iPad landscape (link).
zogstrip showcased the new badge search UI on Admin > Badges (link).
Falco and j.jaffeux weighed in on chat rewind accuracy, framing it as a retention-based “fun stat” (link).
And that wraps up today’s Meta roundup—stay SVG-savvy, keep your badges searchable, and rest easy knowing no puppies were harmed in the making of these updates!
jordan.vidrine unveiled small but powerful tweaks to the foundation theme, inviting site owners to test changes live via the UpcomingChanges feature in Modernizing the Foundation theme.
patrickemin proposed an idea to auto-fix all external broken links using a WayBack Machine plugin, sparking discussion on information preservation in No more broken links, ever?.
merefield enhanced Termcourse with improved authentication flows, inline image previews via chafa/viu, responsive layouts, and repo hygiene, making terminal-based browsing of Discourse delightful in Termcourse: read 'n post on Discourse instances from the terminal.
ars18 shipped real-time topic refreshes, touch-friendly uploads, and improved read/unread styling in the old-browser UI at /dumb, polishing Dumbcourse in Dumbcourse – Old-browser friendly UI at /dumb.
Mollyvog noticed the “match in title only” search filter moved into a dropdown—visible to logged-in users but missing for guests—and sought clarification in Search in title has disappeared with latest update.
iam_best struggled with port 80 and 443 access when installing via a Cloudflare Tunnel on a Raspberry Pi 5, troubleshooting cURL and app.yml settings in Discourse not working on Raspberry pi 5.
In Modernizing the Foundation theme, jordan.vidrine unveiled the revamped Foundation design, prompting Canapin to compare category layouts when he spotted the old “Boxes with subcategories” style (post #6) and Moin to clarify that Meta uses “Categories only” in the desktop setting (post #5) read more.
In Simplified category setup, stephtara celebrated the new streamlined category creation menu added on Feb 3, praising its direction and noting how much easier moderators can now add categories (post #18) read more.
#Translations
In Where is js.category.single_page used?, Moin hunted down the js.category.single_page key in the codebase, and awesomerobot confirmed it was left behind by mistake and is now removed in PR #37617 (post #2) read more.
In What does “Username needs to be updated on authentication provider side” mean?, KirbyKing uncovered that the auth_overrides_username setting forces Discourse to use external provider usernames, and Lilly explained how to adjust this via the Login tab under site settings (post #2) read more.
In Unusually high CPU usage, char detailed runaway Postgres UPDATE processes on a Contabo VPS, while jack222 and pfaffman recommended server migration or Postgres memory tweaks, leading to deep dives into Grafana graphs and kernel resources (post #18) (post #19) read more.
In We Lost Gorgeous George (unreachable category), zogstrip diagnosed the diacritic search bug (“Éditions” vs “editions”) and submitted a PR fixing accent‐insensitive queries (post #3) read more.
In Discourse Gemini’s embedding-001 Call error, honeymoose ran into a 404 from Google Gemini’s embedding-001 model, and Lilly helped check AI settings to switch to a working embedding backend (post #2) read more.
#Extras
In > termcourse: read ’n post on Discourse instances from the terminal, merefield unveiled three custom theming presets—“fairground,” “slate,” and “rust”—and later added private message support plus extra columns for Category, Users, and Views (post #9) (post #10) read more.
In Versatile Banner, mohx asked about targeting custom groups for ad-free banners, and NateDhaliwal and Moin suggested CSS group classes or the House Ads feature in the advertising plugin (post #371) read more.
In Discourse Indented Subcategories, nathank lauded Lilly’s simple, effective CSS tweak that indents subcategories and displays a clear admin notice (post #4) read more.
In Discourse not working on Raspberry pi 5, Falco pointed out missing commented ports and templates per the Cloudflare Tunnel guide, helping iam_best resolve CSS and HTTPS issues on both domain and localhost (post #6) read more.
In Install Discourse for development using Docker, pean reported UI menu glitches in a fresh dev setup, sparking discussions on whether missing assets or CSS overrides are to blame (post #322) read more.
#Sysadmins
In Move from standalone container to separate web and data containers, philh discovered that ./launcher bootstrap data fails unless the data container is stopped first, and merefield confirmed the docs need updating to avoid unexpected downtime (post #128) read more.
#Hosting
In Hosting Discourse on multiple servers for HA?, mhawash asked about background job sync, and merefield outlined the need for custom engineering or paid hosting for unsupported multi-server setups (post #2) read more.
In ActivityPub Plugin, stephtara and Jagster debated the UX of a follow-feed model vs forum topics, weighing fediverse integration against classic topic organization for cross-community connections (post #475) read more.
Support: NateDhaliwal discovered that ~~link~~ doesn’t strike out URLs unless wrapped in angle brackets, and Moin and Lilly each provided alternate markdown solutions. read more
Support: After moving a Discourse instance to a new domain, stephtara couldn’t log in with Discourse ID; NateDhaliwal guided through resetting the client ID and secret via Rails console to resolve it. read more
Support: hipp0 shared CSS tweaks to prevent embedded videos and oneboxes from overflowing, then confirmed the fix using Gemini-powered suggestions. read more
Support: Lilly debugged a 404 error calling embedding-001 with Discourse Gemini and updated the service URL to https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent. read more
Community: In a lively thread on inactive users, stephtara and JimPas shared stories of members returning after years away—sometimes as more active contributors. read more
Theme: ばこん posted new screenshots of the Horizon Theme’s updated header and sidebar, and stephtara admired Meta’s high-context topic cards design. read more
Bug: elmuerte reported that the Powered by Discourse link leads to an infinite redirect at discourse.org/powered-by; zogstrip acknowledged the report and vowed to fix it. read more
Bug: elRicharde fixed a layout glitch where @mention pills could overlap poll option markers by converting poll list items to flex rows. read more
Bug: one1 highlighted that “About” is excluded from search stop words, making all unpinned “About” posts unfindable; discussion continues on overriding the default list. read more
Feature: Willy requested a native “export only site settings” rake task; NateDhaliwal pointed to an existing community solution and archive of implementation notes. read more
Feature: mhawash proposed a built-in Tag Intersection Navigator for real-time multi-tag filtering in categories; Moin and merefield discussed existing filter options and plugin improvements. read more
#Integrations: stephtara revisited using Facebook login via Discourse ID and Google social login for a non-technical community, weighing the trade-off of added friction versus ease. read more
Theme component: NateDhaliwal released the Discourse OneCompiler Code Runner component, enabling in-forum code execution via OneCompiler embeds. read more
#Site Management: stephtara asked for a less fiddly way to reorder custom user fields; Moin suggested using /admin/config/user-fields.json or the Rails console for batch updates. read more
After a day of Markdown puzzles, domain migrations, and feline remission tales, go spoil your real-world furballs—and maybe treat yourself to a coffee before tomorrow’s Discourse deep dive!
A community admin asked about safely phasing out the Discourse Encrypt plugin; pfaffman recommended staging tests and clarified the plugin’s limited relation to Ember upgrade issues read more.
Hineroptera encountered an error adding a new sidebar via the Objects setting editor error report; awesomerobot confirmed a fix to be included in the next Discourse update read more.
A request surfaced to enhance OpenGraph metadata by adding og:image:width, og:image:height, and og:image:type tags for richer social previews feature request.
zogstrip identified and fixed missing topic_count serialization in the Discourse AI getUser API, improving user analytics data see fix.
The community discussed evolving the chat upload setting into a group-based control; mcwumbly proposed a chat_uploads_allow_groups configuration proposal.
#Translations
gerhard reviewed feedback on the new Crowdin translation structure for the versioning strategy insights; Moin highlighted filter complexity challenges read more.
Kirk spotted a typo in the Japanese email template issue; NateDhaliwal guided on using free Crowdin accounts for community translations read more.
RGJ noted that the tracking button tooltip currently misleads by stating the next action rather than the current notification level; community members suggested wording tweaks discussion.
A Chinese-speaking developer asked how to surface AJAX errors in the frontend question; NateDhaliwal demonstrated using popupAjaxError for user-friendly alerts read more.
nat pinpointed log entries behind title localization failures after moving topics out of solution-enabled categories, ensuring consistent translation behavior debug log.
Ethsim2 documented a persistent table editor crash (Cannot read properties of null) on v2026.2.0-latest +209, prompting triage for a robust fix bug details.