canbekcan introduced Discourse Plugin Cleaner, a tool to audit/remove orphaned plugin residue; merefield raised concerns about safely detecting plugin-owned tables and avoiding accidental deletion of core custom fields, with follow-up caution from pfaffman about the non-zero chance of breaking a database state (read more). Related install guide: How to install plugins
Discourse Daily Challenges shipped v1.4.0 with “ChallengeBot” for DM confirmations, reminders, and mention-driven stats; follow-up questions explored whether mentions can respond in-topic vs DM-only (read more)
The Landing Pages plugin surfaced an admin warning (discourse.resolver-resolutions) indicating it “contains code which needs updating”, suggesting maintainers may need to bump compatibility for recent core changes (read more)
A configuration gotcha: AI translation is not translating 1:1 PMs (even when the UI implies translation progress is complete). Moin clarified current behavior and Falco floated changing the boolean setting into a more explicit targets menu (public topics vs all topics vs group PMs vs all PMs) (read more)
A “how do I build this sidebar?” theming question turned into a quick identification: the screenshot matches the Discourse Doc Categories experience, pointing admins toward the plugin rather than custom CSS/theme work (read more). Reference: Discourse Doc Categories
paco dug into how root-level routes like /faq, /privacy, and /about behave (including when must-be-logged-in is enabled), and whether admins can create similar first-class paths; one suggestion was to publish additional static pages via a topic-to-page workflow (read more). Reference: Page Publishing
After updating to a recent build, RBoy saw Google Search Console “acceptedAnswer” warnings appear on an older FAQ-like page, and asked what changed to trigger it now; the report references prior guidance that unsolved topics set answerCount to 0 (read more). Background: acceptedAnswer / suggestedAnswer discussion
In the #mcp-tagged MCP/API thread, a granular-access API user couldn’t read about.json, yielding an “invalid username/key” error; supermathie questioned whether the error text is misleading and worth improving (read more)
A long-running “print/export” need resurfaced: exporting a single post (e.g., wiki meeting notes) as PDF for sharing into other tools; the discussion points back toward a theme-component approach as a practical solution (read more)
A UX/CSS papercut: tiny category images were fixed with custom CSS, but CharlesGWaldman argued the underlying change (an aspect-image behavior shift) caused unnecessary breakage and should be reconsidered upstream (read more)
Multiple admins reported plugins breaking due to CORS errors after a recent upgrade, especially when using BunnyCDN; one workaround attempt involved tweaking Bunny’s CORS handling for JS assets, but the “why did this start now?” question remains front-and-center (read more). Related: Code highlighting failed because bunny.net CDN
A governance/security question: can Discourse admins be restricted from backups/exports via the UI? Replies emphasized the “admins have absolute control” model, while noting env-defined settings may override/hide UI toggles and pointing to standard automated backup guidance (read more). Reference: Configure automatic backups for Discourse
The new releases site got a detailed accessibility/contrast review, with ferdnyc measuring WCAG contrast ratios and listing several failing combinations (e.g., white text over --color-feature), calling for urgent fixes and a broader accessibility audit (read more)
#Site feedback
In the Meta Branded redesign feedback thread, stephtara reported that linked text on the dark theme is “just below readable,” comparing against other themes (Fondation/Horizon) that remain legible (read more)
A recurring restriction prompted a workaround: unable to download .js attachments (for legitimate non-browser uses). One admin reported success by moving uploads to S3-compatible storage and enabling CDN URLs to bypass the short-url controller path (read more)
Falco engaged in the aicontent-localization discussion about PM translation limits, proposing a clearer setting model (switching from a boolean to an option menu to explicitly include/exclude group PMs and 1:1 PMs) in AI is not translating PMs.
Moin shared a hilarious-but-painful list of AI tag translation misses (e.g. tablet → “pill”) and flagged a serious problem: different tags collapsing into the same translation, breaking discovery in localized UIs (read more). The follow-up explored improving prompts and grounding translations via context and existing localization decisions (read more), alongside the wider rollout note that translated tags are now live (read more) and the broader localization feature set (read more).
The Meta branded redesign theme refresh continued: manuel acknowledged color/usability concerns and pointed to a cleaner path forward now that themes can constrain available color schemes (read more). A side-thread ended up being a great reminder that “theme weirdness” can come from outside Discourse—one report was traced to an unrelated browser theme leaking CSS into Meta (read more).
#feature
In aicontent-localization, troubleshooting why AI translation isn’t translating PMs turned into a preview of upcoming controls—shifting from “public-only backfill” toward explicit toggles like Translate PMs plus “translate these categories” targeting (read more). The related feature request for category-scoped translation was referenced as “coming soon” (read more).
A localization workflow gap was spotted: when a category name changes (e.g. “Installation” → “Self-hosting”), the translated category name may not update automatically, leaving localized UIs stale (read more). This tied neatly into the active push to make dynaloc behave more predictably across the product (read more).
Another dynaloc request: when the translated “About this category” topic gets updated, the category banner description in that language may still show deprecated text—suggesting the banner’s source field isn’t being refreshed on translation updates (read more).
The tag-icons ecosystem hit a localization snag: tag icons don’t reliably work with translated tag slugs, so the icon meaning can vanish just when localized tags are most needed (notably for ai clarity) (read more). This complements broader “translated tag behavior” questions and bug reports (read more).
A settings expectation mismatch got clarified (and reclassified): “Use name for username suggestions” doesn’t affect the local signup form—it only applies to SSO/OAuth flows—so the setting text was updated to reduce confusion (read more). The discussion also spun off into “should local signup be able to prioritize name→username?” (read more) and echoed related “hide/normalize username field” constraints on hosted plans (read more).
Google Search Console reports surfaced a structured data issue: acceptedAnswer errors appear to be linked to recent work that inadvertently exposed a bug; a fix is already queued (read more).
Translated tag UX got thorny fast: when localized autocomplete suggests translated tags, inserting them can result in non-linking hashtags and missing tags, making it unclear what “translated tags” are supposed to do in composer/search/tagging flows (read more). This overlaps with earlier reports of localized autocomplete behaving inconsistently depending on context (topic list vs composer vs hashtag autocomplete) (read more).
A puzzling image zoom issue (“Image could not be loaded” only when clicking directly, but not when navigating via arrows) looked account/session-specific—incognito worked—so troubleshooting focused on safe mode, cache, and “try an alt account” isolation (read more).
#self-hosting
A bootstrap failure during db:migrate (relation "ai_agent_mcp_servers" does not exist) turned out to be an edge case caused by a migration ID collision—notably linked to AI-assisted migration generation producing date-stamped collisions across repos (read more). The resolution included guidance to avoid “suspiciously round” timestamps and a concrete workaround using a new migration version (read more).
A self-hosting upgrade procedure check-in covered “rebuild vs rebuild-in-place” and how to think about release vs latest vs ESR choices—especially the practical reminder that downgrades aren’t supported (read more). The recommended background reading was the release channel explainer (read more) plus how to configure tracking branches (read more).
A post-upgrade “all plugins broken” incident was traced to CORS + script type="module" requirements in the newer plugin system; once CDN headers were corrected, everything returned to normal (read more).
Rails ecosystem maintenance: a PR adding Sidekiq 8 support to mini_scheduler was merged and released quickly, unblocking dependency upgrades for downstream apps (read more).
nat dug into localization quality issues around AI-driven tag translations and next steps for improving prompts/context (read more), proposed predictable ways to inject more context into translation calls (read more), and outlined upcoming configuration improvements for category-scoped translation controls while troubleshooting PM translation behavior (read more). nat also posted the progress update that translated tags are now available (read more).
Falco proposed a “give the agent tools to fetch context” approach to improve tag/category translations (read more), endorsed combining multiple grounding strategies (read more), and expanded on why using existing translations and limited code search can materially improve outcomes for enumerable strings (read more)—while still arguing against disabling machine translation for key areas on Meta (read more).
david helped debug a self-hosting bootstrap failure by checking migration ordering and asking for evidence the table-creating migration ran (read more), then identified the underlying AI-related migration collision dynamic and asked how to ensure real timestamps going forward (read more). david also clarified why plugin CORS issues appeared “suddenly” due to the gradual move to type="module" (read more), confirmed successful resolution of tag/branch deployment confusion in the older-versions deployment thread (read more), and merged/released Sidekiq 8 support in mini_scheduler (read more).
zogstrip connected an ecosystem bug (404s on /llms.txt-style root routes) to an in-flight core fix (read more), clarified the constraints behind the “use name for username suggestions” setting and updated its description to match actual behavior (read more), shipped a fix for the “can’t unfollow banned users” edge case via the official follow plugin (read more), flagged intended vs actual behavior in recurring event attendance semantics and linked a fix for attendee management permissions (read more), and confirmed a fix path for Google Search Console’s acceptedAnswer errors (read more).
sam confirmed a missing Ember route causing root-level links to misbehave in-app (similar to safe-mode quirks) and suggested tracking it properly (read more), then reinforced why fixing /llms.txt routing matters as it becomes more widely linked (read more).
manuel continued iterating on Meta’s redesign theme, acknowledging color issues and describing how a new theme modifier removes the need for a hard-coded color-scheme hack (read more), and followed up on a suspected link highlighting bug by requesting inspection details (ultimately traced to external CSS) (read more).
martin pointed to a prior removal/cleanup relevant to FAQ & Guidelines link behavior (read more) and provided guidance on enabling “solved-style support category creation” via category settings, noting future UX improvements are planned (read more).
schleifer clarified that a reported Discourse CDN domain with an invalid SSL cert had been retired years ago, and directed the reporter toward support escalation if a hosted site was still referencing it (read more).
awesomerobot acknowledged a Horizon theme layout blocker during category creation and linked an upcoming fix via core changes (read more).
HAWK moved a confusing signup behavior report into bug and documented reproduction details on try.discourse.org (read more), clarified hosted-plan limitations around CSS-based registration form customization (read more), and pointed to known behavior where scheduled-post publishing doesn’t trigger mention notifications as expected (read more).
If today taught us anything, it’s this: may your migration IDs be unique, your CORS headers correct, and your German tablet never again translate into medication.
Discourse 2026.3 shipped:david posted the March 2026 monthly release announcement with links to the full changelog and patch releases, and Ed_S confirmed smooth upgrades and RSS/email visibility on their side — read more.
Calendar subscription sync expectations: folks using subscription URLs noticed edits/deletions don’t appear instantly; Falco clarified Google Calendar typically refreshes about twice per day, so changes can take hours — read more.
Theme/plugin template deprecations sparked strong feelings: the ongoing move away from .hbs prompted pushback, while others pointed to auto-conversion tooling and past deprecation runways — read more. (Related: the “auto-update to .gjs” guide was referenced as a path forward — read more, plus earlier compatibility discussions like the FA6 upgrade thread — read more.)
.js.es6 filename deprecation (again): discussion reiterated that most cases are simply renaming files to .js, and awesomerobot offered to help update open-source plugins via PRs — read more.
API regression report: a script using the REST API began returning 400 errors with the all-users scope, breaking previously-working automation (user creation + liking) — read more.
#Feature
Review Queue UX: “helpful flags” should be clickable: admins spotted that “helpful flags” lacked a link/filter path; awesomerobot opened and merged a fix so it’ll land in upcoming updates — read more. (The same report was also raised in ux form — read more.)
Limit AI translation to specific categories:nat linked a PR implementing category targeting for translations, aiming to reduce “translate everything” blast radius — read more. (This ties into broader localization workflows and documentation — read more.)
Email-in for automatic groups: a request argued that blocking incoming email for automatic groups is confusing (UI hides the setting), forcing awkward “shadow group” workarounds — read more. (Prior art includes staff-group email-in expectations — read more and a Rails-console workaround thread — read more.)
#Community_Building
Real-world multilingual community operations: a private community considering Spanish/French/Portuguese support asked for rollout strategies and realistic expectations about machine translation quality — read more. (Team examples pointed to live multilingual usage, including a French chat discussion — read more and a Chinese-language topic example — read more.)
“Ongoing translation” experience (original + translated side-by-side): a detailed request described an AU-scale multilingual need (Anglophone/Francophone/Lusophone/Arabic) and asked for automatic dual-display and paragraph-level translation; Falco noted native content localization covers most needs, but chat translation isn’t there yet — read more.
Chinese-language “Oops” after switching to ESR: a self-host rebuilt started throwing generic errors after setting version: esr; david identified this as a downgrade scenario (unsupported) where the DB schema no longer matches older code, requiring backup restore or returning to latest — read more. (Related upgrade/process discussions continue elsewhere — read more.)
Chat plugin build failure with rollup: a report about _assert is not a function remained unresolved; david asked whether any local patching/customization might explain why it’s not widely reproduced — read more.
Topic Voting plugin: missing vote tallies + broken voting after upgrades: a site on 2026.4.0-latest reported vote history disappearing and users struggling to vote; logs mention tag param deprecations and multiple bundled plugins (Reactions, User Notes, Calendar, Solved) were suspected — read more. (Troubleshooting also referenced a “everything broke” pattern like CORS issues affecting all plugins — read more, and Meta’s own voting UI changes were noticed — read more.)
Translated categories vs translated tags behave differently:Moin noticed category names switch to the interface language immediately, but tag translation seems tied to a separate toggle (topic/post translation), creating inconsistent mental models — read more.
Events revamp: clearer “Webinars” vs “Office Hours”:Danielle outlined a new structure for announcements, replays, and where to find everything in the events category going forward — read more. (A related events thread also had quick fixes to confusing displayed times — read more.)
david shipped the 2026.3 release announcement and linked patch trains — read more; helped debug a chat build/compiler error by probing for local customization — read more; and resolved a self-host “Oops” incident by explaining why downgrading to ESR is unsupported due to schema drift — read more.
Falco set expectations on calendar subscription refresh cadence (Google Calendar updates ~2x/day) — read more; shared real-world multilingual implementations while discussing how to run a multilingual community — read more; and clarified that content localization covers most translation needs except chat (for now) — read more.
nat connected multiple translation-related threads to the same implementation work, posting a PR for category-scoped translations — read more and explaining how translation settings will migrate for PM/public content behavior — read more.
awesomerobot unblocked a Review Queue UX gap by opening (and merging) a PR to make “helpful flags” link properly to the “Flagged by” filter — read more; and offered hands-on help updating plugins impacted by deprecations (especially extension renames) — read more.
Danielle clarified how Discourse will organize Events, webinars, office hours, and replays — read more; and quickly fixed a confusing event time display after it was reported — read more.
renato noted a recent editor change: the rich editor now consistently serializes closed [details] blocks regardless of current open/closed state, and asked for further reports if issues persist — read more.
sam weighed in on an AI/migration workflow issue, suggesting that a lint-like guardrail might prevent recurring migration filename/id mistakes — read more.
j.jaffeux revisited a recurring-events edge case (“going” attendance not resetting), pointing out limitations stemming from not having per-date event entries — read more.
Yesterday’s vibe check: Meta managed to ship a fresh release, chase down translation ambitions across continents, and still find time to remind everyone that downgrades bite—a pretty classic day in Discourse-land.*
Real-world calendar subscription testing brought feature-completeness questions to the surface: permissions-aware expectations and “show until revoked” ergonomics were discussed in Calendar subscription URLs for external calendar apps (calendar-and-event). Follow-up troubleshooting noted a key dependency on Discourse post event enabled (read more).
Project-status coordination got a quick pulse check: lindsey noted progress (pending a teammate returning) on translation support for blog styling components in Current Projects - March 2026 (current-projects).
A behind-the-scenes multilingual retrospective dropped: nat posted Building for Every Language, covering how Discourse’s multilingual support evolved over 13 years in Building for Every Language. It dovetailed nicely with today’s separate translation logistics discussion in plugin-land (read more).
A spooky “presence” glitch was resolved with a simple toggle: admins seeing an infinite “is replying…” indicator were advised to flip Presence enabled off/on; the workaround was confirmed successful in Infinite ‘is replying…’ bug? / Presence plugin (confirmation: read more).
AI bots throwing { "error": "Not found" } turned into a practical configuration walkthrough: a likely deprecated Gemini model ID/URL was flagged, and updated model URL examples were provided in Issue with AI bots forum bots (ai, ai-bot), including recommended alternatives for text vs image generation (read more).
A “banner that won’t unpin” mystery ended up being theme-related: after safe mode removed the banner, the thread concluded it was coming from a theme/component rather than a pinned-topic banner, and the admin found the right setting in How to Unpin this Topic from Banner Area (solution path: read more).
Requests for integrated “/rules” and “/apply” pages (without /pub) surfaced again: page publishing didn’t match the desired “native tabbed layout” feel in Creating custom pages like “About” and “FAQ”. A practical alternative suggested the official landing pages approach in Landing Pages Plugin, while the original request referenced Page Publishing.
Search quality concerns appeared in a new report: exact title-word searches failing in a multilingual site (plus a 500 when semantic search embeddings are enabled) was raised in Search not finding topics by exact title words (search).
davidb identified the likely culprit for the mobile regression as a recent change in discourse-tag-icons and noted a temporary revert while the root cause is investigated in Some Meta topic pages borked on mobile viewport.
david pulled together the “why” and “what to do next” for CDN-related CORS/ES module issues after the plugin loading changes, including the need for a full rebuild for NGINX config changes, in All plugins not functioning due to CORS error after recent upgrade and followed up with additional guidance added to the canonical explanation (read more).
Yesterday’s highlight: between fullscreen “site seizure” splash screens and brand-new full-app embeds, Meta managed to both startle and ship—may tomorrow’s deployments cause fewer heart palpitations than Full Screen Cover Image.
Moin noticed tag banners were suddenly missing their tags (very empty vibes), and awesomerobot confirmed it was caused by a core data change and quickly shipped a fix for the tag-banners component (fixed) — read more (and the “back to normal” confirmation: read more).
RGJ reported that the Category Experts plugin can crash user merges due to validations while merging via CLI; zogstrip linked a fix in progress for category-experts — read more.
hel_Sinki flagged a high-severity backup failure to Cloudflare R2 during multipart upload (undefined method 'downcase' for nil) affecting S3-compatible backup storage; pfaffman shared a pragmatic gem-pinning workaround and confirmed it’s a recurring “S3-compatible” edge case — read more (workaround link drop: read more).
putty shared screenshots of German translations leaking “AI commentary” (thought process text) into the output, including cases where German posts look odd when viewed in English — read more.
A theme-component gotcha: Topic List Previews (TLP) broke sites on 2026.1.3 ESR due to a missing compatibility pin; RGJ provided a PR and mitigation steps, and merefield merged quickly — read more.
davidb noted a fix landing for group dropdowns not refreshing correctly after new groups are created, pointing to the resolving commit (fixed) — read more.
Jesse_Starks reported a weird iPad Safari composer jumping to the top (breaking buttons and resizing) that later became hard to reproduce; early suspicion pointed at theme interactions (Horizon/Foundation) — read more.
Ed_S found that hitting an old numeric tag URL (/tag/6309) throws a 500 instead of a 404/redirect, triggering Google crawl errors; supermathie included the stack trace and suggested better fallback/handling — read more.
Eviepayne highlighted an MFA rollout pain point: enforcing MFA can “lock” logged-in but unenrolled users onto security prefs, preventing them from reading the very guidance topic they need; they requested richer admin messaging (and noted “passkeys are MFA”) — read more.
On docs navigation, nickrsan explored what the “homepage” should be for doc categories, discovering a larger rework in progress for doc-categories and asking how an “index topic as home” option might fit with upcoming “Simple Mode” work — read more.
#Feature
A long-running gamification request got fresh momentum: Falco is investigating per-leaderboard scoring values and shared a first draft PR direction for gamification — read more.
sam and Falco discussed whether AI personas/agents should respond only to explicit @mentions (rather than replies), with a lean toward avoiding “option paralysis” and instead leaning on upcoming workflows — read more (Falco’s workflow angle: read more).
Moin proposed improving localization polish: tag icons don’t appear for translated tags inside tag banners, especially in combined category+tag headers (new request tying together tag-banners + tag-icons + content-localization) — read more.
#Announcements
lindsey announced a quality-of-life improvement for support: people who are Tracking/Watching topics in a Solved-enabled support category now get a notification when a topic is marked solved (with a user preference to disable) — read more. (Related background: Solved plugin read more and “support categories” guidance read more).
The new embedding work drew UI feedback: in the “full comment system” embed, Tris20 suggested making scrollbars and “Reply to Topic” affordances more obvious to prevent accidental replies/notifications; mcmcclur echoed concerns that some UI elements may be too subtle — read more.
In multilingual land, mcwumbly praised the storytelling (and years-long payoff) behind Building for Every Language, calling out how discussions mature over time and tying it back to the “magical multilingual features” — read more.
On the AI tooling front, Falco added an “edit existing posts” tool to Discourse MCP, responding to requests for wiki/post updates via LLMs (and hinting at broader “remote web MCP” thinking) — read more.
Investigated and shipped the fix for missing tags in tag banners (core change impact → plugin update merged) — read more.
Pushed a UX improvement path for moderation flow: when a post is rejected, create a draft with the rejected content and link the user to it; PR opened and next steps clarified — read more (merge/release expectations: read more).
Responded to Meta process automation in the gardening hub experiment, acknowledging an unintended side effect around tagging/closing and promising improvements — read more.
Contributed a thoughtful note on the long arc of multilingual conversations in Building for Every Language — read more.
Pointed to the core change resolving group dropdown refresh issues — read more.
Bonus threads that also saw fresh replies (for extra context): numeric tag handling (tags) read more, plugin/theme troubleshooting patterns via Safe Mode docs read more, and more self-hosting “S3-compatible isn’t always S3” reality checks read more.
Sign-off: Yesterday’s vibe was “everything is fine”… right up until tag banners went blank and Falco’s migration “buddy” demanded emotional support—classic Meta day.
Last 24 hours (2026-04-02 → 2026-04-03) saw 99 new posts across 10 new topics, with a big chunk of the conversation orbiting the new “Boosts” experiment in #Announcements (read more) and a quick turnaround on an Ask Discourse outage in #Site feedback ask-discourse (read more).
“Boosts fill a gap in the interaction hierarchy…” — j.jaffeux in the Boosts trial thread (read more)
Interesting Topics
#Announcements
lindsey kicked off a Meta-only experiment for Boosts—a “reaction with a tiny message” intended to reduce low-effort replies while still acknowledging posts, sparking debate about naming, discoverability, moderation/flagging, and whether boosts should eventually unify with likes/reactions (read more). Related: ActivityPub/Mastodon-style “boost” confusion came up too (read more), alongside a request for better “quote boost” support (read more) and concerns about AI/toxicity scanning + watched-words coverage (read more).
The new “Embed Discourse as a full comment system” announcement continued to draw practical UX feedback—especially around infinite scroll hiding key actions and questions about how embedded replies/likes show up in reporting and categories (read more). One user pointed to tag organization context as a way to reason about where embedded content lands (read more).
#Site feedback
Ask Discourse briefly went down, with multiple confirmations and a fast fix: Bas acknowledged and resolved the issue within the thread, closing the loop cleanly for ask-discourse watchers (read more).
A separate Ask Discourse UX nit: the “Back to Forum” link appears on the homepage where it’s redundant. awesomerobot noted Ask is a special customization case and the team will hide it there (read more).
A community member asked whether there are any Discourse forums focused on public transit / urban design; awesomerobot suggested checking the official directory plus a known Queensland example, and RGJ added a London-related forum link (read more).
A self-host admin hit a 2FA enforcement lock-in problem and wanted to embed help content in the enforcement message. The solution: customize site text (simple) or inject a richer HTML help panel via a theme component + outlet rendering (flexible) (read more).
A 500 error on old numeric tag URLs (hurting Google crawl) got staff eyes quickly; nat confirmed compatibility of /tag/name resolution is intentional and a fix is forthcoming for numeric edge cases (read more).
An AI-related localization glitch: German translations accidentally included “Thinking/Translate” artifacts in public output. nat traced it to a recent prompt/feature update and shipped a formatting-tightening fix, plus cleaned up affected posts/titles (read more). (There’s also ongoing broader language/translation work being discussed elsewhere, e.g. blog follow-ups (read more).)
A moderation workflow surprise: hidden posts can reappear after the author edits. The thread clarifies this is intended behavior for “hidden” (vs deleted) content—if you want it to stay out of the timeline, request revision pre-publication or delete after posting (read more).
Self-hosters revisited iOS push notifications via “Add to Home Screen”: Falco confirmed PWA push should work on iOS 16.4+ and dug into why admin impersonation can break notification setup, pointing at a specific initializer line as the culprit (read more). A related upload/draft-loss thread also saw renewed attention (read more).
A new rest-api question asked how to GET “Featured Topics”. The answer: if featured topics are used in category list layouts, they can be pulled from /categories.json under each category’s topics array (read more).
A Chinese-language report showed a Poll plugin “NoMethodError” in an unsupported-install Bitnami environment; replies pointed out Bitnami installs are deprecated/unsupported and may behave differently from the standard install docs (read more). Supporting context: the canonical “standard install” guide (read more) and the explicit “Bitnami installations are unsupported” note (read more), plus the “container image is deprecated” discussion (read more).
Mail-receiver troubleshooting resurfaced: a user migrating away from Gmail found their self-hosted mail server was rejected due to SPF failures, with logs showing 550 5.7.23 rejections and prompting deeper email-auth alignment checks (read more).
#Feature
AI embeddings integration got a sharp edge-case: Mistral embeddings aren’t fully OpenAI-compatible because the API expects output_dimension while Discourse requires dimensions, making “Run Test” work but blocking saves without dimensions (read more). Background reference: earlier “how to implement Mistral with embeddings” guidance (read more).
Localization + tag visuals: two parallel requests aimed to make tag icons work with translated tags—both in tag banners and the tag icon component. The core issue: translated tag labels don’t currently pick up icons like the default-language tag does (read more) and related component support is being requested too (read more).
Emoji search got more multilingual: localized emoji aliases (English + translations) were implemented via PRs, and in the process the emojis.json payload shrank by ~160KB (read more).
#Migrating to Discourse
A migration deep-dive: importing Google Groups via mbox worked, but messages tied to already-existing Discourse users appeared authored by system. The thread asks how to map existing users to imported messages (without rolling back via backup each time) (read more).
lindsey launched the Boosts experiment on Meta, outlining how boosts work, notification behavior, and asking for feedback on usefulness and naming (read more).
zogstrip clarified that boosts aren’t intended to reorder posts (i.e., not an algorithmic “boost”), and later joined troubleshooting on a Poll/Bitnami error report (read more, read more).
j.jaffeux framed boosts as a missing rung in the engagement ladder and hinted at a longer-term direction: unifying boosts/reactions/likes so communities can choose the interaction model that fits (read more).
awesomerobot provided the clearest positioning on Boosts: optional, inspired by Basecamp-style morale boosts, and potentially useful for communities that otherwise generate lots of short “cool!” replies; also confirmed boosts aren’t scanned by AI today (but could be) while watched words apply (read more, read more). They also acknowledged an Ask Discourse homepage UX edge case and suggested a directory approach for finding transit-related Discourse communities (read more, read more).
Bas responded quickly to an Ask Discourse outage report and confirmed the fix after investigation, keeping the status visible to reporters (read more, read more).
nat confirmed an incoming fix for the numeric tag old-URL 500 error while reinforcing that /tag/name compatibility is a deliberate product decision (read more). They also shipped a fix for AI-generated translation formatting issues in German and cleaned up affected content (read more), plus shared the next entry in the language/localization blog series (read more, read more) and clarified a tag translation example as intentional wordplay (read more).
Falco confirmed iOS PWA push notification support for Discourse instances added to the home screen and pointed to a specific code path that makes notifications fragile after admin impersonation (read more, read more). They also noted the implementation of localized emoji aliases and a payload reduction win (read more).
supermathie answered a 2FA enforcement UX question by pointing admins to customize the enforcement copy via site text overrides, enabling clearer instructions for locked-out users (read more).
Boost rockets launched, Ask Discourse recovered, and a handful of translation/notification gremlins got chased off—pretty solid day for both uplifts and fixes.
Sample of where the day’s energy went: UX iteration on boosts (read more), composing/editing ergonomics (read more), and a flurry of plugin/self-hosting problem-solving (read more, read more).
Interesting Topics
#Announcements
Canapin and nickrsan dug into the UX cost of “boosts” (visual noise, emoji semantics, and whether boosts should merge with reactions/likes), while ToddZ and others compared the term to Basecamp/Mastodon patterns in Testing Boosts on Meta.
Embedding Discourse as a full comment system kept getting real-world scrutiny: traek called out the “scroll an iframe forever” problem and asked for a top-level comment entry affordance in Embed Discourse as a full comment system on your site.
Feature restraint became the theme: Ed_S shared a deliberately small configuration (few categories, no chat/reactions/LLMs) and prompted others to compare “minimal by choice” setups in How minimal is your forum?.
A lighter thread still surfaced an operational question: finding Discourse communities about transit—follow-ups narrowed interest away from UK examples in Are there forums on public transit in discourse?.
#Plugin
Anton_Akhmerov proposed a “multi-team Discourse” concept: turning top-level categories into workspaces and subcategories into channels (with paired chat channels), and mcwumbly asked about real-world use and scaling in Workspace groups (groupschat).
A new anti-abuse tool dropped: ProxyTracer’s plugin offers VPN/proxy detection at registration/login/global, with caching and fail-open options to avoid mass lockouts in ProxyTracer: VPN & Proxy Blocker.
A practical maintenance update: the repo move (GitHub → GitLab) for challenges tooling continued, including a note about account flagging fallout in Discourse Daily Challenges.
Translation + uploads hit a sharp edge: switching from OpenAI to Mistral caused images to disappear in translated versions (upload links not preserved). The workaround was effectively “use a stronger model”: Mistral Large resolved it, while Small didn’t reliably follow instructions in Images missing in translated posts when using Mistral as translation model (aicontent-localization).
A deceptively small wording issue kept tripping people up: when abandoning an edit, the UI says “Discard your post?” (even if there are no changes). The request: make it “Cancel edit” / “Discard edits” and avoid prompting when nothing changed in “do you want to discard your post ?”.
#Feature
Media compatibility surfaced as a silent failure mode: VP9-in-MP4 uploads can look fine on desktop/Android but fail on iOS Safari; the proposal is to detect codec on upload and reject or transcode. Related pointers included the official streaming/transcoding direction in Auto-detect or reject VP9 video uploads incompatible with iOS Safari (see also Discourse Video Stream ).
A serious moderation/design boundary question: AI triage automation worked for public posts but did not appear to scan DMs between regular users even with “Include personal messages” enabled, raising concerns about abuse moving to private channels in Does AI triage automation scan DMs between regular users?.
awesomerobot weighed in on when “boosts” are not appropriate (“don’t boost anything you need to rely on later”), helping define the line between lightweight acknowledgement and durable content in Testing Boosts on Meta.
mcwumbly encouraged the direction of category-as-workspace thinking and asked about “in the wild” adoption / real operational experience for the prototype in Workspace groups.
If yesterday was any indication, today’s mission is clear: keep your forums minimal, your boosts uncluttered, and your “Discard” dialogs only discarding what you actually changed.
Notable quick wins: Falco committed to adding languages to Meta’s translator “early next week” in this thread, and mcwumbly linked real-world TL3 tuning changes Meta just made in this support discussion.
Interesting Topics
#site-feedback
Denis_Kovalenko asked for Ukrainian/Russian to be added to Meta’s language switcher, and Falco confirmed it’s a good idea and will be added soon (read more).
In the ongoing “content gardening hub” experiment, Moin noticed category descriptions/config no longer match the intended “only certain groups can post” rules, which helped connect the dots to a new permissions-reset bug (read more). (Related: the bug report itself in #bug:read more.)
Ed_S wanted data-driven advice for tuning TL3 promotion/demotion thresholds; Moin pointed to per-user TL3 requirements and Data Explorer queries (read more), and mcwumbly shared Meta’s own recent cap reductions (500→250 topics viewed, 20k→2k posts read) based on query results (read more). (Deep link: the referenced query thread at read more.)
A Chinese-language support thread dug into why all traffic appears as Cloudflare IPs when there’s a second reverse proxy layer; replies focused on updating nginx config and questioning whether the extra proxy layer (e.g. 1Panel) is necessary (read more).
wuyuan reported a mysterious bottom-left overlay showing “gadgets” across forums; Ed_S identified it as a UI gadget box (theme toggle, light/dark, shortcut help) and pointed to an existing component discussion (read more; related: read more).
A French admin asked how to notify all event registrants about cancellations without manually @-mentioning dozens of users—raising a potential gap in calendar-and-event workflows (read more).
In AI triage automation, Denis_Kovalenko questioned whether “Include personal messages” scans DMs between two regular (non-staff) users; RGJ clarified that it does—then asked how the behavior was verified (read more).
Richie reported Google Search Console still complaining about a missing text field in mainEntity.suggestedAnswer despite updating to 2026.4.0-latest, referencing last week’s earlier report and fix attempt (read more; background: read more).
In a long-running sign-up approval workflow doc, stephtara asked what “refusal” looks like in practice—can staff provide reasons, “park” requests, or message applicants to clarify missing info? (read more)
A previously active support topic saw a confirm-that-it’s-fixed follow-up: after updating, “official components” started working again for Stephane_Roy (read more).
#plugin
elmuerte released a Ko-fi integration plugin that can reward donations with badges/group membership (including tier-based monthly memberships), with notes about currency limitations and anonymization support (read more). Follow-up discussion covered long-term maintenance and potential enhancements like a public progress bar/widget support (read more).
The ProxyTracer: VPN & Proxy Blocker thread debated whether Safe Mode undermines a security plugin; Moin argued safe mode won’t help much for a Ruby-only plugin and raised caution flags, and the author updated docs (and removed a redundant about.json) in response (read more; author update: read more).
The long-running Locations Plugin thread received a report that category maps stopped generating after an update; merefield suggested sponsorship and offered to investigate (read more).
In the experimental Discourse Suggested Edits plugin thread, NateDhaliwal asked whether OPs are notified when someone suggests an edit—after not spotting notification logic in the code (read more).
#feature
A feature request proposed auto-detecting or rejecting VP9 video uploads that won’t play on iOS Safari; discussion explored async/background transcoding trade-offs vs. simply flagging VP9 on upload. Falco highlighted CPU-abuse risks (especially 1vCPU self-hosts) but considered exploring a plugin option (read more).
Moin reported a serious issue where category security permissions can reset when changing parent/subcategory relationships under the “simplified category creation” upcoming change—potentially re-enabling everyone reply/create without warning (read more). mcwumbly confirmed it sounded familiar and said the team would dig in (read more). (Related upcoming change: read more.)
#announcements
Feedback continued on “Testing Boosts on Meta,” with satonotdead endorsing a UI concept that “fuses” elements from multiple approaches because the current state feels confusing (read more). (Referenced earlier mock/concept: read more.)
In the “notify when a watched/tracked topic is solved” announcement, marteng69 flagged that disabling this new notification also disables alerts when your own post is marked as the solution—asking whether that’s intended or a bug (read more).
Monikas shared a slick Zenless Zone Zero “Inter-Knot UI” inspired Discourse theme concept; Lilly encouraged reposting it properly under Customization > Theme with a GitHub repo link so others can try it (read more).
In “How minimal is your forum?”, the discussion swung back to category vs tag sprawl: NateDhaliwal teased the “huge bunch of tags,” and Ed_S reflected on whether low-usage tags help users vs SEO—then spun that into a deeper TL2/TL3 capability question (read more).
A small but handy docs pointer: in the trust-level explainer thread, stephtara asked for the “permissions per trust level” reference, and ToddZ linked the canonical permissions matrix topic (read more; reference: read more).
Falco confirmed Meta will add Ukrainian/Russian to the translator language switcher soon, responding directly to the request in #site-feedback (read more).
Falco continued the VP9-on-iOS discussion, explaining why server-side video handling is trickier than images (CPU abuse vectors on small instances), but floated making an optional plugin path for admins willing to accept trade-offs (read more).
mcwumbly shared operational insight into TL3 tuning on Meta—specifically, reduced “cap” defaults informed by real usage data—while also discussing how Discourse may roll out future default changes more transparently (read more).
mcwumbly acknowledged a high-impact permissions regression report and confirmed the team would investigate the category-security reset behavior (read more).
mcwumbly tied the “lost posting restrictions” mystery back to the same re-parenting bug class, and said he’d prioritize sorting the restrictions later that day (read more).
Signing off: Yesterday was a classic Meta combo—new languages incoming while category permissions played a little game of “now you see me, now you don’t.”
Asked for better previews/screenshots on a new theme component announcement (read more); clarified Horizon theme compatibility expectations (read more)
Denis_Kovalenko discovered AI triage automation wasn’t scanning DMs between regular users until “Topic Type” was left blank; RGJ confirmed the audit logs omission and the fix path, and awesomerobot suggested UI copy changes to reduce confusion (read more).
A translation workflow issue surfaced where images went missing in translated posts when using a Mistral model; discussion shifted toward which “Mistral Small” is meant, and what better-supported alternatives exist for both quality and GDPR constraints (read more).
#Announcements
The “Boosts on Meta” trial continued with Canapin arguing boosts may be more “guestbook-like” for authors than useful for readers, and a side debate emerged about whether boosts could introduce negativity that clashes with Discourse’s no-downvote philosophy (read more).
#Theme component
A new component, Topic Hover Cards, was announced to show rich previews when hovering internal topic links; chapoi requested screenshots/preview links to make evaluation easier before install (read more).
In the official Sidebar Theme Toggle component thread, a “sidebar not appearing” report ended up being a configuration/selection hiccup that resolved during troubleshooting, after awesomerobot checked theme selectability settings (read more).
#Plugin
Discourse MiniMod debuted as a plugin that extends category group moderation so trusted users can manage categories/tags/topics without full mod/admin powers—positioned as “organizers” who can rearrange shelves, not “kick people out” (read more).
The long-running Topic Ratings plugin thread saw a regression report (ratings UI vanished), followed by a fix PR for leftover widget references—and a note that the plugin has been modernized further in a separate fork pending more testing (read more).
Data Explorer authors hit a guardrail: queries containing HTML entities like " couldn’t be saved because semicolons were being flagged even inside quoted strings; the request is for smarter detection (end-of-query/outside quotes) (read more).
A second Data Explorer issue: output appears double HTML-escaped (Fish & Chips instead of Fish & Chips), suggesting the “bug” lives in rendering rather than SQL (read more).
RSS edge case: exclude_tag works on the main RSS feed but appears ignored on category RSS feeds; a reproducible diff test was provided (read more).
A structured-data/SEO issue was reported: schema output missing the 'text' field in mainEntity.suggestedAnswer; staff confirmed investigation underway (read more).
A “strange overlay” of gray dots/lines in the bottom-left turned out to be a sidebar fade gradient artifact; bryce shared a CSS variable override to disable the effect entirely (read more).
Numeric-tag legacy URLs: a report about 500 errors on old URLs (impacting crawlers like Googlebot) got a core PR reference indicating the issue should resolve once merged (read more).
#Site feedback
Meta’s category reshuffle sparked reflection: mcwumbly asked what kinds of “community building/management” discussion should be encouraged, and whether structure or norms should shift to keep the space focused and useful (read more).
#Feature
A long-requested i18n nicety landed: localized emoji aliases now work for some languages (e.g., typing a French alias can map to the canonical emoji), improving usability on non-English instances (read more).
AI embeddings: a configuration for using Mistral embeddings was shared, but the discussion also emphasized that other higher-scoring models (and multiple zero-retention providers / self-hosting) may be more practical depending on goals (read more).
#Self-hosting
A new self-hosting question asked how to think about port forwarding when using Cloudflare Tunnels—specifically whether to target localhost:80, a LAN IP, or something else (read more).
awesomerobot proposed clearer automation scope labels (distinguishing public topics vs all categories vs DMs) after a user confusion report about “All topics” not including PMs by default (read more); and followed up on troubleshooting in the official sidebar toggle component thread (read more).
chapoi requested better preview media for the newly released “Topic Hover Cards” component so admins can evaluate quickly before installation (read more); and set expectations on Horizon theme compatibility work, noting requests drive prioritization (read more).
manuel highlighted the official Lucide icon set in the “Alternative icons” guide and noted the topic itself should be updated to reflect newer/official options (read more, read more).
bryce explained the “unexpected overlay” effect as a gradient fade used for sidebar overflow, and provided a CSS variable override to disable it (read more).
pmusaraj linked to a core PR that addresses numeric-tag legacy URL failures causing crawler-visible 500s, suggesting relief once the fix merges (read more).
sam confirmed an experimental feature gap in the Suggested Edits plugin (“not implemented yet”) and indicated it would be added (read more).
davidb acknowledged and escalated the structured-data issue involving mainEntity.suggestedAnswer missing a required field, noting an update should follow soon (read more).
mcwumbly kicked off a meta-level discussion on how to better support community-building conversations after category changes, asking for input on structure and norms (read more).
Falco merged progress on localized emoji aliases (bringing non-English shortcode parity closer to reality) (read more); and pushed back on ambiguous “Mistral Small” reports while recommending higher-performing translation models and zero-retention inference options (read more, read more).
Yesterday’s highlight reel: Meta managed to debate boosts etiquette, fix DM scanning scope, and teach emojis to speak French—all before anyone even finished hovering over the new hover cards.
sam shipped easier access to bookmarked posts within a topic, adding “jump-to” links from the bottom bookmark control—then the thread quickly turned into a nuanced discussion of how the topic-level bookmark icon should signal “post(s) bookmarked” on mobile (read more). Related: an old feature request finally got its “told-you-so” moment (read more).
The Boosts experiment continued to draw “signal vs noise” feedback, including concerns about visual clutter and ideas like reactions-to-boosts—plus a new request suggested collapsing long boost lists on mobile (read more; read more).
Image uploads with automatic grids got fresh pushback from Moin, who argued that default grid formatting can hide information and adds extra work for Markdown writers (read more). Related: broader UI polish discussions continue in the theme space (read more).
#Site feedback
manuel shared a substantial update: the Meta Branded theme has been rebuilt from scratch, showcasing Lucide icons, a theme modifier to restrict color palettes, and a “where customization is heading” narrative—while the replies zeroed in on icon legibility, “replied” glyph choices, small list icons, and layout quirks like an unclickable logo (read more).
A quieter meta-thread asked for more community-building and migration stories (especially Facebook → Discourse), pointing to the educational value of real-world moves and what worked (read more).
#Theme component
manuel published Discourse Lucide Icons as a dedicated theme component (with repo + install docs), inviting focused feedback as the icon mapping gets refined over time (read more). Related: this was also cross-referenced from icon guidance discussions (read more).
Deprecations continued to be a flashpoint: david explained why dropping legacy .es6 extensions is about reducing real-world developer confusion (tooling, highlighting, linting, codemods), not mere technical constraints (read more).
The companion thread on deprecations escalated into a broader debate about plugin/theme compatibility expectations, with LeoDavidson describing burnout and arguing for a more stable API surface, and others advocating ESR + staging workflows (read more). Related: the same “I may delete/abandon plugins” theme spilled into older plugin topics (read more; read more; read more).
In a Chinese-language dev thread, sam pointed to early work on checking in AI “skills” into core under .skills, framing it as “early days” with more to come (read more). Related: local dev workflows for Discourse AI are still being clarified (read more).
A bug report found that exclude_tag doesn’t work in category RSS feeds, and sam offered a practical workaround (/latest.rss?category=...&exclude_tag=...) while zogstrip linked a core fix PR (read more).
Upload markup generation can break when filenames begin/end with underscores (e.g. _test_file_.txt), producing malformed attachment links; zogstrip posted an “attempt at fixing this once and for good” (read more).
A self-hosted instance using mail-receiver reported intermittent inbound email processing failures where messages appear under both received and rejected, alongside observed ActiveRecord::Deadlocked logs (read more).
A localization UX inconsistency was acknowledged: the translated categories/tags toggle wasn’t behaving consistently; nat shipped an adjustment so the toggle only affects the title and post, aiming for predictable behavior (read more).
Horizon theme users revisited a mobile layout concern: sticky category heading containers can dominate small screens; discussion explored whether this should be a theme-level change or left to site CSS tweaks (read more).
A report noted that users who disable translations sometimes see them re-enabled after weeks; nat clarified the current approach (local storage for 30 days) and proposed persisting the preference in user settings for cross-device consistency (read more).
Another localization issue described a ?tl= anonymous browsing bug: titles appear in the requested locale at first, but revert inconsistently while scrolling and inside topics—despite the UI showing the chosen language (read more).
Moderation workflow questions came up again: a new topic asked whether there’s an API to hide a post (not delete it) so flagged content can be removed from view without resolving the flag (read more). Related: concerns about auto-resolving flags on deleted posts leaving sensitive content visible without staff action (read more).
A watched-words support case reported flags triggered without a highlighted watched word, possibly tied to email-based replies; staff asked for configuration details (regex vs plain) to narrow it down (read more).
#Community Building
A Japanese-language question asked why a forum doesn’t appear in Discourse Discover, noting seemingly less-active sites that do show up; replies pointed to “appear in discourse discover” and referenced known criteria discussions (read more). Related: Discover inclusion context (read more).
#Self-hosting
Cloudflare Tunnel troubleshooting continued: one user solved port-forwarding uncertainty by following the Tunnel guide, while another reported ERR_CONNECTION_TIMED_OUT after following the same approach, looking for next diagnostic steps (read more; read more). Related: the referenced Tunnel walkthrough (read more).
Announced the new topic-level access to post bookmarks and discussed icon signaling differences across platforms in Easier access to bookmarks and follow-ups like mobile UI cues.
Shipped and narrated a major iteration of the official Meta theme rebuild in Rebuilding the Meta Branded theme, then redirected icon-specific feedback into a focused component thread.
Published the Lucide icon set as a theme component in Discourse Lucide Icons, and cross-referenced it from icon documentation discussions in Alternative icons.
Weighed in on the meaning of topic bookmark icon state (topic vs post bookmarks) and flagged a cross-platform inconsistency to investigate in Easier access to bookmarks and follow-up.
That’s a wrap: may your bookmarks be one tap away, your RSS feeds properly filtered, and your Lucide hearts eventually find their filled-in “liked” state.
Mistery went shopping for a theme redesign with a $50 budget, and itsbhanusharma + Canapin pushed back that the request is too vague (and the budget unrealistic) unless scope is clarified (read more, read more)
The “Unable to tell post bookmarks exist in the footer on mobile” thread dug into whether the footer bookmark icon should communicate post bookmarks, topic bookmarks, or both—plus how to keep a consistent action model without hiding useful “jump to bookmark” affordances (read more, read more)
Event creation UX remains a stumbling block: nathank argued for a single-click entry point to the Create Event flow (and less “markdown cleanup”), with acknowledgement that improvements are underway but without ETA (read more, read more)
Disabling public chat channels currently still leaves a “Channels” tab visible in the chat drawer; the thread explores whether it’s a caching/refresh issue or a genuine UI state mismatch (read more, read more)
discojan spotted that preview link reading-time uses a hard-coded "mins" string that can’t be translated (and can even produce awkward plurals), prompting a fix to localize it properly (read more, read more)
Calendar subscription syncing HTML-escaped ampersands (&) into Google Calendar event titles was reported and quickly patched, with confirmation that it’s now resolved (read more, read more)
Another calendar-subscription papercut: Google Calendar was using the webcal URL as the calendar name (leaking an API key into the visible name field). The thread landed on adding X-WR-CALNAME to the ICS output, and it’s confirmed working (read more, read more)
A puzzling localization edge case: on initial page load, topic lists can appear mostly translated except for topics originally written in the visitor’s language (e.g., German topics showing in English), and it reproduces even on Meta itself (read more, read more)
Theme components respect .discourse-compatibility at install time, but not when compatibility targets change later—meaning admins may need a remove/reinstall dance to recover, instead of updates rolling back automatically (read more)
“Should I cron-restart Discourse daily?” came up in the context of POP3 polling gaps; replies pointed to the POP server error and suggested moving to direct-delivery incoming email and/or splitting mail onto a subdomain (read more, read more)
A ticket-system setup hit a scary privacy snag: TL0 users could see content in a support workflow that was expected to be private; the discussion immediately pointed at the Private Topics approach and troubleshooting why it might not be behaving as expected (read more, read more)
#Site feedback
Meta’s official plugin topics may have outdated “available on all hosting tiers” callouts now that tiers changed (including the free tier), and there’s also cleanup needed for old category-mention text like #bug that no longer resolves (read more, read more)
Using Discourse as an academic journal: adding Google Scholar citation_* meta tags per “article post” likely needs a custom plugin (not a setting/theme tweak), with pointers toward registering custom field types (read more, read more)
Sidebar Menu Reorder troubleshooting: the component couldn’t find a section, and Lilly shared a practical Rails-console approach to inspect SidebarSection records and restore the default “Community” section title (read more, read more)
IME users (e.g., Chinese input) can get their composition interrupted by word limits in the Boost composer; a proposed fix delays cutting until after composition ends, with a PR linked for review (read more)
zogstrip shipped a string-localization fix path for onebox reading time (“mins”), tying the report to an upstream PR (read more); confirmed a calendar-sync escaping bug would be fixed via PR (read more); and continued tightening PM/flag inbox behavior with a “missing bump: true” patch (read more).
chapoi drove the bookmark footer design discussion forward with a consistency-first UI proposal (including distinct icon states and menu behavior) (read more); and confirmed ongoing work to simplify event creation UX (no ETA yet) (read more).
sam argued for an end-user-focused interpretation of bookmarks (topic vs post) and pushed back against making UX harder in the name of nuance (read more); and clarified the intended audience for dv tooling as developer/designer oriented rather than hobbyist-friendly (read more).
nat jumped on the content-localization “wrong-language-on-refresh” report by validating relevant settings and investigating the reproduction on Meta (read more, read more); and acknowledged Data Explorer issues amid planned updates (read more, read more).
awesomerobot endorsed the bookmark icon/menu compromise as a good synthesis of feedback (read more); advised that Google Scholar citation meta tags likely require a custom plugin approach (read more); and noted a merged fix to retain category permissions when changing category hierarchy (unless parent restrictions require tightening) (read more).
Falco took the “webcal URL becomes Calendar Name” report from “how would we do that?” to “let’s try it” by adding X-WR-CALNAME support and linking the fix PR (read more).
david helped diagnose a self-hosting CORS/CDN problem by narrowing where HighlightJS should be loaded from and asking clarifying questions about S3 vs app CDN setup (read more).
Yesterday proved once again that on Meta, the smallest UI details—bookmark glyphs, calendar names, and even a humble ampersand—can trigger the biggest (and most productive) deep-dives.
A lot of the energy clustered around mobile composer UX and day-to-day admin practicality: the mobile composer overhaul discussion in ux (read more) cross-pollinated with the “how do I close the tag selector?” question (read more), while “what’s supported?” conversations popped up on legacy Windows access (read more) and Discourse-hosted SSO/OIDC trouble reports (read more).
Canapin kicked off a wide-ranging reality check on creating/editing posts on mobile in 2026, arguing the composer is visually and functionally overwhelming on small screens and asking what should be removed from the default experience (read more); the thread also connected to reports of composer freezing (read more) and older mobile UX context (read more).
The “close the tag selector on mobile” UX papercut got its own focused thread: the selector stays open with no obvious dismissal pattern, and users described awkward workarounds like dismissing the keyboard first (read more).
#Site feedback
A request to make feature/bugfix announcement topics include a version number highlighted the gap between tests-passed expectations and the reality of managed hosting + large plugin/theme stacks, where “just update daily” isn’t workable (read more); the discussion referenced a chat pinning announcement as an example (read more).
Ongoing feedback on the Meta branded theme rebuild continued, with mobile spacing called out as “too much padding” that reduces usable width on narrow screens (read more); related meta “plugin availability notes” confusion also saw a small improvement (scroll margin) land (read more).
“What versions of Windows are supported?” turned into a practical clarification: Discourse support tracks supported browsers and, as staff emphasized, no support for OS versions Microsoft no longer supports—with real-world notes about modern TLS + browser feature requirements and workable Chromium/Firefox forks for stragglers (read more); background context included legacy browser policy (read more) and legacy browser guidance (read more).
A Discourse-hosted (customer) incident: users reported OIDC login failures on the OpenAI Discourse forum, with multiple confirmations that “Sorry, there was an error… with oidc” is reproducible (read more).
A nuanced uploads question: .txt and .yaml attachment “download links” open raw text instead of downloading, prompting discussion of storage/CDN/S3 headers like content-disposition and whether “secure uploads” is the right lever (read more); a potentially related S3 filename/download behavior thread was cited (read more).
A migration/admin-defaults edge case: staged users inherited “watching” via TL0 group settings, and the thread explored whether “default categories watching” behaves as admins expect (especially pre-activation) (read more); the setup referenced a Google Groups migration path (read more).
A moderation anomaly: admins saw the system flag multiple old posts (including PMs) as spam with confusing review-queue messages (including “Is this post or undefined?”) alongside a worker timeout/backtrace in logs (read more).
#Theme component
A tiny-but-handy new component restores the composer fullscreen toggle on tablets / larger touch devices, where it’s normally hidden—aimed at improving composer ergonomics for bigger screens (read more).
The official Versatile Banner component hit an unexpected external dependency snag: its default background image is hosted on Imgur, which is now inaccessible in the UK—making the out-of-box banner appear broken for new installs there (read more).
In Quote Callouts, a locale-specific bug appeared only with German translation enabled; a quick fix was proposed and confirmed, and follow-up UX requests asked for icon-only/no-title callouts (read more).
#Announcements
The ongoing experiment with Boosts kept drawing thoughtful community “culture-fit” feedback: admins want strong control (disable/hide low-content UI affordances), and reassurance that disabling doesn’t cause breakage (read more).
A delightfully deep infra post explained how “Jennifer Aniston and Friends” led to 377GB of bloat and ext4 hardlink issues during backup generation—prompting both laughs and appreciation for more technical postmortems (read more).
A wp-discourse feature idea proposed hiding specific Discourse replies from being pulled into WordPress comments by applying a Discourse tag (similar in spirit to existing trust-level based filtering) (read more).
ducks published the companion discussion for the infra write-up on backup generation, ext4 hardlinks, and how real-world media load can explode disk usage (read more).
awesomerobot engaged in the mobile composer reality-check thread, acknowledging “Meta is a worst-case scenario” and asking for actionable guidance on what to remove/simplify from the default mobile composer UI (read more); they also followed up on a theme-related composer/draft warning report in a reddit-like theme thread (read more).
jordan.vidrine weighed in on the mobile composer discussion with both product perspective and feedback-quality guidance—encouraging specifics that can translate into fixes (read more)—and continued clarifying intent/controls around Boosts moderation and “fun features” in the experiment thread (read more).
Falco clarified the practical policy stance on legacy platforms (Discourse support aligning with vendor-supported OSes) while also sharing tested alternatives for older Windows users via modern browser forks (read more) and follow-up testing results (read more).
supermathie helped troubleshoot the legacy Windows accessibility complaints by hypothesizing TLS negotiation / modern cipher support issues and suggesting concrete diagnostics via SSL Labs’ client test flow (read more).
derek shipped a small but meaningful usability tweak (scroll margin) in the ongoing “plugin availability notes” discussion, improving how anchored headings land on the page (read more).
If yesterday taught us anything, it’s this: keep your hardlinks healthy, your mobile composer buttons tappable, and maybe don’t let Jennifer Aniston anywhere near your backup volume.