New posts:89 (spread across active threads like the new mobile auth UX component read more, an SEO canonical/hreflang deep-dive read more, and a composer mentions edge-case bug report read more).
New topics:12 (including a new webinar announcement read more, a new theme component to “show” hidden categories read more, and an API support question on deleting drafts read more).
Terminal client “termcourse” gained hi‑res image expansion support read more
Reactions-disabled sites want a simpler “Like” UI again read more
A self-hosting admin hunted for the update UI location (/admin/update) read more
Interesting Topics
#Announcements
lindsey announced an improvement to permanently deleting posts: the can permanently delete setting is now visible to admins (with additional confirmations and a safety delay), removing the need for console work or contacting staff read more.
Related: this continues the long-running “permanent delete” feature evolution under new-feature / permanently-deleteread more.
Data Explorer got more charting options, and hosted customers asked when it would land; staff clarified it should appear on the next deploy and even confirmed a deployment in-thread read more.
Related (Data Explorer maintenance): handling deprecated columns via ignored_columns was discussed separately read more.
A new webinar was announced: “Community Retention: How to Define and Drive Return Behavior” (May 14). The outline frames retention as returning at the right time for the right reasons, not just maximizing activity read more.
#Theme-component
Lilly shipped Discourse Mobile Auth Button (loginsignup): a theme component that replaces the mobile Log In button with a combined Sign Up / Log In entry point, and then iterated with a modal UX improvement for smoother onboarding read more.
Handy docs referenced in the release: install guide read more and the themes beginner guide read more.
pfaffman posted Show hidden categories, a theme component that adds a “fake” category entry that links to a group page so users can request access—plus a candid comparison to existing solutions like Category Previews read more.
Related: Category Previews came up as the likely default choice for most sites read more.
A confusing Onebox behavior: Google Photos album links can render like a single image with no hint it’s an album link. The thread includes redirect/OG tag sleuthing and a call for contributions under pr-welcomeread more.
Related: older context suggests behavior changed over time read more.
Sites that have reactions disabled (i.e., Likes-only) are asking to restore a single Like button UI because the current layout can look like two hearts competing and confuse newcomers read more.
Extra context: users specifically want the prior “nest under Like” experience while keeping the newer popup behavior read more.
A nuanced SEO question for multilingual communities: translated pages served via Content Localization’s crawler parameter (?tl=) appear to canonicalize to the base language, raising concerns that Google may treat translations as duplicates and ignore hreflang. Staff agreed: each language variant should be self-canonical and said they’ll investigate read more.
Tag context: seo and content-localizationread more.
A nasty editor/data growth issue: underscores in image alt text may get double-escaped on each edit, exponentially inflating raw post size until the post becomes effectively uneditable. Staff suspected a regression and started investigating read more.
AI translation quality control: a Portuguese report showed auto-translation sometimes breaks markdown tables (missing |), and a fix involved retriggering translation + pointing reporters to the “inaccurate translation” flag option and the meta gardening hub read more.
Related: the collaborative content gardening hub was suggested as a reporting channel read more.
A sharp edge in composer reachability warnings: uppercase letters in usernames can break the “mention is not reachable” checks in restricted categories, because the backend lookup returns lowercased keys. A concrete code pointer + downcasing fix suggestion was provided read more.
Related symptom surfaced while debugging Private Topics behavior read more.
On iOS PWA, the Assign UI reportedly does not allow typing into the assignee search field (users can only pick from a partial dropdown), making assignment painful for larger sites read more.
An AI translation investigation concluded what looked like one issue was actually three overlapping problems (locale detection, translation pipeline failures, and category targeting quirks). Staff clarified how to override locale via composer controls to ensure correct translation behavior read more.
API usability feedback from a “headless Discourse” implementer: requests for more consistent pagination, cleaner separation between topic metadata and post streams, and generally better field-level documentation for modern frontend architectures read more.
Draft deletion via API key auth: a developer hit not_found deleting drafts via the API despite it working in-browser; staff suggested a workaround and noted an inconsistency, linking to a fix in progress around falling back to Api-Username when ?username= is missing read more.
lindsey shipped a safety-and-admin-usability upgrade to permanent deletion controls, making can permanently delete visible in-admin with extra confirmations and safeguards read more.
nat agreed that Content Localization language variants should be self-canonical (SEO/hreflang correctness) and committed to taking a look read more.
nat also confirmed a hosted deployment for the new Data Explorer charting changes (“Your site has been deployed!”) read more.
Danielle announced the upcoming retention webinar and outlined practical retention frameworks and engagement levers read more.
Danielle also introduced the purpose of the new Enterprise category, framing it as a home for community building in large organizations read more.
pmusaraj encouraged contributions on improving Google Photos Onebox behavior by tagging the thread with pr-welcomeread more.
pmusaraj helped clarify AI translation behavior and highlighted how to override locale correctly via composer controls read more.
zogstrip acknowledged the underscore double-escaping report as likely a regression and began investigating read more.
zogstrip also identified an API consistency gap in draft deletion and referenced a fix to align username handling read more.
Falco pointed AMA planners at Discourse’s newer nested-replies mode as a cleaner fit for Q&A-style conversations, and recommended contacting support if they want it enabled read more.
Falco expanded emoji alias translation work by pointing to an upstream PR in the emoji repo read more.
kris.kotlarek merged a fix related to “clearing advice” not actually clearing, crediting the contributing PR read more.
mcwumbly answered when new Data Explorer chart features would appear on hosted instances (“next time your site is deployed”) read more.
markvanlan added guidance on where nested replies make sense (very large, fast-moving communities) and emphasized it won’t be recommended for most sites read more.
That’s a wrap: may your canonicals be self-referencing, your mention checks be properly downcased, and your mobile login buttons be delightfully obvious.
lindsey shipped the April roundup in Current Projects, covering recent wins like full-app embedding (read more)—with pointers to improvements like embedding as a comment system (read more), simplified solved setup (read more), and easier topic-voting category creation (read more).
nicolsdennis previewed Domniq, a Discourse-native Android + iOS client with account integration, notification controls, and moderation actions (read more); follow-up discussion also referenced UI inspirations like Chat bubbles (read more) and the Horizon theme (read more).
nicolsdennis also shared a companion “premium landing page” plugin for unauthenticated users—hero variants, stats blocks, trending topics, contributor highlights, and more (read more).
A community member floated “MNN / Meta Monthly News”, proposing a member-written newsletter and asking Meta if there’s appetite for it (read more).
#Site feedback
After multiple “I made a thing” posts landed, mcwumbly suggested a lightweight convention: keep them in General and tag them show-and-tell—at least until a clearer pattern emerges (read more).
#Feature
ganncamp asked for an “Obnoxious” notification level for incident threads—something more forceful than Watching, ideally enabling desktop notifications per-topic rather than site-wide (read more).
Canapin requested a way to make “view posts by @user” filtered topic views shareable/linkable, so useful author-only views can be passed around without hand-editing URLs (read more).
Backup performance returned to the spotlight: a proposal to migrate from gzip to zstd argued for significantly faster compression and smaller archives, with follow-up notes about docker image tooling requirements (read more); related compression/backup threads also saw renewed attention (read more).
A thorny seo + localization issue: translated pages weren’t ranking due to canonical URL behavior, and nat reported a fix shipping in the newest build while the thread stays under watch for regressions (read more).
A composer regression report claimed default_composition_mode was being ignored (markdown sites defaulting users into rich text), and sam walked through repro checks, safe-mode testing, and likely plugin culprits (read more).
Moderation workflow pain point: automation-driven flags generate bland “reviewable item #123” notifications; the request is to include more context like topic titles—similar to standard user flag notifications (read more).
A support mailbox question explored whether archiving could be per-volunteer (hide items “not mine” without archiving them for the entire group), to prevent important requests from being missed in high-volume group inboxes (read more).
Mention validation: uppercase letters in usernames were reported to break reachable-mention checks in the composer, and zogstrip outlined a safer incremental approach rather than merging a large sweeping fix at once (read more).
#Translations
In German, Moin asked why main-branch translations appeared delayed; gerhard explained the merge slowdown (people away + a temporary breakage) and confirmed things should return to normal after merging the missing updates (read more).
#Theme
A major theme compatibility warning: FKB Pro reportedly crashes on Discourse 2026.4.0-latest due to references to a removed Ember compatibility shim (ember-this-fallback/js-component)—a reminder that older theme code may need explicit this. migration (read more).
lindsey published the April status newsletter (read more) and followed up on translation readiness for blog styling components in the March thread (read more).
zogstrip weighed in on the composer mention bug involving uppercase usernames (read more), posted progress on meta tag cleanup work (read more), and flagged a tricky markdown corruption edge case around underscore escaping in image alt text (read more).
chapoi confirmed the team is reverting to a single like button for sites without Reactions, telling folks they can “stop adding +1s” because it’s actively being handled (read more).
davidb merged the change to restore one like button behavior (and move the count back to the right) on reactions-disabled sites (read more), replied to follow-up observations in the “display all likes/reactions” thread (read more), and posted an update that work is ongoing for the mainEntity.suggestedAnswer structured-data issue (read more).
gerhard responded to concerns about delayed translations, summarizing what went wrong and confirming missing i18n updates were merged (read more).
mcwumbly set expectations on where to post “I made a thing” content (use show-and-tell in General) (read more) and offered ideas for safer posting workflows in the “future self / trusted friends” approval discussion (read more).
nat reported a shipped fix for translated-page canonical behavior impacting Google indexing, advising affected sites to update and continuing to monitor the report thread (read more).
sam investigated reports that default_composition_mode was being ignored, recommended safe mode (no downtime), and helped narrow the issue down toward plugin interactions (read more).
j.jaffeux noted the team plans a better upcoming solution than the “User Field Prompt” theme component, and deprioritized further work on the component itself (read more).
If yesterday taught us anything, it’s that Meta can ship shiny new show-and-tell demos and still find time to un-break canonicals and un-double the like button—efficient chaos at its finest.
Default email subject lines are getting simpler/less technical, removing redundancy like [%{email_prefix}] for “sent from the community” messages, in Simpler email subject lines (email). The discussion also surfaced cases where people still rely on subject “context,” like category indicators and subcategory display needs (see Subcategory display options in email templates).
A thoughtful request: should contributors be notified when a topic disappears (deleted, made private, or otherwise removed), so they don’t lose track of time invested? That idea—and the context of a category accidentally being public—came up in Random thought (read more).
A provocative “show-and-tell” raised eyebrows: using AI bots to repopulate a mostly-dead forum, plus discussion about disclosure and what “community” means when content isn’t organic, in I populated my (mostly-dead) Discourse forum with bots! (show-and-tell). The replies dug into transparency expectations and the “Dead Internet” concern (read more).
A community-driven “newsletter about Meta” concept continued to be debated—especially around incentives and avoiding popularity contests—in MNN Meta Monthly News (read more).
Discourse AI translations behavior under model churn: if you change the LLM provider/model, do translations restart? The answer: old translations are kept, and the new model only fills gaps, in What happens to translations when LLM changes? (ai) (read more).
A practical monetization question: selling access to instructional videos inside a Discourse community. The thread quickly turned to architecture tradeoffs (hosting vs. embedding, storage headaches, and “members-only” options) in Videos and Monetizing my Discourse community (read more).
Admin workflow papercut: changing a member’s email can produce an “Access Denied” when clicking the verification link while still logged in as admin—leading to talk about impersonation and “admin should be able to change anything” expectations in Admin changing email address of a member is still quirky!. A related “fast path” workaround was referenced via console tooling: Change staff email address from console (read more).
A plugin regression report: a Discourse update seemingly disabled category settings for a plugin’s buttons, in Trading Buttons (read more).
A theme perception issue: someone questioned whether a default pattern element resembles a swastika, and the thread touched on “what users notice first” vs. intent in Graceful Theme (read more).
lindsey published a product-facing walkthrough of the new defaults (and rationale) for tidier notifications in Simpler email subject lines, aiming to make Discourse emails feel less “technical” in members’ inboxes.
That’s a wrap—may your email subjects be simpler, your emoji searches multilingual, and your “show-and-tell” ideas just organic enough to avoid summoning the Dead Internet discourse again.
Coverage anchors (sample of the active window): bots-in-Discourse experimentation (read more), AI triage troubleshooting (read more), and self-hosting install/debugging on HestiaCP (read more).
Top users (posts / likes in this window, with a recent reference):
“I populated my (mostly-dead) Discourse forum with bots!” (show-and-tell) — kirupa shared how clearly-labeled bot accounts can provide instant, high-quality technical replies and curated content sources, plus ideas like “resurrect old posts” with modern commentary (read more; read more). chapoi noted it’s “not exactly community,” but a genuinely interesting way to keep up with interests (read more), while Ed_S suggested a periodic “blast from the past” approach and flagged the risk of hallucinations (read more).
Support bot strategy: Discourse AI vs Chatbot (plus vision experiments) (aiai-bot) — In a long-running thread, 37Rb described experiments using vision capabilities to interpret photos (e.g., alarm panels) and provide wiring advice—promising in tests, but not yet something customers used in practice (read more).
#Feature
“Post approval by ‘future self’ or ‘trusted friends’?” for episodic unwellness — Ginger_Marcus shared a real-world moderation tactic: shrinking the edit window dramatically (e.g., ~60 seconds) to reduce impulsive posting and keep replies anchored to what people actually read at the time (read more), followed by discussion about balancing accountability with compassion for genuine health challenges (read more; read more).
#Site-feedback
Rebuilding the Meta branded theme: icons, custom homepage, and the Blocks API (meta-redesign-2026) — The redesign work continued to spark “site transformation” excitement, with nathank calling out how the tooling could help smaller orgs simplify their overall website stack around Discourse (read more).
Easy way to roll back a wiki page? (Solved) — A quick support exchange clarified that the revert control exists in edit history for admins/mods (read more), but category moderators don’t get “Revert Edit Revisions,” as ondrej pointed out with a permissions reference (read more; read more). The question also ties back into best practices around wiki usage (read more).
AI triage examples not sent properly? (Examples being interpreted as the content to moderate) (automationai) — A practical gotcha: examples were being treated like prior turns, causing every post to be flagged because the example itself contained bank details (read more; read more). Falco recommended leaning into tool calls (e.g., the flag tool) and emphasized that examples must mimic the expected model behavior—including tool-call shaped responses when tools are expected (read more).
“They are sent as previous turns… they need to mimick the exact expected LLM response.” (read more)
What happens to translations when the LLM changes? (Tokens consumed, but 0 translation progress) (ai) — A troubleshooting report described heavy daily token usage with no apparent translation progress; Falco suggested enabling verbose logs and inspecting the AI API audit log table for the latest entries (read more; read more). This also connects back to core Discourse AI capabilities and configuration expectations (read more).
Videos and monetizing a Discourse community — The thread explored monetization complexity, especially when content creators must be paid (raising legal and operational questions beyond just implementation) (read more).
Discourse logs sent to wrong S3 — A debugging angle suggested looking outside Discourse for old sync jobs (cron / rclone / aws s3 sync) that may still be pushing files to a legacy bucket even after configuration changes (read more).
#Self-hosting
Installing on HestiaCP: domain/port issues + a puzzling GitHub/DNS failure — A self-hosting install attempt hit multiple layers (ports 80/443 contention, proxy templates, and outbound fetch failures). The follow-up revealed the “GitHub issue” was resolved by switching away from Cloudflare/Google DNS to internal DNS in that environment (read more; read more).
Can /var/discourse and /var/lib/docker live on different volumes? (server-resources) — The consensus: Discourse doesn’t care where Docker stores its data, and mounts can go where they make operational sense; the remaining open question focused on whether a split-volume setup would create noticeable performance impact in practice (read more; read more).
Accessing the Discourse DB with DBeaver (safely) — A hands-on guide proposed exposing Postgres via a custom mapped port and restricting access to a private network (e.g., Tailscale), plus adjusting Postgres auth to allow password logins instead of default peer-only behavior (read more).
Connecting Discourse with two OIDC providers (openid-connect) — A reply argued you may not need “two OIDC providers” at all—suggesting one OIDC plus Microsoft Auth, and noting the relevant localization namespaces differ between OIDC and Microsoft login UI (read more). The post linked related references for Microsoft Auth (read more), OIDC button text customization (read more), and Microsoft 365 OAuth2 text issues (read more).
#Extras
Discourse Shortlink Router: “teleport” support URLs into the right admin path — A new utility replaces your forum base URL with a router domain, preserving the path so helpers can share “go here in admin” links faster (without repeatedly describing navigation steps) (read more).
#Plugin
Locations Plugin early-access invites for sponsors (paid-support) — merefield announced early access invites rolling out to current sponsors first, with daily sponsor-list review and a planned cadence for migrating select features to the public repo later (read more).
#Theme
FKB Pro theme: update to v2026.4.0-latest triggers missing Ember module error — A report flagged a production-breaking client error referencing a missing ember-this-fallback/this-fallback-helper module after upgrading, with a request for a fix (read more).
chapoi weighed in on “community by bots” — Reacted positively to the execution/styling and framed bot-populated Discourse as an interesting “stay up to date on your interests” pattern, even if it’s not traditional community interaction (read more).
Falco debugged AI triage behavior and improved prompting strategy — Recommended using the Triage with AI Agent automation type and calling the flag tool rather than returning raw strings (read more), then clarified why “examples” can backfire if they don’t mimic the exact expected output format—especially when tool calls are involved (read more). Separately, Falco advised turning on verbose logging and checking audit logs to diagnose runaway translation token usage (read more).
Yesterday, Meta managed to be both a bot-filled sci‑fi forum and a URL-teleportation lab—with a quick pit stop to teach AI agents how to behave along the way.
Notable: mcwumbly’s clarifications helped land a solution on Discourse ID username changes (read more) and kicked off UX triage on author-change visibility (read more).
Interesting Topics
#Feature
Ethsim2 proposed decoupling passwordless “magic link” email login/signup from enabling local password auth—aiming for local accounts + email verification + no password as a first-class configuration (read more). Follow-up discussion touched on making the UI clearer (and possibly hiding password fields) when admins want the passwordless flow (read more).
Discourse ID users can now change their username/name directly in user settings, even if the account was created via ID—confirmed by mcwumbly in the accepted solution (read more). This resolves long-standing friction around identity-linked profiles (read more).
Ethsim2 asked whether allowed email domains is enforced against the OIDC-returned email during account creation, seeking confirmation of how domain restrictions apply in openid-connect setups (read more). (This pairs closely with ongoing login policy tuning in the passwordless thread above: read more).
A Discourse AI translation debugging thread surfaced repeated rate-limit failures and suspicion of a “stuck” translation loop, with verbose logs showing token/day exhaustion on a specific model (read more). The report includes the exact error payload and timing, useful for diagnosing retry behavior (read more).
#Self-Hosting
An IPBv4 migration report described partial avatar imports, user collision issues (existing admin blocking post migration), and multiple content-rewrite/reaction conversion gaps—highlighting the tricky edge cases in real-world imports (read more). The post also notes link rewriting and missing <a href>-wrapped text as high-priority cleanup items (read more).
A Cloudflare best-practices discussion got a fresh field report: blank login page on first load plus broken embedded PDFs, persisting even when Cloudflare is paused (suggesting something more subtle than cache toggles) (read more). The author also shared what they already tried (free Cloudflare + cache rules bypass attempts), helping narrow troubleshooting paths (read more).
A self-hoster revisited the long-running “SSO bridge alongside discourse_docker” topic, asking whether a 5-year-stale OIDC bridge repo is still viable—because they want Discourse as an identity provider for apps like Nextcloud and Mailcow (read more). This continues to be a common architecture question for communities consolidating auth systems (read more).
A subtle trust/visibility gap: Edit history visible to public appears not to cover changing the author/owner of a topic/first post, which matters for admins who “ghostwrite” by posting on behalf of users then reassigning ownership (read more). mcwumbly flagged it as likely bug or missing feature and moved it into UX contribution space to discuss expected behavior (read more).
A mobile title-wrapping report (long titles overflowing) may already be fixed by updates, with mcwumbly noting they couldn’t reproduce on multiple themes and suggesting affected sites update (read more). The reporter later confirmed Meta had been updated on their end (read more).
A UI consistency nit: the “delete/discard” icon differs between the composer and edit flow, with a pointer that it may relate to a recent change discussed in “Do you want to discard your post?” (read more; and related: read more). The original report includes side-by-side screenshots to illustrate the mismatch (read more).
#Site feedback
The refreshed Meta Branded theme homepage continues to draw “how do I install this?” questions—answered plainly: the Meta theme isn’t packaged for reuse right now, and updates should be done via your own theme config panel instead (read more). The thread also reiterates staff intent that the theme is Meta-specific and evolving, not currently intended for redistribution (read more).
#Extras
A new “Discourse Shortlink Router” sparked a privacy and transparency mini-debate: Jagster pressed on whether the service operator can see destination/site info (read more), and darkpixlz responded with implementation details, logging examples, and what isn’t stored server-side (read more). The exchange underscores how support tooling often needs clear privacy posture to earn trust (read more).
The ICS → Discourse importer thread added a useful nuance: --time-only-dedupe isn’t purely time-based because it still checks location “closeness,” which can be beneficial—room changes surface as new topics while location noise doesn’t spam Latest (read more). The post frames it as a practical “signal vs noise filter” for calendar-driven publishing (read more).
#Plugin
The Community Network Visualisation plugin got “some love,” including a snazzy 3D view option shown via screenshots—an eye-catching upgrade for communities wanting richer relationship mapping (read more). This is a notable iteration on an older plugin thread that’s still evolving with fresh improvements (read more).
#Community Building
A practical community strategy question: how to reconfigure an existing community for a new product launch when moving from one product to a two-product company (read more). mcwumbly prompted for context about product portfolio structure (read more), and noahl suggested working through an “audience venn diagram” to assess overlap and segmentation (read more).
mcwumbly confirmed a recent platform change enabling Discourse ID users to self-serve username/name changes, marking the solution on the support thread (read more).
mcwumbly assessed author-change visibility as likely a bug or missing UX coverage, and moved the discussion into UX contribution for deeper review (read more).
mcwumbly tested and reported inability to reproduce the mobile long-title overflow issue across several themes, suggesting affected sites update if they still see it (read more).
mcwumbly asked clarifying questions about restructuring a community for a second product—probing whether the org is transitioning from single- to multi-product and what that implies for information architecture (read more).
If yesterday’s Meta was any indication, today’s motto is: keep your magic links passwordless, your edit history honest, and your community graphs gloriously 3D (read more, read more, read more).
ice.d asked whether Discourse’s “13+” requirement is the platform’s rule or per-site choice; replies clarified that CDCK-hosted sites must follow hosting terms, while self-hosted instances take on their own compliance burden (with ToS language quoted directly) — read more. Related context was pulled from Meta’s ToS text and hosting guidance in-thread (see: read more, plus the practical hosting distinction in read more).
A report of a strange UI “blue nameless button” on the Kali forums was narrowed down to site-specific customizations, because it disappeared in safe mode; the recommended next step was for the remote site admins to audit theme/components — read more. The safe-mode diagnostic path was reinforced in the follow-ups (read more, read more).
A French-language support thread dug into why “notify a group” didn’t appear to notify members for events; participants suspected UX limitations and/or differences between public/private event capabilities and notification surfaces — read more. The discussion cross-referenced how Events is documented (public “notify user” behavior) and compared expected vs observed behavior (read more, and the underlying Events guide: read more).
An accessibility question flagged that custom badge images don’t appear to output meaningful alt text, raising a potential gap for compliance tools like WAVE — read more.
A self-hosting setup question asked how to run a fresh Docker install without Let’s Encrypt, since TLS termination is handled by an external nginx — read more.
A Data Explorer layout regression (or at least a rough edge) was reported: query results appear constrained to a fixed-height scroll container, even when there’s ample page space; a CSS workaround was offered while awaiting a core/plugin-level fix decision — read more. The thread also points at the relevant stylesheet lines in the plugin for deeper debugging (read more).
Incoming email into a private category reportedly started failing with Email::Receiver::InsufficientTrustLevelError, especially when the sender doesn’t have category access (despite “allow email from anonymous users with no account” being enabled); the report notes this “used to work” and now breaks established workflows — read more.
After updating to 2026.4.0-latest, an instance began logging ArgumentError (Document tree depth limit exceeded) inside Middleware::CrawlerHooks#transform_response; investigation quickly focused on which URL triggers the crawler hook failure — read more. The repro detail suggests a Googlebot fetch of an uploaded .zip short URL may be involved (read more).
#Feature
A feature request asked for a better way to share Data Explorer queries without forcing admins through the “Groups → Reports” maze; proposals included a “copy share URL” button or making the admin URL degrade gracefully to view-only for unauthorized users — read more. The thread also highlighted complexity: a single query can be shared to multiple groups, so any share UI likely needs group-aware URL generation (read more).
Mobile UX feedback noted that long tag lists get cut off at the screen edge without ellipses, possibly related to earlier tag/info layout changes; the report links suspicion to an earlier “topic info too long” discussion — read more, with prior context here: read more.
manuel published a repo of “skills” for AI-assisted authoring of Discourse themes and Blocks components, including scaffolding patterns, SCSS architecture guidance, and a working example theme built on Blocks — read more. This ties directly into the ongoing Meta theme rebuild conversations (read more) and homepage iteration threads (read more).
#Theme
A new lightweight editorial theme, Verso, was released with light/dark schemes and minimal, CSS-focused customization, positioned as an easy-to-try aesthetic option — read more.
A cookie compliance question asked for an inventory of cookies set by the WP Discourse plugin; the answer: the plugin doesn’t set its own cookies, but uses standard WordPress auth cookies via wp_set_auth_cookie as part of DiscourseConnect — read more.
#Plugin
Discussion on Discourse Dynamic Groups uncovered a UX gotcha: when a group is flagged “automatic,” Discourse core may remove the Membership tab entirely (not just hide fields), and automatic groups may also be invisible to non-staff; the conversation suggests revisiting side effects during upcoming plugin maintenance — read more, read more.
The “Domniq” native Android+iOS app preview thread posted more screenshots and described “Post Memory” (recovering previously attached media/links) and tested behavior against discourse.group hosting for demo purposes — read more. The same author also referenced the broader “turn Discourse into an app” discussion when asked elsewhere (read more).
manuel shipped and promoted a new “skills” resource for theme and Blocks authoring, publishing the canonical topic for the repo and positioning it as a practical companion to the Meta redesign work — read more. He also pointed redesign followers to that resource from the ongoing homepage/theme threads (read more, read more).
pmusaraj announced the Verso Theme, providing repo links, install docs, and screenshots, adding another polished option to the theme ecosystem — read more.
Falco clarified the age/hosting distinction succinctly: self-hosters can choose (and own the compliance consequences), but .discourse.group sites are bound to CDCK hosting terms — read more. He also began triaging a new middleware error by asking for the exact page that triggers the crawler depth exception (read more), and followed up on embedded comments/mobile scroll behavior by attempting to reproduce the report (read more).
awesomerobot added important context to the age-verification debate: hosted services must follow applicable regulations where they operate, and policy change pressure is more effective when directed at legislators rather than the hosting provider — read more.
supermathie directly quoted the relevant hosting clause (“Special Data Regulations” including COPPA), reinforcing that customers can’t override that on CDCK-hosted plans — read more.
chapoi closed a support thread that turned out to be unrelated to core Discourse (a site-specific Kali forums theme/customization issue), directing the reporter back to that site’s admins — read more.
Yesterday’s vibe: keep your communities compliant, your Blocks composable, and your Data Explorer tables taller than five rows.
New topic-voting badges are live — lindsey announced four new “votes received” badges (Daydreamer/Brainstormer/Innovator/Visionary) and enabled them on Meta right away (details; enabled). This builds on earlier Topic Voting improvements (read more) and also ties into long-running “vote notifications” discussions (read more).
April 2026 monthly release is out — david published the pointer to the 2026.4 release and changelog (read more).
Upcoming change: new default requirements for Trust Level 3 — a new toggle will reduce caps for “topics viewed” and “posts read”, while increasing tl3_promotion_min_duration, to make TL3 more achievable on high-volume sites (read more).
Data Explorer queries were capped at 5 rows (now fixed) — nat confirmed the issue and followed up that it’s been corrected and deployed to the reporter’s site (ack; fixed).
Automation “planned thread” image uploads failing — a report shows uploads failing only when creating a scheduled topic via the automation flow (report). Lilly suggested using Topic Timers instead (reply), pointing to scheduling guidance (read more); the reporter also noted an interaction with “featured topic” workflows (read more).
Category badge font color changes after scrolling (post-2026.4 update) — after upgrading, a site saw category badge text flip colors mid-topic (report). chapoi advised safe-mode and inspector checks (triage); Lilly provided a quick CSS fix (solution), and chapoi confirmed the issue is being investigated (follow-up).
Middleware “document tree depth exceeded” got targeted fixes — Falco shared “couple of fixes” via two PRs and cc’d nat for visibility (read more).
“Request edit” workflow for low-quality/AI-generated topics — a hosted customer asked for a way to send topics back to authors for revision (read more). fzngagan outlined a practical moderation approach using “Something else” + “Hide Post” (with limitations) (read more), while putty suggested custom flags (read more) and Lilly provided CSS to restrict a custom flag to staff-only visibility (read more). Related: category-level approvals are getting more flexible (read more), and the “AI for Enterprise” replay includes examples of moderation automation (read more).
Where did allow_user_api_key go? (User API keys setup confusion) — a Chinese-language support topic ended with the key pointer: the canonical User API keys spec is here (solution; topic), referencing the specification itself (read more) and (earlier in the thread) the concept of hidden site settings (read more).
Age requirements & compliance realities — HAWK emphasized that operators must meet jurisdictional regulatory requirements (including EU risk assessment expectations) and may need to restrict children’s access even when self-hosting (read more).
Attempting bidirectional GitHub issue sync using “Code Review” — a self-hoster reported that issue creation can generate a Discourse topic, but subsequent GitHub issue comments aren’t syncing into Discourse (read more). The setup references the Code Review plugin topic (read more) and highlights the gap between “topic mirroring” and true two-way conversation sync.
Discourse AI for Enterprise office hours replay published — Danielle shared the recording and a rundown of AI Search (semantic + conversational) and automated moderation goals (watch), building on the team’s broader webinar/office-hours approach (read more).
#Theme component
Video uploads to YouTube/Vimeo theme component: requests for group restrictions + Vimeo OAuth direction — discussion continued on limiting who can access upload functionality (read more), with Arkshine clarifying what kind of permission setting was being requested (read more) and noting Vimeo OAuth work that would upload into the user’s Vimeo space rather than a shared admin account (read more).
#Feature
Discourse Comments on Tecnoblog: iOS horizontal scroll appears for admins — Thiago_Mobilon reported persistent horizontal scrolling on mobile (read more). After testing, pmusaraj found it reproducible as admin and linked a core fix that should resolve it (analysis; fix incoming; thanks).
Theme “Blocks” authoring: what skills/docs to follow — manuel explained how the Blocks approach differs from classic PluginOutlets, pointing to the compact “SKILL.md” documentation and the example initializers/layout frames approach (read more).
lindsey shipped the announcement for new Topic Voting vote-received badges (read more) and flipped them on for Meta (read more). She also confirmed calendar/event UX improvements like an All day event checkbox in the modal (read more; also here), and noted .ics exports now include event descriptions (read more). Additionally, she wrapped up a completed calendar default-view request by closing it (read more) and cross-linked the new badges into the older “Vote Notifications” request thread (read more).
nat acknowledged and resolved the Data Explorer “5 rows only” issue, confirming the fix was deployed (ack; fixed).
david published the pointer to the April 2026 monthly release and official changelog (read more).
pmusaraj investigated the Discourse Comments horizontal-scroll report and determined it reproduces specifically for admin contexts, linking the fix PR that should address it (read more; fix reference).
Falco posted two targeted fixes for “Middleware - document tree depth exceeded” and cc’d nat (read more); he also flagged an AI troubleshooting angle (“disable thinking”) in an LLM/translation discussion (read more) and confirmed a long-requested gamification improvement (“per leaderboard scoring values”) had landed (read more).
Danielle shared the AI for Enterprise Office Hours replay and summarized key capabilities like semantic search and automated moderation (read more).
chapoi triaged the “category badge font color changes on scroll” regression with safe-mode + inspector guidance (read more) and confirmed the team will investigate the origin (read more).
HAWK clarified the compliance burden around age restrictions and cross-jurisdiction requirements (notably EU considerations) (read more).
fzngagan explained moderation options for “requesting edits” via flags (including “Hide Post” behavior and limitations) in the staff workflow discussion (read more).
manuel provided guidance on Blocks authoring docs, emphasizing initializer-based layout frames as the key mental model shift for theme development (read more).
Yesterday’s vibe: more badges, fewer scrollbars, and at least one mysterious “team cat” patching CI—may your next feature request earn Visionary status before the day is over.
HAWK clarified that Discourse communities may fall under the UK Online Safety Act (and referenced EU DSA obligations), while the thread debated what “social media” means, whether forums require age checks, and privacy concerns around ID verification services in Age requirement for Discourse (plus discussion continuing through privacy/TOS approaches and third‑party verification risk tradeoffs read more).
A restore attempt failed due to a plugin-created table already existing (PG::DuplicateTable), prompting discussion of “restore without migrating” and dropping conflicting objects; the incident was triggered by a theme break after upgrading in Discourse restore fails with relation already exists error, with follow-up advice in pfaffman’s response.
Two closely-related invite UX reports landed: invites can be initiated from someone else’s profile (but still send from the clicker), and the “Invite” tab can appear even on a hidden profile. This was raised in Weird invite button behavior and echoed in Invite tab shows on hidden profile, with agreement that it’s confusing in practice read more.
#Community_Building
A lightweight “Discourse as an LMS” pattern was shared: course=category, lesson=topic, plus Doc Categories, a small plugin, and a theme component to compensate for notification decay and track progress; discussion included why the UI layer was separated from the plugin in Discourse as an LMS / Discourse integration with an LMS.
A clarification thread confirmed how “upcoming change” default overrides behave for trust level 3 requirements—manual admin changes are preserved, and Reset will show the new defaults once shipped. The confirmation is in Default changes for trust level 3 requirements:
“Yes that’s correct… If you disable the upcoming change, then the old defaults will reappear.” read more
Email notification ergonomics continued to evolve: participants debated whether removing markers like [PM] makes it harder to distinguish private vs public replies in inboxes in Simpler email subject lines (email).
A onebox edge case: MediaWiki “image HTML pages” can break oneboxing depending on URL patterns (e.g., ?file= variants), and a suggestion was raised to inspect Content-Type: text/html before treating something as an image in Links to Mediawiki image pages (HTML) break in oneboxes (onebox).
YJIT enablement via template was reported as confusing: the env var appears set, but YJIT didn’t show as enabled until adding an additional env; discussion questioned whether the verification method was checking the right process in Enabling YJIT via Template Doesn’t Work.
A chat/ping anomaly was reported: users saw repeated pings that all pointed to the same message, despite only one mention being made, in Bug Regarding Pings (chat).
#Theme
A theme compatibility incident: Ember updates triggered an error about a missing module (ember-this-fallback/this-fallback-helper) in the FKB Pro theme, with a working repo and PR shared as a path forward in FKB Pro - Social theme.
#Self-hosting
Restore failures due to collisions continued in a separate report (type "ai_moderation_setting_type" already exists plus renice permission issues), with guidance to ensure a clean target DB and parallels to earlier fixes in Backup Restoration Issue and follow-up suggestions read more.
The Contact Form plugin was updated to work on recent Discourse versions, with the maintainer noting it had been failing previously in Contact Form.
“Workspace groups” progress: a Mattermost migration plugin was built and tested at scale (reported import of 2M messages into a sandbox), with minor glitches fixed and testers satisfied in Workspace groups (groupschat).
“Discourse to Markdown” integration discussion continued around MCP-style retrieval: try text/markdown first, fall back to JSON raw—shared as a practical approach in Discourse to Markdown Plugin (markdownai).
A new “Discover” roundup highlighted niche communities (unicycling, miniature houses, flight sim) and the expertise-driven culture Discourse supports in Discourse Discover: Hobbyist Edition.
HAWK focused on compliance framing and scope: clarified that Discourse (as a U2U platform) is “squarely in scope” for the UK OSA for sites with UK users, and pointed to DSA expectations like transparency reporting in Age requirement for Discourse.
awesomerobot expanded the privacy/security angle of age verification—highlighting how third-party ID storage increases risk, while “zero knowledge proof” approaches can reduce retained personal data in Age requirement for Discourse.
david posted a key implementation update: OIDC group sync is now available, pointing admins to configuration details and the relevant changelog context in Managing group membership via authentication.
Falco challenged the YJIT report’s diagnostic method (arguing the env check should target the running server process), and suggested inspecting the webserver process environment instead in Enabling YJIT via Template Doesn’t Work.
Yesterday’s vibe: between invite buttons showing up where they shouldn’t and age verification debates getting serious fast, it was a “check your profile tabs—and your risk assessments—twice” kind of day.
mcmcclur challenged Discourse’s topic-list infinite scroll as potentially enabling addictive use, while chapoi argued the real harms come from algorithmic engagement mechanics rather than “scroll” itself (read more). Related: the practical “footer is unreachable” admin problem in Support (read more).
A large migration hit an ergonomics snag: infinite scrolling makes the homepage footer inaccessible; chapoi confirmed pagination isn’t on the roadmap and suggested a custom landing page, while others discussed alternatives like category-based homepages and the limits of footers on /latest (read more). For theme-based footer approaches, see the Easy Responsive Footer component (read more) and the “old-forum UI” experiment Dumbcourse (read more).
A puzzling [Admin Notice] “code needs updating (id: discourse.user.userOptions)” appeared alongside strange category-notification behavior; Moin recommended isolating which customization triggers the warning (console/errors, plugins/components list), while the OP dug into app.yml and plugin references (read more). Related context: plugin bundling guidance mentioned by Lilly (read more).
Admins trying to customize the unsupported browser banner discovered an edge case: if the string lives under js.*, old browsers that don’t run JS won’t load customized strings—so the default message persists (read more). Customizing site text generally is covered here (read more).
The “Enabling YJIT via template doesn’t work” thread concluded with a clean root-cause: sudo -u discourse was scrubbing environment variables, and using sudo -E preserved RUBY_YJIT_ENABLE so YJIT correctly reported as enabled (read more).
A Chinese-language support question asked why permanent deletion reports “0 posts need to be permanently deleted before the topic itself can be permanently deleted”—highlighting the sometimes confusing multi-step nature of permanent deletion workflows (read more). Related: documentation clarity feedback on the “enable permanent delete” safeguards (read more).
Chat pings issue: a reported ping problem got quick staff confirmation and a fix shipped via a core PR (read more).
Plugin/theme authors hit failures after toolchain changes: ember-this-fallback deprecation modules were missing and injected references made debugging harder; david confirmed hbs should still work and merged a fix (with backport planned) (read more). One concrete example surfaced in a theme thread: FKB Pro Social Theme error reference (read more).
The new AI docked composer was reported as blocking edits, behaving oddly with quoting, and becoming scroll-locky on mobile; sam noted work in progress and pointed to an imminent update from keegan (read more).
Moderation edge case: a flagged first post was hard to restore after the author was pushed to trust level 0—restoration failed until the user was restored to a level allowed to create topics, prompting a request for better admin feedback (read more).
AI Helper “proofread” behavior: users flagged that “proofread” must not alter quoted text; staff pointed to a fix already landed, with guidance to try a better model if issues persist (read more).
#Site-Management
A new how-to shows how to auto-categorize topics using AI triage by combining the Discourse AI plugin with Discourse Automation, including agent/system-prompt suggestions and setup prerequisites (read more). Background links: Discourse AI overview (read more), Automation plugin (read more), LLM settings guide (read more), and AI personas/agents (read more).
Form templates UX: a request asked whether copy/paste can be enabled inside form-template text inputs, to match the normal composer experience; staff asked for clarification on the exact limitation and desired behavior (read more).
“Read only mode” UI confusion: a user reported the Backups UI no longer shows the disable option, while staff said the enable/disable buttons appear normally and asked for a screenshot to diagnose (read more).
#Announcements
Discourse’s embedded comments capability prompted questions about whether it competes with Disqus; Falco confirmed it’s intended for that space (including use on the free plan) and highlighted private-community + public-blog use cases (read more).
Calendar subscription UX: real-world usage showed people copy the first subscription URL (often “Bookmarks”) and then complain events don’t appear, prompting a request to reorder options; a workaround was implemented in a related theme component snippet (read more, read more).
chapoi focused on “infinite scroll” concerns—separating mechanism vs. harm and emphasizing Discourse’s non-algorithmic, chronological lists (read more); and also gave a clear roadmap answer (“no”) plus workaround suggestions for the footer/pagination request (read more). chapoi also contributed to the age/identity discussion with nuance around anonymity, accountability, and real-world safety risks for minors (read more).
Falco delivered multiple “here’s the fix” moments: confirming a ping bug was fixed in core (read more), resolving a YJIT environment-variable misconception with Ruby-level documentation pointers (read more), clarifying why customized js.* strings don’t apply in truly old browsers where JS is disabled (read more), pointing to the “proofread breaks quotes” fix (read more), and answering questions about embedded comments competing with Disqus (read more).
david investigated and shipped a fix for the ember-this-fallback deprecation handler crash, confirming expected compatibility and linking to the merged PR/backport plan (read more, read more).
lindsey acknowledged the ping issue report and confirmed it was reproducible for staff, teeing up the subsequent fix (read more).
HAWK added perspective to the age/verification debate, arguing that communities avoiding identity checks may become increasingly bot-prone—and explicitly endorsed chapoi’s framing of the underlying safety problem (read more).
awesomerobot pressed for sources in the infinite-scroll addictiveness discussion, prompting research links and tightening the thread’s evidentiary basis (read more).
sam acknowledged the AI docked composer bug report and noted active work underway, with an upcoming update from keegan (read more).
Yesterday’s meta was a perfect blend of doomscroll discourse and YJIT detective work—may your footers stay visible and your env vars never get scrubbed.
A lot of the energy today clustered around UX controls (scrolling, font sizing, drafts), theme/component maintenance, and admin/self-host tuning—see, for example, the discussions on “infinite scroll” semantics and a workaround theme component (read more), composer image resizing knobs (read more), and the Foundation theme modernization feedback thread (read more).
Threads that drove conversation (sampling)
Infinite scroll, regulation semantics, and a “load more” workaround component (read more)
Hidden/console-only composer image resizing settings (and what they actually do) (read more)
New theme component: Load More Button (plus early UX feedback/bug reports) (read more)
AI docked composer fixes rolling in via PRs (read more)
Foundation modernization: WCAG palette/button affordance concerns (read more)
Cloudflare + reverse proxy: getting real visitor IPs instead of Cloudflare IPs (1Panel/OpenResty) (read more)
Draft-saving expectations when the composer contains only a quote (read more)
Category badge styles: text color regression traced to foundation modernization (read more)
Site settings updated by system: ideas for admin notices and “intended enabled” state (read more)
Read-only mode troubleshooting: hosted vs self-hosted and plan constraints (read more)
Theme component maintenance: Blog Post Styling update/migration dependency questions (read more)
Community UI feedback thread continued (incl. DM vs public post distinguishability and background advice) (read more)
Theme component: Created Topic Sort question about tag-view behavior (read more)
“Understanding Discourse for new users” saw light housekeeping (a deleted post) (read more)
(Referenced resources that came up while troubleshooting today: client-side image optimization context (read more), the hidden settings reference guide (read more), theme install how-to (read more), and the themes beginner guide (read more).)
RGJ and others debated whether Discourse’s “infinite scroll” is meaningfully “infinite” (and whether laws targeting addictive feeds could accidentally capture forums), including a prototype workaround that requires manual input to load more content (read more)
A user reported that some hosted instances appear to have smaller mobile font sizes after updates, with suspicion pointing toward the modernized Foundation theme rollout as a differentiator across sites (read more)
#Self-hosting
A deep dive into composer image resizing clarified that one setting controls when resizing triggers, while another controls the target width—with the key values being changed via Rails console because they’re hidden settings (read more)
Badge-heavy communities asked how to bypass the hard limit of 6 favorite badges, surfacing UX/layout payload concerns and alternative approaches (including theme/plugin approaches) rather than raising the cap via a site setting (read more)
#Theme component
A new theme component, Load More Button, shipped as a practical alternative to auto-loading lists—immediately getting styling suggestions for mobile reachability and an early bug report about the button appearing when there’s nothing to load (read more)
The long-running Blog Post Styling component thread resurfaced with reports that updating is still blocked, with discussion pointing toward migration/compatibility branching and a dependency on core changes (read more)
The AI docked composer bug thread advanced with fixes and follow-up PRs addressing mobile issues and editing problems, plus clarification on Markdown vs RTE design tradeoffs (notably the missing preview) (read more)
The AI proofread “breaks quotes” report continued with questions about whether grounding examples are being used, since the default proofreader agent ships with examples intended to preserve quoted text (read more)
A quick CSS solution was shared to hide category descriptions in the composer’s category chooser dropdown when creating a new topic (read more)
Someone self-hosting Discourse asked about customizing the subject of summary/digest emails; the thread pointed toward editing the user_notifications.digest.subject_template site text (read more)
A request for a “member directory” for partners circled back to Discourse’s built-in directory and options like user cards, Data Explorer queries, and custom user fields depending on the desired presentation (read more)
A category badge styling issue (font color) was traced to Foundation modernization styles overriding expected colors, with a fix proposed upstream to restore correct badge text coloring (read more)
#Announcements
Ongoing feedback on Modernizing the Foundation theme highlighted accessibility/affordance concerns (e.g., low-contrast button borders under the WCAG palette) and knock-on styling effects (including category security visuals) (read more)
#Sysadmins
A detailed Chinese-language guide explained how to fix Discourse logs/admin views showing all user IPs as Cloudflare by regularly updating Cloudflare IP ranges and configuring the reverse proxy (1Panel + OpenResty + Cloudflare CDN) (read more)
Draft reliability was scrutinized: users reported that closing the composer with only a quote may not create a draft, because quotes alone aren’t treated as postable “content” (read more)
Falco did hands-on troubleshooting of hidden composer image optimization settings—clarifying the difference between the resize threshold and the resize width target, plus correcting how to query settings in Rails console (read more; read more; read more).
keegan posted status and linked PR work for the AI docked composer improvements, covering mobile bugs and edit/quote-related issues, and explained the intended Markdown/RTE behavior constraints in the docked layout (read more).
manuel shared experiments and prototypes around theme/block authoring, using AI design tools to rapidly explore editorial/portal-style layouts (including the memorably titled “Newspaper from Hell”) (read more).
chapoi clarified limitations around per-user customization of email subjects (and helped steer the question toward the right scope: self-host configuration vs Meta’s own digest emails) (read more).
derek identified a Foundation-modernization style override as the culprit behind incorrect category badge text coloring and pointed to an upstream PR to correct the theme component’s expected colors (read more).
southpaw requested key operational context (hosted vs self-hosted, and plan) for a read-only mode troubleshooting case—important because hosted sites can have constraints on disabling read-only from the UI under certain conditions (read more).
If yesterday proved anything, it’s that Meta can turn “infinite scroll” into a very finite “Load more” button—and still have time left over to publish a “Newspaper from Hell.”
New topics (last 24h): 3 (including discussions like forcing composer formatting in Supportread more, a new user card theme component in #Theme component read more, and a dev write-up in developmentread more)
A lot of the visible momentum clustered around theming and UX polish—see ongoing UI refinements in the Foundation theme thread read more and the reactions UI discussion read more.
hipp0 asked if Discourse can force users to write a single first line of a specific length, and the discussion quickly shifted toward “encouraging” quality rather than enforcing exactness—via form templates read more and a simpler composer counter approach read more. (Related refs: “characters required” plugin mention read more, theme-based counter component read more, and form template docs read more.)
#Theme component
A new theme component, Modern User Card | Fixed Experimental Usercard, aims to revive the old experimental user card with modern core compatibility, but it currently triggers a deprecation warning and needs refactoring to align with newer internals read more. (Background: the original experiment it’s based on read more; related styling comparison question read more; and the “component template resolving” deprecation thread it references read more.)
The Load More Button theme component thread uncovered that the component is exposing a core wiring issue: DiscoveryTopics not passing canLoadMore down to the LoadMore component, meaning the theme can’t fully solve the behavior alone read more. (There was also a mobile centering improvement merged in the same sub-thread read more.)
In Discourse Lucide Icons, Moin flagged confusing “back/forward” affordances in edit history—where mirrored icons don’t communicate “previous vs latest” clearly—prompting discussion about more intuitive paired icon design read more.
Theme font size gets smaller due to hosted instance updates? had fresh repro notes (including a “join a group to reproduce on Meta” detail), continuing the broader “unexpected typography shifts” concern after hosted rollouts read more.
In How do I ensure my draft will be saved…, Moin highlighted a painful edge: draft autosave sometimes fails silently unless the content crosses certain thresholds, making the absence of the old “save draft” UI feel risky when closing the composer read more.
A small but appreciated closure: Issue with font colour in category badges received a thank-you follow-up after a fix landed, confirming the badge styling issue is resolved for the reporter read more (category-badge-stylesfixed).
In the long-running (and completed) Ability to display all the likes/reactions on a post, Moin asked for a better “show me all reactions” view without needing horizontal scrolling, and it was noted that sideways scrolling works—but discoverability is poor without UI cues like arrows/scrollbars read more (with UX tradeoffs around visible scrollbars discussed read more).
#Announcements
Modernizing the Foundation theme continued to draw detailed feedback on mobile legibility and spacing. Lilly argued the newer direction feels less “chunky,” offered CSS to adjust sizes, and later identified a likely UX/class mismatch involving the injected AI related-topics button—plus a padding/line-height patch read more (earlier context read more).
Time to reconsider infinite scroll? kept exploring whether infinite scroll suits forums vs “social feeds,” including practical questions about scaling to extremely large topic counts and UX concepts like “catch your breath” breaks; a relevant existing “take a break” component was referenced as a related mitigation (time-based, not scroll-based) read more (more context: the scaling question read more, and the referenced component read more).
In I populated my (mostly-dead) Discourse forum with bots!, kirupa shared a concrete update: the full source code has been published for others to adapt, plus a walkthrough video for implementation ideas read more.
A new development topic, Case study of an amateur plugin author, chronicled a real-world path from “thought it wasn’t possible” to shipping a contact form plugin—walking through tutorials, Ember/Handlebars learning curves, and project context with multiple helpful reference links for new plugin authors read more. (Refs included: the earlier “contact form without third-party services” thread read more, the plugin outlet tutorial part read more, and the resulting contact form plugin read more.)
In Automatically updating themes and plugins to .gjs file format (dev-news), jericson noted that depending on plugin skeleton age, developers may also need to pick up the newer eslint.config.mjs file from the updated skeleton read more (and referenced the skeleton file directly read more).
#Plugin
The official Discourse Calendar (and Event) thread saw a substantial critique: configuration is perceived as a “mish-mash” across site/category settings and terminology; in response, oshyan shared an early-stage, event-focused alternative plugin prototype with a demo video and feature list read more.
In Telegram Notifications Plugin (discourse-telegram-notifications), a user reported missing options (with screenshots), continuing the support trail for setup/UI differences in newer versions read more and follow-up context read more.
#Self-hosting
Bypass the 6 badge fav limit revisited whether raising the favorite-badge cap is wise. The thread reiterated that while it’s easy to change via plugin or config replacement, it’s “probably a bad idea” for multiple reasons—and suggested that multiple flair effects might be better achieved via theme components instead of badge hacks read more (with the “easy but risky” warning read more).
No Discourse Team (@team) posts were captured in the provided 24-hour activity snapshot. The most active replies in the sampled threads were from community members (e.g., theming/debug discussions like read more, UX feedback like read more, and self-hosting guidance like read more).
For quick review, the highest-traffic active discussions in this window included: composer character constraints in Supportread more, the Foundation theme polish thread in #Announcementsread more, and the calendar/events plugin conversation in #Pluginread more.
Sign-off: Between “load more” buttons surfacing core quirks and user cards time-traveling back to experimental designs, yesterday was basically UI archaeology day—may today’s scrolls be smooth and your deprecations dismissible.
bloomexperiment argued that Discourse’s “infinite scroll” is being conflated with “infinite content”—highlighting that Discourse and email clients can scroll without end only within a finite set of chosen content, unlike algorithmic feeds (read more). A related legal nuance was raised around whether infinite scroll is a “significant part of the services” in the context of regulation (read more).
“The scroll in Discourse replaces pagination. Just like pagination, it is not infinite.” (source)
#Self-hosting
A new admin troubleshooting thread (in Russian) tackled why even tiny video uploads were failing with “This file is too large” (read more). Canapin pointed to the canonical guide for adjusting upload limits (read more), while merefield emphasized that you often must update app.ymland have SSH/terminal access to complete the rebuild properly (read more).
As the rebuild progressed, the discussion shifted from “how do I increase upload limits?” to “how do I recover a broken instance?”—with repeated reminders not to interrupt rebuilds mid-flight and to share actual logs instead of screenshots (read more, read more). The thread ultimately surfaced a common pitfall: stopping ./launcher rebuild app partway through (visible via ^C) and then wondering why the site won’t boot (read more, read more).
Several replies reinforced the practical “next step” of pasting full terminal output in code blocks to diagnose failures (read more, read more). For anyone following along later, the underlying reference docs were again the “change maximum attachment upload size” guide (read more).
The “can someone log into my server and fix it?” moment also appeared; community members cautioned that hands-on recovery is typically paid work and pointed toward professional options (read more, read more).
A reflective post on plugin maintenance described a plugin failing to load (missing module import) and the author’s surprise at being hit early due to tracking tests-passed rather than an ESR channel (read more). Moin suggested the breakage might be tied to an Ember deprecation-handler crash rather than immediate plugin code rot (read more), linking the known issue: “Ember this fallback deprecations crash in the deprecation handler”.
The thread then turned into a broader “maintenance in 2026” conversation: piffy explained that agentic coding dramatically reduced the pain of modernizing older plugins—turning multi-week updates into minutes—and described how that changed their willingness to keep sites updated (read more). The discussion also nodded to Discourse’s evolving release strategy (referenced via the versioning RFC) (read more).
#Theme component
The “Load More Button” theme component thread exposed a subtle UX discrepancy: the “Load more” UI can appear when it shouldn’t, because core’s DiscoveryTopics doesn’t pass the canLoadMore model property through to the LoadMore component—making the issue not fully solvable in a theme component alone (read more).
The community explored pragmatic workarounds, like conditional CSS hiding for specific contexts (e.g., logged-out landing pages), and Lilly mentioned a fork that handles the edge case (even if the approach is “hacky”) (read more, read more).
#Site feedback
A small but intriguing UI report: ondrej saw a “weird logo” rendering across browsers at normal zoom, which corrected itself when zooming in—suggesting a scaling/rendering artifact rather than a broken asset (read more).
Feedback continued on the new AI docked composer, with Lilly reporting that it’s “much less buggy” overall, but still appears to break file uploads after the first post (read more). Later, they summarized remaining issues (quoting doing nothing; uploads failing after first post) and called out a UX inconsistency: needing Shift+Enter for a newline compared to the regular composer (read more).
The “Age requirement for Discourse” thread kept evolving into a broader policy-and-parenting discussion. Heliosurge challenged whether ID checks are even the right lever, leaning instead toward accountability models and parental responsibility (read more). The conversation also detoured into a comparison of legal enforcement vs cultural norms (with a bicycle helmet law example contrasting Canada and the Netherlands) (read more, read more).
The “what actually works” angle came through in practical examples: device-level controls, restricted OS accounts, and the human reality that kids often defeat weak passwords unless parents adopt better operational habits (read more, read more).
#Plugin
In the long-running official OpenID Connect plugin thread (officialopenid-connectauth-pluginsincluded-in-core), Steradiant asked a concrete operational question: whether users will be automatically removed from Discourse groups once they’re no longer members of the corresponding IdP group (read more).
In the Discourse Calendar (and Event) plugin topic (officialcalendar-and-eventincluded-in-core), feature direction came up again: a desire for more complete event management with toggles for optional modules—reducing the need to stack multiple plugins for common “events” requirements (read more). oshyan replied with implementation intent (configurable functions via settings) and shared tooling preferences for building: using both OpenAI Codex and Anthropic Claude directly (plus “MCPs and skills”) rather than wrappers like Cursor (read more).
#Extras
The SuperHref project announced a monetization/UX improvement: suggested products can now keep the original affiliate tag or replace it with a custom one—useful for sites that want link-replacement benefits without losing attribution control (read more).
No posts were attributed to the @team (Discourse Team) group in this 24-hour snapshot. The most active threads were nonetheless worth tracking for follow-ups and potential staff input—particularly the policy/UX debate around “infinite scroll” (read more) and the self-hosting recovery journey after interrupted rebuilds (read more).
If a staff response does land later, likely candidates for resolution/triage include the Meta logo rendering anomaly report (read more) and the remaining regressions/UX questions in the AI docked composer (composerai) (read more).
That’s all for today—may tomorrow’s scroll be finite, your logos crisp, and your ./launcher rebuild app run to completion without a single Ctrl+C.
A plugin author’s “amateur case study” sparked a bigger conversation about deprecations, stability, and why docs lag behind code.jericson pointed to outdated official plugin guidance (including the long-lived plugin outlet tutorial) and suggested enabling community agency; chapoi explained the realities of maintaining a “behemoth” codebase with a small team; david clarified that the .hbs timeline is still in its warning window and that .hbs remains supported for now (read more). Related: the older plugin outlet tutorial itself (read more), the .hbs deprecation announcement (read more), and the “make it a wiki” vs “PR on GitHub” docs workflow discussion (read more).
bin/lint regressions for non-bundled plugins were reported, debugged live, and quickly patched. A change intended to improve linting broke some workflows; david shipped a fix via PR, added progress output, then iterated again when --fix silently didn’t apply—ending with a merged solution (read more).
The “tests-passed” → “latest” rename thread resurfaced: the alias still works, but warnings aren’t implemented yet.jericson asked whether an admin warning exists; david confirmed it hasn’t been added and that tests-passed remains a functional alias (read more).
Full-app embedding across domains ran into modern browser cookie rules (embedding). A site using Discourse as a blog comments embed reported that users couldn’t stay logged in inside the embed; Falco suggested setting SiteSetting.same_site_cookies = "None" via Rails console to allow cross-site cookies in iframes (read more). The “opens a new tab to log in” expectation is also discussed in an earlier embed thread (read more).
Asset precompilation memory spikes (20GB+) on OpenShift raised questions about plugins and build behavior. A self-managed OpenShift deployment saw unusually high memory usage during assets:precompile:build; david requested a plugin list and followed up by asking whether memory subsides after the task completes (read more). Background context: precompiled JS assets for self-hosters (read more) and the new plugin build system (read more).
Invite-link previews: which logo shows up, and why the “background” isn’t really yours to control (invites). A WhatsApp-style link preview showed a white-on-white logo; chapoi explained that external preview renderers often draw their own tile and may paste transparent PNGs onto white regardless—so “bake in” a background/shadow into the favicon/large icon and wait for caches to update (read more).
“Moderator not showing on /about” was solved with a simple gotcha: activity/visits matter. The missing moderator likely hadn’t visited recently; the /about listing checks recent visits, and the solution was tied to that behavior (read more). Related precedent: “admin missing from about page” (read more).
Russian-language support: component install errors were resolved, possibly tied to translated/altered install links.Lilly confirmed the component was installed and suspected the “button link method” can get mangled (e.g. copy/paste or translated domain quirks) (read more).
Another Russian-language self-hosting thread ended up being “not a build issue” at all—an upstream firewall/provider problem. A “file too large”/uploads issue turned into a detailed triage: payloads blocked before the server, nginx reviewed, ghost images cleaned up, and even stuck Sidekiq email jobs purged; root cause was attributed to a VPS manager/firewall setup at the host (read more).
LLM translation settings: an API validation error appeared when “reasoning effort” was set to none (ai). A user reported the translation job failing with an error stating reasoning_effort must be low, medium, or high—prompting clarification about which setting was being referenced (read more).
#Community Building
“Welcoming new users” explored ways to notify regular members of new signups—without admin-only tools. The thread looked at approaches ranging from automation/data explorer (limited by hosting plan constraints) to a clever workaround: linking to the Trust Level group membership list so trusted users can see who’s new, and optionally surfacing that link in the sidebar (read more). Sidebar targeting reference: group sidebar menus (read more).
Product launch community reconfiguration got a pragmatic UX suggestion: switch the homepage to /categories.HAWK highlighted that changing the homepage from /latest to categories creates a strong “new era” signal for members right away (read more).
Age requirements and enforcement continued with practical “real world” analogies and edge cases. The discussion compared enforcement to helmet laws, and explored the limits of age verification when users can misrepresent or borrow IDs (read more).
The hamburger/three-bar icon debate revived: users still expect a “menu,” not a sidebar toggle. An older UX thread got fresh input describing how Discourse’s icon choice conflicts with widespread conventions; Lilly dropped a breadcrumb to a customization option letting admins pick different sidebar icons (read more). Related: dynamic sidebar icon selector (read more).
The AI docked composer was gated behind “upcoming changes” after real-world testing surfaced papercuts.keegan reported the feature is now gated while polish continues; they also pointed to a fix for upload issues and discussed the “Shift+Enter for newline” muscle-memory mismatch (read more).
#Feature
A concept for making chat “first-class” alongside topics proposed a unified activity view.oshyan shared a prototype category view interleaving subcategories, topics, and chat channels sorted by recency, with previews—aimed at sparking broader discussion about chat/forum integration direction (read more).
#Site Management
Form templates: “composer” fields don’t behave like the main composer for pasting images, and it may be a bug. A report showed that copy/paste of images into form-template composer fields doesn’t work as expected; toggling WYSIWYG partly helped, but uploads didn’t look “real,” and an upload field workaround was suggested (read more).
#Plugin
ActivityPub plugin: category actors could follow Mastodon actors, but not other Discourse actors. A fresh report on 2026.5.0-latest described the federation mismatch; pmusaraj acknowledged it and said the team would look shortly (read more).
Trading Buttons plugin troubleshooting intersected with a core category-settings change.Moin suggested disabling an “upcoming change” that simplified category creation because it altered how plugin category settings are saved—linking the issue to prior reports (read more). Related: “unable to save category settings made by plugins” (read more).
A new blog companion topic explored what Discourse feels like in another language (Japanese browser locale).nat posted the companion discussion for a blog entry illustrating the multilingual experience, with screenshots and walkthrough context (read more).
“Discourse is Not Going Closed Source” picked up a thoughtful community reaction. A reader expressed awe at the discussion and broader tech trajectory reflections after stumbling into the thread (read more).
#Site feedback
Daily Summary Feedback: a meta-note about who counts as “@team” for reporting.Lilly clarified they’re not on team anymore (and that volunteer mods aren’t either), after an automated summary section appeared to attribute “@team” activity incorrectly (read more).
david shepherded multiple developer/support threads: he clarified the .hbs deprecation window and apologized for the short-lived .hbs regression on latest in the plugin author discussion (read more), rapidly fixed and merged the bin/lint regression for non-bundled plugins (read more), asked targeted diagnostic questions about OpenShift asset precompile memory spikes (read more), confirmed tests-passed remains an alias without warnings (for now) (read more), and weighed in on OIDC behavior in the official plugin thread (read more).
chapoi added important context on team capacity and why docs can trail product changes in the plugin author thread (read more), and helped debug invite link previews by explaining what’s controlled by Discourse vs. what’s rendered by external clients (and how transparency can backfire) (read more).
nat published the companion discussion for the Discourse blog post on multilingual usage, focusing on what the UI looks like when viewed in Japanese locale (read more).
Falco provided a direct technical workaround for cross-domain full-app embeds by adjusting the same_site_cookies setting to None in Rails console (read more).
HAWK offered a concrete community-launch tactic: changing the homepage to categories to quickly signal the community’s new direction (read more).
keegan gated the AI docked composer behind “upcoming changes” while polishing continues and pointed to an uploads fix for testers to verify (read more).
derek confirmed the UX fix for category badge font color issues landed and invited follow-up reports if anything else looked off (read more).
pmusaraj acknowledged a fresh ActivityPub report about Discourse-to-Discourse actor following and committed to investigating soon (read more).
Yesterday proved once again that on Meta, firewalls masquerade as “upload bugs,” --fix sometimes needs fixing, and even a hamburger icon can start a thoughtful debate—may your rebuilds finish fast and your cookies behave exactly as intended.
Lilly flagged missing/odd translation behavior in localized UI elements (including theme strings and plugin UI), and nat confirmed that plugin-to-AI translation integration still needs work—while derek patched a missing theme translation string read more
A home-network install behind a non-full-stack/non-routable setup turned into a deep dive on port checks, skipping installer connection validation, and HTTPS certificate hurdles—with pointers to Cloudflare Tunnel and SSL setup docs read more (see also: Cloudflare Tunnel guide read more, HTTPS/SSL how-to read more, and Let’s Encrypt setup notes read more)
A sitewide “hide this category from Latest” question landed on two approaches: a plugin-based suppression setting and the built-in default_categories_muted behavior—each with different UX tradeoffs for category visibility read more (background: older thread referenced by OP read more)
Theme authorship tips: inserting a “Latest topics” header in the discovery UI can be done cleanly via the discovery-navigation-bar-above plugin outlet, with links back to outlet connector documentation read more (docs: outlet connectors read more)
A Portuguese support thread tracked an admin-only theme customization route failing even in safe mode; the resolution converged on “you’re not on the latest build—rebuild to update” with exact SSH commands provided read more
An AI/PM workflow snag: users reported being unable to post an image in an Agent follow-up via PM, with a note that a fix existed in a newer commit and cross-reference to a related AI composer discussion read more (related: AI docked composer thread read more)
Cross-domain “full app embed” resurfaced as a security/architecture consideration; discussion emphasized that embedding across domains can bring its own risks and constraints read more
Editing someone else’s survey after transferring topic ownership appears to fail (especially with ai + surveys + content-localization in the mix), prompting a report and routing to the engineering team read more
Composer glitch report: switching between rich text and Markdown inserts incorrect spacing/formatting, demonstrated with a tight repro snippet and animation read more
Mobile UX bug + fix proposal: long-pressing the reactions counter can incorrectly open the reactions picker (and throw JS errors) when the new reactions menu is enabled; a PR was linked from the report read more
Accessibility cleanup: custom badge images were missing appropriate alt handling; the fix direction is to use an empty alt="" because the image is decorative and the badge name is already present as text read more
Invitation UI consistency: two related reports (“Invite tab shows on hidden profile” and “Weird invite button behavior”) converged on a fix to hide UI elements that shouldn’t appear and to avoid implying unsupported “invite on behalf of others” flows read more + read more
Impersonation ergonomics: admins hit confusion when experimental impersonation auto-terminates after a hidden time limit; proposals included MessageBus-driven UI updates, a visible timer, better “Stop Impersonating” behavior, and possibly a longer default limit read more (origin thread referenced: experimental impersonation bug read more)
nat clarified where AI translation coverage ends today (notably around plugin UIs like calendar/events), and flagged a theme-string gap for review in the multilingual Discourse blog discussion read more
derek confirmed and shipped a fix for a missing theme translation string (“Home”) in the same localization thread read more
chapoi provided a concrete theming solution: use the discovery-navigation-bar-above outlet to inject a “Latest topics” header, pointing to official outlet connector docs read more
supermathie highlighted that the Discourse free tier restricts theme customizations—helping narrow diagnosis before deeper troubleshooting read more (referenced plan context: free plan beta read more)
awesomerobot pushed multiple UX/polish fixes forward: decorative badge image alt text handling read more, plus invite UI cleanup across related reports read more and read more, and also tracked down a fix for request-revision workflow documentation/behavior confusion read more
sam acknowledged the survey-editing bug report and routed it to the right engineer for investigation read more
martin took ownership of the impersonation time-limit UX issues and outlined concrete UI/behavior improvements (including potentially bumping the time limit) read more
Falco pointed admins to the exact place to find/edit Proofreader agent examples on their own instance, helping troubleshoot quote handling and prompt tuning read more
Alteras published an update to the “Created Topic Sort” theme component, adding new settings for tag-driven display options read more
That’s a wrap—may your theme strings translate cleanly, your surveys remain editable after ownership changes, and your impersonations last longer than 15 minutes without mysteriously snapping back.
A lot of the day’s momentum came from practical admin/operator troubleshooting (pageview reporting, uploads, auth flows) across Support (e.g. read more, read more, read more) plus several product/UX threads in #Feature and ux (e.g. read more, read more).
Support: Admin reporting confusion surfaced in “Site traffic report”? where the “Legacy Consolidated Pageviews” panel displaced the newer report; the thread traced it to the hidden use_legacy_pageviews setting and pointed self-hosters to Using hidden site settings while hosted customers were directed toward the support request process (as referenced in Requesting changes).
Support: A related analytics mismatch came up in Site Traffic vs LCP Crawlers: the “0 crawlers” view in Site Traffic was explained as a data-availability / rollout window behavior, reinforcing that the legacy report can be ignored going forward (and tying back to the original “missing report” discussion: read more).
Support (uploads): File upload limits were tackled end-to-end in Issue with Upload File Size Limit: after configuration changes, the real culprit turned out to be an upstream cap (Cloudflare’s 100MB limit), with additional “where else could it be?” context echoed by reverse-proxy experiences like Installing Discourse Behind Reverse Proxy… and even nginx overrides discussed elsewhere (e.g. read more).
bug (surveys): A regression in survey editing was resolved via plugin work in Unable to edit a survey, with the fix landing as a commit in the discourse-surveys plugin (thread includes the exact pointer: read more).
#Feature (embedding): Embedded-comments UX feedback kept coming in Tecnoblog’s Experience With Discourse Comments, highlighting that even after progress with Google One Tap, the “login opens a new tab and leaves iframe stale until refresh” loop still hurts conversions; the discussion links out to ongoing work to improve the flow (and pairs naturally with the official embedding announcement: Embed Discourse as a full comment system on your site).
#Feature (chat): Information architecture questions (mixing categories, topics, and chat channels in one activity view) were debated in Promoting Chats to first-class content: all public message activity in a single view, with feedback focusing on whether categories belong alongside “content” items and how navigation should behave when drilling into chat vs topics.
awesomerobot explained why crawler data may show as zero in the newer report for older dates and advised deprecating reliance on legacy comparisons in Site Traffic vs LCP Crawlers.
May your Site Traffic charts be non-legacy, your embed logins refresh on the first try, and your uploads sail straight past that 100MB Cloudflare ceiling.
“Site traffic report” discoverability gripe: read more
Reactions/likes display UX discussion (infinite scroll list): read more
Bilibili Onebox plugin playback regression report: read more
Horizon theme “High Context Topic Cards” follow-up ping: read more
“Chats as first-class content” experiment discussion: read more
“Split this topic” mini-post link/rebuild limitations: read more
Google schema debugging progress (“test live URL”, caching delays): read more
Interesting Topics
#Announcements
gabriel introduced “Discover Hot Topics” for Discourse Discover—surfacing cross-community “what’s hot” topic clusters, now available in DiscourseHub and coming to web/Android (read more); there was also discussion about TestFlight build availability and iOS UI tradeoffs in the same thread (read more), with background on Discover itself here (read more).
The Discourse team blog revisited “The Digg Lesson: Why Moderation Infrastructure Matters”, sparking discussion about tool support, approval queues, sockpuppetry/brigading, and why moderation remains an “arms race” even with AI assistance (read more; see also community reflections in this reply).
A Markdown edge case: punctuation and brackets causing auto-linked URLs to “eat” trailing characters—Jonathan5 provided clear examples (read more), Falco pointed to markdown-it/linkify-it defaults (read more), and david suggested angle brackets to explicitly bound a URL (read more).
A “Nice Share badge links to the wrong post?” report turned into a useful clarification: Moin explained how “Nice Share” is about clicks on a shared link that includes your ?u= parameter, so the badge points to the post you shared rather than the external location(s) where it was shared (read more).
AI translations appeared stuck/incomplete without logs progressing; Falco noted a real-world gotcha: using a thinking model can break locale detection output formatting, which then blocks translation progress (read more). (Related UX concern: translated posts losing quote context metadata was raised separately in this Feature request.)
A self-hosted admin chased a bizarre Mailcow login page showing instead of the forum, which ultimately came down to reverse proxy + IPv6 behavior (mobile networks preferring IPv6) and browser cache confusion; the confirmed fix was adding IPv6 listen [::]:80 / listen [::]:443 in the proxy config (read more).
Hosted onboarding friction: “Full name requirement” doesn’t seem enforced when users sign up via Discourse ID—after Lilly reproduced the free-plan Discourse ID signup flow (read more), pmusaraj confirmed the behavior and moved it to Contribute > Bug for follow-up (read more).
A potentially high-impact SSO issue: OpenID Connect group sync can remove users from all unsynced groups when an unsynced claim changes; supermathie summarized the suspected repro conditions to confirm expectations before digging deeper (read more).
Moin proposed a nicer fallback for users who land on a blank /custom homepage after a theme switch: show a “Take me home” style button (similar to the 404 UX) rather than an empty page (read more).
“Where did the tag info button go?”—the non-admin view no longer shows the info affordance, and Lilly traced the likely change to a specific commit that moved/altered tag-page navigation behavior (read more).
Mobile UI polish: long tags getting cut off at the screen edge received confirmation from awesomerobot that a fix is inbound (linked PR in-thread) (read more).
#Developer_Guides
Theme dev workflow question: on Theme Creator, micke can sync changes and see color schemes in /me/theme, but can’t select palettes in preferences and only sees a default “Light” scheme—seeking the correct setup for palette previewing (read more).
Dev installs and email expectations: a user running the Docker development guide thought registration emails weren’t sending, but learned they should appear in MailHog (local capture) rather than delivering externally in a dev environment (read more; see the MailHog pointer in this reply).
#Theme_component
The Discourse Age Check theme component: awb couldn’t get the signup gate to trigger despite setting up the user field and component, prompting troubleshooting questions about console errors and whether the component is attached to the default theme users see at signup (read more; troubleshooting steps continued in this reply).
#Plugin
For the Discourse Doc Categories plugin, Hasimir reported that in-topic anchor links jump correctly but do a page reload instead of smooth-scrolling—asking whether the anchor behavior can be restored (read more).
gabriel shipped a new Discover capability—“Hot Topics” aggregation—and documented how it works and where it’s rolling out (read more).
pmusaraj helped users get unstuck on DiscourseHub TestFlight/build questions and discussed the scope of iOS UI refreshes (read more), then confirmed and escalated a Discourse ID + full-name requirement onboarding issue as a bug (read more); they also engaged with the “chat as first-class content” exploration (read more).
david provided a pragmatic Markdown fix—use angle brackets to control link boundaries when punctuation/brackets confuse auto-linking (read more).
Falco explained that the URL parsing behavior is coming from markdown-it/linkify-it defaults (read more), flagged a likely cause of stalled AI translations (thinking-model output interfering with locale detection) (read more), and triaged an embedding/editing UI report by relating it to an existing composer issue pattern (read more).
supermathie moved the OIDC group-sync report forward by writing out a concrete reproduction-state summary to validate what the system is doing vs. what it should do (read more).
chapoi asked key debugging questions (console errors / exact interaction path) to diagnose why a theme component wasn’t triggering during signup (read more).
davidb shared a practical Google Search Console workflow tip (“test live URL” vs cached results) and noted schema errors trending down after fixes landed (read more).
awesomerobot acknowledged a mobile UX issue (tag truncation) and pointed to an in-flight fix (PR linked in the thread) (read more).
If yesterday taught us anything, it’s this: keep your URLs neatly bracketed, your tab bars tastefully un-glassy, and your reverse proxy listening on IPv6 before your forum accidentally turns into a Mailcow login page.