Daily Summary (9pm UTC)

Today on meta.discourse.org

Key Stats

In the last 24 hours, the meta community generated 61 posts across 36 topics, with 102 likes given. Here are the top contributors by engagement:

User Posts Likes Received
Sam 2 14
HAWK 1 11
Nicolsdennis 3 6
Falco 2 6
Nat 2 6
Southpaw 2 6
Zogstrip 2 5
One1 1 5
Darkpixlz 3 4
Ed_S 3 4

Interesting Topics

Contribute > Feature

  • Android PWA sharing gets a PR: Southpaw revisited the idea of making a Discourse PWA a share target on Android, envisioning a menu for creating new topics, replies, or PMs when sharing content. Falco then delivered with a working PR and a video demo—now there’s discussion about extending this to the Discourse Hub app. read more

  • Show all replies after posting with simple mode: NateDhaliwal proposed that after posting a reply in simple mode, all replies should be visible instead of being hidden behind “Show xx comments,” eliminating the flash-and-hide experience. read more

  • Threaded discussion complexity debate continues: Dituar joined the long-running discussion, proposing a compromise where a flat forum is the main view, but a button opens the entire reply chain in a new tree-view window—a hybrid approach combining the best of flat and threaded displays. read more

  • Tecnoblog’s embed experience: Thiago_Mobilon reported multiple layout issues with the Discourse embed version, including ad plugins inserting ads that break layout, horizontal scrollbars from post-bottom ad slots, and inconsistent mobile margins. read more

Community Building Building

  • Forums that forbid AI content: One1 asked staff from forums banning AI-generated content about detection methods and enforcement strategies. Darkpixlz shared using honeypots that generated 6 million requests from crawlers in two weeks, while Ed_S described a gentler approach of remonstration and deletion on a low-volume hobby site. read more

  • Drastic drop in support forum activity: JammyDodger asked whether communities are seeing engagement declines. Nat revealed that a community’s user visits showed a drastic May decline, traced back to Google’s May 2026 Core Update—a crucial finding for admins wondering about traffic drops. read more

Contribute > UX

  • Hover over emoji shows larger version: Sam showcased a playful theme component that displays enlarged emoji on hover. While unofficial (“if it breaks your site it is not my fault”), it generated significant interest. read more

  • Event calendar UX issues: RGJ documented a click-focus problem where editing the event preview requires two clicks to activate the topic title input, as the first click erroneously activates the post content area instead. read more

Contribute > Bug

  • Large poll bug—users cannot amend votes: Zogstrip completed part 2 of the fix for a poll bug where users couldn’t amend votes on open polls, resolving it with a PR merge. read more

  • Error when creating event due to username: Awesomerobot fixed an edge case where having a user named “trust_level_0” caused event-creation errors—the username clashed with an internal lookup. read more

  • Chat thumbnails bypassing CDN: David_Ghost confirmed that after two remaps, old uploads and thumbnails now work correctly, fixing a bug where chat thumbnails used raw S3 URLs instead of the configured s3_cdn_url. read more

  • Error 500 when moving posts: Zogstrip suggested a 55% chance fix for the 500 error on post moves, pointing to a PR in the activity-pub plugin. read more

  • Layout of fullApp embed mode: Erizo1332 shared CSS fixes for four layout bugs in fullApp embed mode: blank space on left/right, excessive height, and a 1px flicker on Chrome Ubuntu. read more

#Self-hosting

  • Login dialog offers nonexistent options: Paul_King reported that after an update, the login dialog showed Apple, Microsoft, OpenID Connect, and passkey options despite them not being configured. Andrew_Rowe pointed out the settings are in a different tab under Login & Authentication. read more

Support (translated from Portuguese)

  • Community name reservation issue: Jefferson_Ferraz asked for help releasing a community name reserved during a Google account login error. Awesomerobot advised checking spam for the confirmation email, which goes to the current address first. read more

#Site feedback

  • Daily Summary moves to workflows: Sam announced porting the Daily Summary to workflows, making prompt engineering easier with a single prompt location and enabling simpler testing via pinned schedules. The move also shifts the model to a self-hosted deepseek v4 flash. read more

#Extras

  • Sidebar Feed Panel feedback wanted: YsLtr introduced a userscript turning the Discourse sidebar into a compact topic feed, asking whether it should become a theme component, plugin, or spark core discussion for feed-oriented sidebar browsing. read more

enterprise

  • Community ownership models: Mcwumbly deepened the discussion, arguing that user input on bugs, fixes, and features fits into “product development” rather than marketing, even though community officially falls under marketing in Discourse’s org structure. read more

News and Events > Blog

  • How I use AI as co-CEO: HAWK published a blog post on how he and Sam use AI at a fully remote company, addressing the intersection of AI tools and remote leadership. read more

#Announcements

  • Redesigned admin dashboard preview: Nat noted that date range charting heuristics have been improved based on user feedback, while Ondrej asked where to find the last update timestamp and noted less specific storage information. read more

General

  • Native mobile client app update: Nicolsdennis shared major updates to the Sysaru app, including multiforum support, immersive comments with nested replies, and full localization into 49 locales, pending app store approval. read more

Activity by the Team Group

Sam was exceptionally active, sharing a fun theme component for emoji hover previews and porting the Daily Summary to workflows with a model shift to self-hosted deepseek v4 flash.

Falco delivered on a feature request for Android PWA sharing with a working PR and video demo, and helped debug an AI model configuration issue, noting the correct URL format and recommending GPT 5.4 Nano over GPT 5 Mini.

Zogstrip completed part 2 of the large poll fix and proposed a fix for the 500 error when moving posts, pointing to an activity-pub PR.

Awesomerobot fixed the event-creation error caused by a user named “trust_level_0” and helped a community member resolve a name reservation issue by checking the correct email flow.

Nat provided crucial analysis of the drastic drop in support forum activity, tracing it to Google’s May 2026 Core Update, and noted improvements to charting heuristics for the admin dashboard.

Pmusaraj commented on the Android PWA sharing feature, confirming it should work with the Discourse Hub app as well.

Mcwumbly provided insightful framing of community ownership models, arguing that user input on product direction falls under product development despite community being under marketing.

Ted investigated a MissingAttributeError in gamification, unable to reproduce it and confirming only the core-bundled version should be used.

Nathank marked the recurring event feature for the nth weekday as delivered, with a note about extending it further.


With a Google Core Update causing blanket coverage concerns and an Android PWA sharing PR landing like a drop of rain in a drought, yesterday proved that even when the algorithm shifts, the community’s ingenuity never dries up.

Today on meta.discourse.org

Key Stats

In the last 24 hours, the Meta community generated 45 posts across 25 topics, receiving 75 likes in total.

Top Contributors

User Likes Received Posts Created
Nicolsdennis 8 3
Dituar 7 6
YsLtr 7 3
Nat 7 2
Chapoi 5 2
One1 5 1
NateDhaliwal 4 5
Paul_King 3 3
Ed_S 3 1
Darkpixlz 3 1

Interesting Topics

Community Building Building

  • One1 kicked off a spirited discussion on the challenges of forums that forbid AI content, asking how other staff detect and communicate AI bans. Darkpixlz shared their “nuclear” approach using honeypots and the iocaine project to trap crawlers (resulting in ~6 million requests in two weeks), while Ed_S outlined a gentler policy for their hobby forum.

  • Nat discovered a worrying correlation: a community’s drastic user visit decline tracked perfectly with Google’s May 2026 Core Update, suggesting forum activity drops may be algorithm-driven rather than organic. Read more.

General

  • Nicolsdennis showcased major updates to their Sysaru native mobile app, including full multi-forum support, immersive comments, post navigator, and native push notifications—now pending App Store approval. See the screenshots.

#Extras

  • YsLtr introduced a Discourse Sidebar Feed Panel userscript that compacts the sidebar into a browsing feed, and is seeking community feedback on whether to pursue a theme component, plugin, or core feature discussion path. View the visuals.

#Self-hosting

#Announcements

  • Nat noted that improved date-range charting heuristics have been merged for the redesigned admin dashboard. Ondrej praised the new look but wondered where to find the last update time and storage details, which Chapoi confirmed are being moved to a new yet-unavailable home. Read more.

Contribute > Feature

  • Dituar registered specifically to propose a compromise for threaded discussions: keep the main display flat, but add a button to open the entire chain of related posts in a tree view, addressing the pain of figuring out context in long reply chains. Read more.

Contribute > UX

  • Chapoi announced that a fix has been merged to rebalance the prominence of the Delete category button versus the Save button, addressing a long-standing UX concern. Read more.

Contribute > Bug

  • Glob-Canard.4x traced a MissingAttributeError on the gamification leaderboard route to an errant plugin hooking into UserScoreSerializer, resolving what initially appeared to be a core bug.

#Plugin

  • Nicolsdennis asked about supporting PayPal Advanced Checkout in the Subscriptions plugin, as Stripe isn’t available in many countries. Tobiaseigen suggested Invoice Ninja as an alternative that supports multiple processors including PayPal.

#Nested Replies Testing

  • Dituar continued their thorough testing of the nested replies feature, proposing a side-panel tree view that opens related chains without leaving the flat topic view, and creating test posts to demonstrate deep nesting behavior.

Support

  • TimMOz requested a new granular API scope (badges->list) for listing all badges, noting that currently a global scope or disabling login required is necessary.

  • Ice.D questioned the purpose of primary groups when users can change their group flair anytime, with Canapin clarifying the key point is “by default.”

#Plugin (Translator)

  • Filipesm raised concerns about the long-term maintenance of the Discourse Translator plugin versus moving to the LLM-powered AI approach, especially given costs and a desire to avoid Big Tech models.

Contribute > Bug

Contribute > Feature (PWA)

  • NateDhaliwal asked if a fix for Android share sheet issues could work with the Discourse Hub app. Pmusaraj confirmed it’s a separate process that should also be fixed.

Contribute > Feature (Doc Categories)

  • NateDhaliwal suggested that after posting in simple mode, all replies should be shown immediately rather than hidden behind “Show xx comments,” to reduce the flash and improve usability.

Contribute > Feature (Chat)

  • Jrgong reiterated previous feedback requesting pinned chat messages appear as a sticky bar (like WhatsApp/Telegram) to help guide new users away from using chat for support requests.

#Announcements (Topic List)

  • Heliosurge pointed out that the “New All” tab link doesn’t open the correct view, and requested UI parity for the number display beside the All tab.

#Theme component

  • YsLtr commented that reply button labels are a beginner problem but easily figured out after one try.

#Site feedback

  • Canapin noted that the :discourse2: emoji is broken on certain theme component topics.

#Plugin (Voice Rooms)

#Developer Guides

  • NateDhaliwal shared a humorous account of misreading console output during development setup—those “migrations” were actually Sidekiq jobs running.

Activity by the Team Group

  • Nat shared the Google Core Update discovery in the drop in forum visits topic, and later noted the improved date-range charting heuristics for the admin dashboard.

  • Chapoi announced the merge of a fix balancing the Delete vs Save button prominence, and responded to feedback about the missing last-update-time in the new dashboard.

  • Awesomerobot merged a guard against the “trust_level_0” user edge case in event creation.

  • Zogstrip submitted a fix for the error 500 when moving posts (ActivityPub plugin).

  • Jrgong provided feedback on pinned chat messages feature request.

  • Pmusaraj responded about fixing the Android share sheet issue for Discourse Hub.

  • Ted investigated the gamification leaderboard bug (later resolved by the reporter as a plugin issue).


Yesterday’s activity showed that even the most patient among us can spend four hours watching Sidekiq jobs before realizing the development server was actually running all along—proof that the Meta community’s dedication extends well past midnight debugging sessions!

Today on meta.discourse.org

Key Stats

In the past 24 hours, Meta saw 43 new posts across 18 topics, generating 22 likes from the community.

Top Users by recent activity and likes received:

User Posts Likes
Raadtotheraad 9 2
Canapin 4 4
Lilly 4 4
NateDhaliwal 4 0
Chapoi 1 3
Filipesm 1 3
TimMOz 1 2
Tobiaseigen 1 2
Darkpixlz 2 1
David_Ghost 1 1

Interesting Topics

Support

  • Quick question about the “Powered by Discourse” badgeRaadtotheraad noted the loss of the rainbow hover animation on the “Powered by Discourse” badge. After some back-and-forth, Canapin identified the culprit: the user’s browser/OS detects touch capabilities (even if the device doesn’t truly have a touchscreen), which causes Discourse to apply touch and touch-discourse CSS classes, suppressing hover effects. The rainbow animation works for non-touch, mouse-driven interactions. read more

  • What is the point in primary groups?Ice.D questioned the utility of primary groups, suggesting that if anyone can change their group flair anytime, the “show that group’s avatar flair by default” setting becomes meaningless. Canapin clarified the nuance of “by default,” and Lilly provided a firm nudge to read the well-documented guide before posting further. read more

  • API granular scope to list all badgesTimMOz requested a new API key scope (badges->list) to programmatically list all badges without requiring a global-scope key or anonymous access. The current approach forces admins to grant overly broad permissions, which is a security concern for closed sites integrating with external systems like CiviCRM. read more

  • Can’t upload to S3 (Cloudflare R2)Darkpixlz experienced upload failures after setting up Cloudflare R2 as an S3-compatible store. The error log showed “Sorry, but your upload failed.” Community members pointed out a trailing slash issue in the CDN URL and endpoint configuration, and Lilly recommended the official guide. read more

  • Update URLs inside a poll after changing CDNCanapin found that rebaking posts and the standard rake 'posts:remap' did not fix CDN URLs embedded inside poll options. Lilly proposed using the built-in discourse remap command (via DbHelper.remap), which performs a global regex search-and-replace across all text fields in the database, followed by rake cache:clear. read more

  • Any way possible for non-admins granting badges?Anko127 asked if group owners could grant badges without becoming admins. HAWK suggested a hacky workaround: create a custom badge configured to be awarded via group membership, then add non-admin organizers as group managers so they can add/remove users to trigger badge changes. read more

#Plugin

  • Discourse TranslatorFilipesm raised a concern about the long-term maintenance of the official Discourse Translator plugin, asking whether the team plans to keep supporting it (security/bugs) or whether users should migrate to the Discourse AI / LLM-based translation approach, which may have higher operational costs. read more

  • Discourse Subscriptions PluginTobiaseigen shared a clever alternative to the Subscriptions plugin: Invoice Ninja, which supports multiple payment processors (including PayPal). The approach uses payment links for subscription sign-ups and a webhook + cron task to update Discourse user status in real-time. read more

  • ActivityPub PluginTrwnh1 reported a bug where the published datetime on ActivityPub objects is set to the resource creation date (when the “Publish all posts” button is clicked) rather than the original local Discourse post date. This causes old forum content to appear as brand-new on the fediverse. read more

  • Resenha - Add Discord-style Voice Rooms to Your CommunityNateDhaliwal noted that since Resenha is not an official plugin, users need an Enterprise plan or a self-hosted instance to use it. read more

#Site feedback

  • Missing images at Meta.discourse.orgCanapin flagged broken :discourse2: emoji on theme component topics, linking the issue to a chat thumbnail bug where some custom emoji are served from raw S3 bucket URLs instead of the CDN. Lilly confirmed a remap/rebake is needed, and Darkpixlz began fixing the affected instances. read more

Contribute > UX

  • Delete category button is more prominent than SaveChapoi announced that a fix for this UX imbalance has been merged via PR #41049, making the delete action less dangerous. read more

Contribute > Bug

  • Discourse Gamification - Getting 404 / MissingAttributeError on /leaderboard routeTed closed a bug report after the original poster, Glob-Canard.4x, resolved the issue themselves and apologized for the false alarm. read more

  • Error 500 when moving postsThomas_Rother followed up on a fix, confirming the error originated from the ActivityPub plugin and expecting the fix to ship with the next build/container update. read more

#Extras

  • Feedback wanted: userscript to theme component/plugin, or possible core sidebar browsing idea?Heliosurge suggested that a userscript for sidebar browsing could be implemented as a theme component, referencing existing sidebar themes like Right Sidebar Blocks and DiscourseBars. read more

News and Events > Blog

  • Free Hosting for Open Source v2AJHalili2006 asked if an existing free discourse.group instance could be upgraded to the Pro for Open-source plan without starting from scratch. Supermathie advised emailing the Discourse team for options. read more

Contribute > Feature

  • Do we want to add a confirmation popup to “Reset bump date”?Haydenjames voted yes, confessing that the current “Reset bump date” feature does nothing for him. read more

#Announcements

  • Star your favorite chat channels for easy accessJrgong suggested that instead of a new “starred” tab, Discourse could simply pin chat channels to the top or rename the feature to “pinned chats” for a more familiar UX pattern. read more

Activity by the Team Group

The Discourse team has been active across several fronts today:

  • Chapoi pushed a UX fix to core, merging a change that prevents the delete category button from being more prominent than the Save button. read more
  • David_Ghost helped diagnose a Cloudflare R2 upload issue, pointing out a likely trailing-slash misconfiguration. read more
  • Lilly provided detailed, actionable advice in multiple topics, including:
  • Supermathie clarified the upgrade path for free hosting plans on discourse.group, directing users to email the team for applicable options. read more
  • Tobiaseigen shared a practical, third-party alternative to the official Discourse Subscriptions plugin using Invoice Ninja for payment processing, complemented by webhooks and cron. read more

The most upvoted community insight today came from Canapin, who traced a disappearing rainbow animation to a touch-detection CSS class — proving that sometimes the most magical bugs are caused by the least magical hardware. :unicorn:

Today on meta.discourse.org

Key Stats

In the last 24 hours, 86 posts were created across 30 topics, receiving a total of 61 likes. The community was highly engaged, with several users standing out for their contributions.

Top Users (by posts & likes):

Interesting Topics

blog

  • How I use AI as the co-CEO of a remote companyHAWK shared leadership insights on managing varying AI appetites across teams, sparking a rich discussion with Ed_S about humane AI adoption. Ed_S noted that “the benefits of AI use are falling in one part of an organisation, and the costs are falling in another,” linking to several thought-provoking articles. HAWK's explicit rules—always label AI content and value the time/attention of those consuming it—were well-received. read more

  • Free Hosting for Open Source v2AJHalili2006 asked about upgrading a free discourse.group instance to a Pro for Open-source plan. Supermathie advised emailing the team directly for applicable options. read more

Support

  • Quick question about the “Powered by Discourse” badgeRaadtotheraad reported that the rainbow hover animation on the “Powered by Discourse” badge disappeared. Canapin diagnosed the issue as Discourse detecting touch capabilities (adding .touch-discourse class to <body>), which disables hover effects. Chapoi confirmed the animation only applies under .discourse-no-touch. Users suggested checking safe mode and browser settings. read more

  • Can’t upload to S3 (Cloudflare R2)Darkpixlz faced an “Unauthorized” error when configuring R2, despite following guides. Lilly identified the culprit: Darkpixlz created a general API token instead of a dedicated R2 bucket token with read/write permissions. After creating the correct token type and removing trailing slashes from URLs, the upload issue was resolved. read more

  • Any way possible for non-admins granting badgesAnko127 wanted event organizers to grant badges without admin rights. HAWK proposed a hacky workaround: create a custom badge configured for group membership, put non-admin organizers in charge as group managers, and let them add/remove users from the group—which effectively grants/removes the badge. read more

  • TypeError: can’t access property 0, i.jqXHR.responseJSON.errors is undefined when viewing post edit historyCopymonopoly reported a frontend crash when viewing edit history. Zogstrip pointed to a potential fix via this PR and asked if they were running the latest version. read more

  • How to use internal AI endpoints?Satonotdead encountered SSRFDetector::DisallowedIpError when connecting to internal LiteLLM endpoints. Falco suggested using the DISCOURSE_ALLOWED_INTERNAL_HOSTS env variable, though Satonotdead reported still facing issues after adding it to app.yml. read more

  • Install App PromptPrempavee wanted to disable the PWA install prompt that appears for new users on browser, preferring to show their own branding instead. NateDhaliwal noted it’s a Chrome PWA feature. Satonotdead cited a statistic showing only ~0.005% of websites fully leverage PWA technology. read more

  • How to make a banner postJonathan5 inquired about creating dismissible banner posts. Awesomerobot confirmed the feature still exists—find it in the topic admin menu under “pin topic” modal, where “make banner topic” is an option. read more

  • What is the point in primary’sLilly pointed Raadtotheraad to the existing documentation on setting primary groups, noting that Discourse and Meta “are designed for reading” and recommending more searching before posting. read more

  • Update URLs inside a poll after changing CDNCanapin struggled with stale CDN URLs in baked poll HTML. Lilly recommended using the built-in discourse remap function (instead of the rake task), which performs a global regex search-and-replace across all database tables, followed by rake cache:clear. read more

  • DiscourseAi::Translation: Failed to translate post due to string contains null byteLotusJeff asked how to locate null bytes causing translation failures. The post remains open for community suggestions. read more

bug

  • Backend 502/504 Timeout when saving major edits to long posts (~100k words) due to Diff bottleneckCopymonopoly identified that saving massive edits triggers timeouts due to expensive diff calculations. Sam noted that a “diff_too_complex” fallback was added in February. After upgrading to the latest version, Copymonopoly confirmed seeing the message “The diff is too complex to display” and reported improved performance. Zogstrip offered to tweak the complexity threshold if needed. read more

  • ArgumentError (Attributes per element limit exceeded) when trying to open the diff of a locked topicCopymonopoly reported a related issue with extremely long posts. Zogstrip closed the topic, directing further discussion to the diff bottleneck thread above. read more

  • 重建 Discourse 容器后,用户的 IP 变成了 172.17.0.1AkarinLiu encountered Docker bridge IPs appearing as user IPs after rebuilding the container. They resolved it using OpenCode on their server, noting it was not a core bug. read more

#Self-hosting

  • Avatars take a long time to load after moving to S3-compatible R2David_Ghost reported 3–4 second avatar load times. Lilly provided an exceptional three-part diagnostic: (1) on-the-fly avatar resizing requiring rake avatars:refresh, (2) IPv6 timeouts with Cloudflare R2, and (3) Gravatar delays. David_Ghost confirmed curl responses looked fine, pointing to the first issue as the likely cause. read more

Community Building Building

  • Anyone else seeing a drastic drop in community activity for Support forums?Philip_Rhoades confirmed declining numbers across ~12 Discourse forums, stating “my gut feel is that people are moving away from fora.” Satonotdead linked to a previous discussion about SEO being replaced by AI. read more

#Plugin

  • Discourse ReactionsBartv requested an option for users to click an existing reaction to “join in” (similar to Slack/Discord), and for frequently used emojis to be one click away. RSEhlers noted duplicate notifications for likes and reactions, asking for a way to control them separately. read more

#Feature

  • Add more recurrent Event options to Calendar pluginEd_S contributed to the ongoing feature request, specifically noting that “last Sunday of the month” would be a useful option. read more

  • Request for a date picker in AI Translate settingsLotusJeff requested a date picker for the “AI translation backfill max age days” field, humorously noting that forum content going back to 1999 means “we are older and don’t want to deal with math in our heads.” read more

#Announcements

  • Introducing the unified new view for the topic listMartin acknowledged a catch in the new feature and promised a fix “soon.” read more

  • Star your favorite chat channels for easy accessJrgong suggested renaming the feature to “pinned chats” for a more familiar UX pattern, akin to pinned topics. read more

#Theme component

  • Topic List ThumbnailsAhmed26 asked for mobile-specific CSS to hide .topic-list-thumbnail.no-thumbnail, noting desktop code works but mobile doesn’t. read more

Activity by the Team Group

  • Chapoi confirmed that the “Powered by Discourse” badge rainbow animation is restricted to .discourse-no-touch, explaining why touch-enabled devices don’t display it. read more
  • Chapoi moved the diff bottleneck bug report to the Contribute > Bug category, noting that while 100k chars is unusual, a fallback should still be implemented. read more
  • Sam confirmed that a “diff_too_complex” fallback was added in February, and asked whether Copymonopoly was running the latest version with an adequately powered server. read more
  • Zogstrip closed a related bug thread, noting the discussion continues in the diff bottleneck topic, and offered to tweak the “diff too complex” threshold if needed. read more
  • Zogstrip confirmed that a PR was merged to address the “TypeError” when viewing post edit history, and asked if the reporter is on the latest version. read more
  • Zogstrip provided a link to a PR that adds a granular API scope for listing all badges. read more
  • Zogstrip clarified that the discourse-activity-pub plugin is not bundled with core code, and responded with a humorous GIF to Thomas_Rother's question about the upcoming build. read more
  • Martin acknowledged a bug in the unified new view for the topic list and promised a fix. read more
  • Awesomerobot guided Jonathan5 on creating banner posts via the topic admin “pin topic” modal. read more

Yesterday’s activity was a masterclass in community troubleshooting—from rainbow badges that only glow for the “touch-deprived,” to diffs so complex they’d make a supercomputer blush, proving once again that the Discourse community never runs out of edge cases to explore!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community has been highly productive, generating 114 new posts across 38 topics, receiving a total of 138 likes.

Top Contributors by Likes and Posts:

User Likes Received Posts Made
Awesomerobot 14 12
Lilly 13 7
Falco 9 4
David_Ghost 8 5
Ed_S 8 3
Satonotdead 7 8
LotusJeff 7 4
Chapoi 6 8
Copymonopoly 6 7
Jonathan5 5 6

Interesting Topics

#Self-hosting

  • Avatars taking ages after S3-to-R2 migration? David_Ghost reported a 3–4 second delay after migrating to Cloudflare R2. Lilly diagnosed the issue as likely the on-the-fly avatar resizing process (#1). She recommended running rake avatars:refresh to pre-generate sizes. When that didn’t fully resolve it, further investigation revealed that Discourse was proxying avatars through /tmp instead of serving them from the CDN, a problem traced to a configuration mismatch in external system avatars url and uploaded avatars allowed groups settings. The thread is a masterclass in remote debugging read more.

  • Mail jobs failing with Nokogiri errors. Josip_Meštrović reported a cryptic Sidekiq error: Unregistered function: //*:a[nokogiri:visited(.)]. After extensive troubleshooting, Awesomerobot pointed him to the /admin/customize/email_style/css area, where an old a:visited style was breaking email generation. Removing it fixed the issue read more.

Support

  • Backend 502/504 when saving 100k-character edits. Copymonopoly identified a bottleneck in the Diff engine when editing very long posts. Sam confirmed that a diff_too_complex fallback was added in February to handle this. After upgrading to the latest version, Copymonopoly reported that the issue is completely resolved — the system now gracefully displays a “diff too complex” message instead of crashing read more.

  • How to use internal AI endpoints with Discourse? Satonotdead asked about connecting self-hosted LiteLLM endpoints. Falco suggested using the DISCOURSE_ALLOWED_INTERNAL_HOSTS env variable with the domain name instead of an IP. The thread remains open as the configuration hasn’t fully resolved read more.

  • Banner topics disappearing in restricted categories. Jonathan5 couldn’t find the “make banner topic” option. Awesomerobot revealed the culprit: global banners cannot be used on topics in categories with group permissions. Recategorizing to a public category restored the feature, and the banner state was remembered read more.

  • Nested replies breaking email-in replies. Paul_King reported that activating the new Nested Replies feature caused email replies to be shuffled into random threads. Deactivating the feature immediately restored order. Markvanlan is investigating read more.

  • Null bytes blocking AI translations. LotusJeff asked how to find null bytes in post content causing translation failures. The thread is seeking community input on detection methods.

  • S3-to-R2 migration token confusion. Darkpixlz was stuck trying to upload to Cloudflare R2. Lilly spotted the problem: they created a general API token instead of a dedicated R2 bucket token. Switching token types and removing trailing slashes fixed it read more.

  • Install App Prompt bothering users. Prempavee asked how to disable the PWA install prompt. Awesomerobot clarified that the native_app_install_banner setting controls this, and alternative banners can be hidden with CSS read more.

  • Viewing post edit history triggers TypeError. Copymonopoly encountered a frontend crash when clicking the edits indicator. Zogstrip believes a recent PR has fixed this read more.

Community Building Building

  • Drastic drops in Support forum activity. Philip_Rhoades observed a long-term decline across a dozen Discourse forums. Satonotdead linked it to SEO being replaced by AI, and Awesomerobot noted this is now being called AIO (AI Optimization) and GEO (Generative Engine Optimization) read more.

#Announcements

  • New post type composer dropdown: regression? Gormus noted that the “Toggle post voting” option appears in all categories, not just #Ideas. Awesomerobot explained this is by design — post voting is sitewide — but provided a handy theme component hook to filter it read more.

blog

  • How I use AI as the co-CEO of a remote company. In a thoughtful discussion, Ed_S and HAWK explored the tension between AI enthusiasm at leadership levels and skepticism among workers. They proposed two explicit rules: always label AI content and value the time and attention of those consuming your content read more.

  • Tracking the world’s best community builders. Jawestenberg shared a companion blog post exploring the loneliness of community building and what makes great communities tick read more.

ux

  • Cut off “Dismiss” button has empty space. Canapin spotted a gap between the label and chevron icon in the Dismiss button across all themes.

  • Foundation theme display bug. Gilles reported broken button styling after an update. Newbit1337 confirmed the fix: enabling the Modernize Foundation theme setting resolves it. Chapoi has submitted a PR fix read more.

bug

#Data & reporting

  • AI translation progress graph feedback. LotusJeff requested clearer reporting on translation backfill progress. Falco explained that the page is cached to avoid timeouts on large sites, and the initial “locale detection” phase is no longer shown. LotusJeff proposed a simpler aggregate table showing eligible vs. translated counts read more.

#Feature

  • Date picker for AI translation settings. LotusJeff asked for a date picker instead of the current “translation backfill max age days” field, humorously noting that forum admins with 20-year-old content prefer not to do mental math.

#Plugin

  • Dumbcourse still alive and merged. Satonotdead checked in on the old-browser-friendly UI plugin. Ars18 confirmed it’s still active and has been merged into their JTechTools plugin, though the standalone repo remains available read more.

  • Discourse Reactions: join-in and notification feedback. Bartv suggested making it easier to “join in” on existing reactions (like Slack/Discord). RSEhlers noted duplicate notifications for both Reactions and Likes read more.

  • Discourse Translator deprecated in favor of AI. Awesomerobot advised users to switch to Discourse AI for automatic translation, which is more robust, handles categories/tags, and provides content to search engines while often costing less than self-hosted LibreTranslate.


Activity by the Team Group

The Team group members have been busy tackling tough issues and offering guidance:

  • Lilly was exceptionally active, first providing a detailed multi-part diagnosis of avatar loading delays after a migration to Cloudflare R2 — covering on-the-fly resizing, IPv6 timeouts, and Gravatar delays. She later identified an incorrect token type at Cloudflare R2 as the root cause of an upload failure.

  • Sam prioritized a PR to fix IME composition issues with the word limit, and pointed out that the diff_too_complex feature he added in February should handle large post edits.

  • Falco guided Satonotdead through configuring internal AI endpoints, suggesting the DISCOURSE_ALLOWED_INTERNAL_HOSTS env variable with the domain name, and explained the caching and two-phase translation process for the AI translation progress graph.

  • Chapoi responded to the Foundation theme display bug, identified the fix (enabling Modernize Foundation theme), and submitted a PR. They also questioned whether the post voting option appearing in all categories was a regression.

  • Awesomerobot was a powerhouse: explaining how banner topics work and identifying the group permissions restriction. They diagnosed the email CSS issue, provided a theme component hook for filtering post voting options, and clarified the PWA install banner settings. They also alerted the community about the new acronyms AIO and GEO for AI-driven SEO replacements, and fixed a topic-list-thumbnails issue.

  • Markvanlan responded to the nested replies bug report, asking for clarification on whether posts were being sent to the wrong topic entirely or merely misnested.

  • Nat merged the IME composition fix PR.

  • Zogstrip closed an old bug thread in favor of the new large-edit discussion, fixed the API scopes for listing badges, and noted the discourse-activity-pub plugin is not bundled with core.

  • Jordan.Vidrine was cc’d by Chapoi regarding the post voting option behavior.


Yesterday, the community spent over 4,000 words helping one admin debug avatar loading — and in the process, likely saved dozens of other forum operators from tearing their hair out over R2 migrations. Maybe that’s the real AIO.

Today on meta.discourse.org


Key Stats

Metric Count
New Posts 126
New Topics 47
Likes on Posts 187

Top Posters by Likes & Posts (last 24 hours)

User Likes Posts
Awesomerobot 28 14
RGJ 17 5
Chapoi 13 10
Merefield 12 8
Falco 11 8
Jawestenberg 8 1
Paul_King 7 4
Canapin 7 2
Nat 6 4
Small-Lovely-Cat 6 2

Interesting Topics

#self-hosting

  • How to install plugins without using a third-party host?Willy asked if it’s possible to install self-developed plugins on a self-hosted Discourse without relying on GitHub or other external services. The discussion quickly turned into a debate on the necessity of version control. RGJ argued that pushing to GitHub takes less than a minute, while Merefield emphasised that proper source control is the professional approach. Satonotdead raised concerns about GitHub’s reliability under DMCA takedowns. Awesomerobot pointed out that for small customisations, a theme component (no git needed) might be the right solution. read more

Support

  • Nested replies broken?Paul_King reported that enabling the new Nested Replies feature caused email‑in replies to appear in random threads. After updating to the latest build (and removing an obsolete mysql-dep.template.yml line from app.yml), the issue resolved. Chapoi confirmed that being on “2026.6.0‑latest” doesn’t always mean the latest commits — an additional update fixed the problem. read more

  • Mail jobs are failingJosip_Meštrović encountered a Unregistered function error in Sidekiq when sending mail. Awesomerobot quickly identified the culprit: a a:visited pseudo‑class in the custom email CSS at /admin/customize/email_style/css. Removing the invalid selector resolved the issue. read more

ux

  • “New Topic” button is not responsive when resizingRGJ demonstrated a bug where the “New Topic” button doesn’t reflow between icon‑only and text modes when the browser window is resized. Awesomerobot confirmed and provided a fix. read more

  • Cut off “Dismiss ⌄” buttonCanapin noticed an unwanted gap between the “Dismiss” label and the chevron‑down icon in the dismiss‑button component. Ted pointed out that the spacing is an intended design effect, but the recent modernisation of themes may have broken it. Chapoi will take a look when time permits. read more

  • Problème d’affichage dans le topicGilles reported broken button styling after an update, visible even in safe mode. Chapoi traced it to the “Modernize Foundation theme” setting – enabling that upcoming change fixes the buttons for everyone, regardless of which theme they use. A PR has been merged. read more

#announcements

  • Introducing a new “Post Type” Composer actions dropdown — In the ongoing discussion about the new composer menu, Gormus asked if the “Toggle post voting” option could be hidden when the category isn’t of type “Ideas”. Awesomerobot explained that the post‑voting plugin is currently site‑wide, but provided a registerValueTransformer hook enabling theme developers to filter the dropdown per category. read more

blog

  • I’m tracking down the world’s best community builders. Here’s what I’ve learned so far…Jawestenberg shared a blog post about the loneliness of community builders and the importance of NPS for measuring ROI. Ted resonated with the line “I came for the language, and stayed for the people” and suggested NPS is a good way to correlate community stats with business outcomes. read more

#data-and-reporting

  • AI Translation Progress GraphLotusJeff found the translation progress graph misleading (showing 99% when only a fraction of posts were translated). Falco explained the caching and two‑step process (language detection + translation). LotusJeff proposed a simpler reporting model with eligible vs. completed counts and shared his own Data Explorer SQL queries. Nat promised improvements for July. read more

bug

  • FIX: Word limit shouldn’t break IME compositionSmall-Lovely-Cat revived a stale PR that prevents the word‑limit warning from interfering with Input Method Editor (IME) compositions. Sam prioritised it, and Nat merged the contribution. read more

  • FIX: Boosts in reviewables should link to posts rather than topicsSmall-Lovely-Cat contributed a fix for the Boosts plugin: when a boost is reported, the review‑queue link now points directly to the post instead of the topic. Nat confirmed that Zogstrip merged the PR. read more

#plugin

  • Dumbcourse – Old‑browser friendly UI at /dumbSatonotdead revived an old thread about a lightweight, D‑pad‑friendly UI. Ars18 confirmed the project is still alive and has been merged into their master plugin, while the standalone repo remains available. The community appreciated the modular approach of keeping features switchable. read more

  • Discourse Translator — In the long‑running translator thread, Awesomerobot advised users to migrate to Discourse AI for automatic translation, as it is now the more robust feature (automatic, includes categories/tags, costs as little as $10/year for 10k posts). NateDhaliwal added that self‑hosting a model via Ollama is an option. read more

#feature

  • Can I force English for unsupported languages?Jagster, running a Finnish forum, wanted to serve English to visitors whose browser locale is unsupported instead of forcing Finnish. Falco replied that a fallback‑locale feature doesn’t exist yet. Nat suggested setting the default locale to English, since the content‑localisation setting uses the default locale as fallback. read more

Activity by the Team Group

Members of the Discourse team were active across many threads yesterday. Here’s a summary of their contributions:


Yesterday’s deep dive into plugin installation reminded us that even small plugins deserve a GitHub home, but the real community building happens when we help each other out – even if it means convincing someone to use version control.

Today on meta.discourse.org


Key Stats

  • Total new posts: 141
  • Total new topics: 40

Top users by likes & posts (last 24h):

User Likes Received Posts Made
RGJ 29 6
Moin 21 8
Falco 17 7
Awesomerobot 17 6
Nat 14 9
Merefield 14 6
Chapoi 13 6
Willy 9 13
Davidb 9 2
NateDhaliwal 8 5

Interesting Topics

#Self-hosting

  • Installing plugins without third‑party hostsWilly asked how to deploy plugins without relying on GitHub, sparking a long thread where RGJ, Merefield, and Awesomerobot explained why version control is the pragmatic way and suggested theme components as an alternative for very small customisations. read more

  • Disabling Discourse updatesWilly believed his forum was updating without permission; Falco clarified that ./launcher rebuild app triggers updates, and Moin showed how to pin a specific commit or the ESR branch using the version parameter in app.yml. read more

  • Bug: visitors can’t access forum indexMiednr reported that setting categories as the first entry in top menu redirects anonymous visitors to the login page. After troubleshooting with Zogstrip and Nat, the issue was traced to OpenID Connect settings; deactivating it solved the problem for now. read more

ux

  • “New Topic” button not responsive when resizingRGJ demonstrated that the button’s text doesn’t adapt when the window is resized between desktop and mobile views. Awesomerobot confirmed the bug and provided a quick fix in a PR. read more

  • Cut‑off “Dismiss ⌄” buttonTed noted that the dismiss button in the sidebar is partially hidden. Chapoi explained it’s an intended design effect that may have broken due to modernisation changes and will be looked at. read more

  • Conversation mode (treeview)Dituar linked to the ongoing testing of nested replies. read more

Support

  • Ask Discourse moins performantGilles reported that Ask Discourse has become less accurate since the switch to a locally hosted DeepSeek model. Nat and Falco explained the change was made for faster, documentation‑grounded answers; for development, they recommended using dv (Discourse Vibe). read more

  • Nested replies broken?Paul_King had issues where posts disappeared when nested replies were enabled. After updating and removing an old import template from app.yml, the problem was resolved. read more

  • View counter for each postWall‑E requested a per‑post view counter. NateDhaliwal pointed to an existing (broken) theme component. read more

#Feature

  • Configure video upload destinationPrempavee wanted to use Mux or a similar provider instead of storing videos on their Pro plan. Moin and Arkshine discussed the Vimeo/YouTube upload theme component; Arkshine is working on a plugin version but noted it won’t be available on managed hosting. read more

  • Force English for unsupported languagesJagster asked how to serve English to visitors whose browser locale isn’t supported, while keeping the site’s default as Finnish. Falco and Nat explained the current limitation and suggested setting the default locale to English. read more

  • Multi‑language preferencesAwesomerobot proposed replacing the existing “Show original content” setting with a more granular choice system for translation exclusions. Nat agreed the idea could be implemented in July. read more

bug

  • Boosts in reviewables link to topics, not postsSmall‑lovely‑cat reported and fixed a bug where Boost reviews pointed to the topic instead of the specific post. Nat confirmed the PR was merged. read more

  • Events from unlisted topics show on calendarRGJ found that unlisting a topic still leaves its event visible on the calendar. Zogstrip provided a fix. read more

  • All‑day event iCal bugAnton_Akhmerov patched a long‑standing issue where all‑day events included times in the iCal export. Nathank merged the fix after Zogstrip’s PR. read more

#Announcements

  • New Reactions Popup in ChatDavidb announced an experimental reactions popup that shows all users who reacted to a chat message. It can be enabled via /admin/config/upcoming-changes. read more

#Data & reporting

  • AI Translation Progress GraphLotusJeff shared Data Explorer SQL queries to track translation status (eligible, translated, to‑be‑translated). Nat thanked them and promised improvements soon. read more

#Plugin

  • Discourse Shared EditsSatonotdead asked about showing all authors when Shared Edits is enabled. Sam noted that the TODO item to allow non‑TL4 members to toggle the feature has been completed. read more

Activity by the Team Group

Only Discourse team members are listed below.


Yesterday’s heated debate on plugin installation without GitHub proves that even in forums, there’s no escape from version control — but we love you anyway, Willy.

Today on meta.discourse.org

A bustling 24 hours on Meta saw 133 new posts across 41 topics, with 189 likes shared. The community engaged deeply on hosting, AI, moderation, and platform development.


Key Stats

  • Total new posts: 133
  • Total new topics: 41

Top contributors (by likes & posts):

User Likes Posts
Moin 31 13
Falco 28 10
Davidb 13 3
Rishabh 12 2
Mcwumbly 9 10
Nat 8 6
Robbie.Morrison 8 3
Chapoi 6 5
Arkshine 6 4
NateDhaliwal 6 4

Interesting Topics

#self-hosting

Community Building

  • Robbie.Morrison shared a deeply personal experience with forums that forbid AI content. He described being wrongly accused of using AI on Wikipedia and documented the “reverse burden of proof” that accused editors face. RGJ linked to articles about AI‑detector bias against non‑native English speakers. One1 pointed to the AskHistorians subreddit’s strict yet more procedural AI policy. Chapoi lamented that their habit of using em‑dashes now makes them look like a bot. read more

Support

#announcements

  • Rishabh published the Current Projects – June 2026 newsletter, detailing recently finished work (GIFs moving to core, unified new topic list, nested replies, new layout/blocks system) and ongoing work (reporting improvements, events plugin upgrades, Free plan enhancements, and a new Workflows system). NateDhaliwal asked for developer documentation on the blocks API; Chapoi said it will come once the system stabilises. read more

  • Davidb announced the new reactions popup in chat. Hovering a reaction shows the list of users; multiple reactions trigger a filter menu. The feature is experimental and can be enabled via the “Upcoming changes” admin page. read more

  • Awesomerobot announced that livestream is now an optional toggle on event creation, replacing the need to tag topics livestream. livestream_enabled and livestream_chat_allowed_groups settings are deprecated; existing topics are migrated automatically. read more

#feature

  • Prempavee requested the ability to configure where videos are uploaded (e.g., Mux instead of local storage) on the Pro plan. Moin pointed to a theme component for YouTube/Vimeo upload; Arkshine explained the Vimeo partner limitations and offered to create a plugin version when possible. Mcwumbly noted that extra storage can be purchased on the Pro plan, but the custom Mux integration is not planned for lower tiers. read more

  • Moin raised a strong case for restoring the per‑topic language toggle in the translation feature. He explained that the new per‑post toggle requires many clicks and that the old timeline toggle was more discoverable. Awesomerobot acknowledged the feedback and said they could reconsider the design. read more

bug

development

ux

#site-feedback

  • Mcwumbly opened a meta‑discussion on whether the #contribute:feature category should be split, as it currently serves both open‑ended product discussion and individual feature proposals. He gave the example of a long‑running debate on threaded discussion that feels uncomfortable to close as “done.” read more

Activity by the Team Group

Team members were highly active across many threads. Here’s a summary of their contributions:


Fun fact from yesterday’s activity: The em‑dash ( — ) is now so closely associated with AI writing that veteran forum user Chapoi is considering giving up their favourite punctuation mark — lest they be mistaken for a bot. :robot::broken_heart:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community created 43 new topics and 91 new posts, generating 160 likes. The most active users by likes and posts were:

User Likes Posts
Moin 21 12
Falco 19 6
Mcwumbly 15 10
Rishabh 14 1
Awesomerobot 12 4
Nicolsdennis 9 5
Pfaffman 9 2
Robbie.Morrison 8 3
Markvanlan 7 2
RGJ 7 1

Interesting Topics

#Community Building

#Announcements

  • Current Projects – June 2026Rishabh published the monthly newsletter, highlighting the move of the GIFs component into core, the unified new topic list, nested replies (experimental), a new blocks system for themes, and upcoming work on reporting, events, and workflows. Chapoi noted that developer documentation for the blocks API is pending stabilisation. [read more]

  • Introducing nested replies – The conversation continued on default settings: Markvanlan merged a commit that caps nesting depth at 3 (down from 10). Mcwumbly suggested making these settings per‑category, which Markvanlan agreed would be the eventual reality, though a way to backfill existing topics is still needed. [read more]

  • Livestream is now an optional toggle on event creationAwesomerobot announced that livestream is now an attribute directly on the event, removing the need for a livestream tag. Existing topics will be migrated automatically. Developers can check topic.has_livestream and use the new CSS class body.livestream-topic. [read more]

  • Inline integration of AI Suggestions (in Composer)Falco reported a tiny icon overlap when editing the topic title directly, alerting Chapoi. [read more]

#Self-hosting

  • Self host Business accountJackieP asked whether the Business plan allows on‑premises hosting. Falco clarified that Discourse is open‑source (GPL v2) and can be self‑hosted without any plan; SSO and gamification are available in the free version. Pfaffman offered paid integration help via the Marketplace. [read more]

  • How to install plugins without using a third‑party host?Pfaffman provided a straightforward answer: use any method to copy source code into the discourse/plugins directory – git clone, rsync, or cp -a. He lamented that the thread had not been as supportive as it could have been. [read more]

#Feature

  • Multi‑language preferences for displaying localized contentMoin detailed why the removal of the whole‑topic translation toggle is frustrating: toggling 10 posts now takes 10 clicks instead of one, and the new per‑post toggle changes behavior when you click. He also noticed that translated titles lack a toggle, and switching interface language via the dropdown resets the “show original” preference. Awesomerobot acknowledged the need for a better design. [read more]

  • Ability to configure where videos uploadedMcwumbly mentioned existing Mux integrations but said no lower‑plan availability is planned. Arkshine built a custom Cloudflare Worker solution that handles auth and uploads directly to CF Stream or Mux, demonstrating it with a video. [read more]

#Site feedback

Support

  • Can’t get the AI plugin enabledOndrej accidentally disabled the AI plugin and couldn’t re‑enable it. Keegan acknowledged a bug in the disabled state and explained that on free tier sites the AI plugin is mandatory (for spam detection), though individual AI features can be turned off. [read more]

ux

  • Topic edit interface shows overlapping iconsMoin spotted the angle‑down and sparkles icons overlapping when editing topic information. Falco had already flagged this in the composer thread. [read more]

  • Always show recent drafts first in the new topic dropdownMoin requested that drafts be sorted by last update (as in the activity list) rather than in a seemingly random order after a reload. [read more]

bug

  • Diff between revisions no longer visible when there is a hidden revision in betweenMoin reported that hidden revisions now break the diff view, showing nothing instead of the combined diff that was previously displayed. Examples from several Meta topics were provided. [read more]

#Site Management


Activity by the Team Group

Staff members were active across many discussions. Here’s what the team contributed:


Sign‑off: Yesterday’s activity was so lively that even the AI plugin couldn’t decide whether to summarize it or join the debate about its own existence – and someone almost lost their em‑dash in the crossfire.

Today on meta.discourse.org

Key Stats

Over the past 24 hours, 53 new posts were created across 29 topics, accumulating 45 likes. The community was buzzing with activity, especially around the native mobile app and moderation guides.

User Posts Likes
Nicolsdennis 7 9
Moin 3 6
MarkDoerr 2 5
Falco 2 4
Ed_S 1 4
Arkshine 1 2
LarisaHaster 1 2
Ondrej 1 2
Bartv 3 1
Chapoi 3 1

Interesting Topics

Grouped by category, a maximum of 15 topics highlighted.

General

  • Nicolsdennis showcased a native mobile iOS+Android client app for Discourse, including a new “Tablet Mode” that splits the feed pane like a drawer, and demonstrated support for translated posts and post navigator. The app is already in beta for Android. Read more about the Sysaru app.

bug

  • Moin reported that &rsquo; is displayed instead of ' in popular topic titles on the oops page (e.g., /oops). Lilly noted a potential related funny display. Read more.

  • @ばこん discovered that HTML comments are also included in AI summaries, which can reveal hidden text. Falco marked the issue as #wontfix, suggesting users modify the summary agent prompt to ignore comments. Read more.

  • Ililaoban reported a regression on /u/:username/activity pages where scrolling down, opening a post, and using the browser Back button fails to restore scroll position, contrary to the 3.0 release notes. Read more.

  • Nicolsdennis identified a bug in the nested replies view (/n/): deleted-post placeholders pad pages even when those posts have no visible replies, causing blank “removed” rows for non-staff users. He suggested a fix in NestedReplies::TreeLoader. Read more.

  • Seanblue found that right-clicking in the composer can interact with images behind it if the composer is overlaid on a post with an image. Reproduced on Meta with Chrome. Read more.

#Self-hosting

  • Ed_S emphasized that the correct way to install plugins without a third-party host is to copy source code directly into the discourse/plugins directory, respecting the original question and promoting a supportive community. Read more.

Support

  • Firedragon struggled with a missing Starter upgrade option on a hosted plan. Chapoi and Ondrej guided him to check the admin/manage-account/plans section, but the option appears absent; the team is expected to reply on Monday. Read more.

  • Darkpixlz faced Discourse embed URL configuration issues when trying to embed posts on a blog. Falco clarified the distinction between discourseUrl (forum address) and discourseEmbedUrl (page address). Further ghost topics were created due to a missing blog URL. Read more.

#Site Management

  • MarkDoerr published Discourse Moderation Guide - Part 2: Managing Users, covering user profiles, trust levels, and handling difficult users via official warnings, silencing, and suspensions. Read the guide.

  • MarkDoerr also released Part 3: Managing Content, detailing topic management, flags, review queue, and content approval, including de-escalation techniques and slow mode. Read the guide.

#Feature

  • Arkshine shared progress on an ability to configure where videos are uploaded, demonstrating a Cloudflare Worker broker that authenticates via Discourse SSO and creates upload URLs for CF Stream or Mux. Watch the demo.

#Plugin

  • Bartv and Moin discussed Discourse Reactions – feedback included a scrollable emoji bar lacking visual hints, wish for custom emojis to appear at the top, and “Frequently Used” emojis being browser-stored. Read more.

#Announcements

  • Noble_Fish and EricGT contributed to the solved improvements feature discussion, suggesting that a “Me too” button should show who clicked it and that user confirmations could merge related issues into a single thread. Read more.

#Site feedback

  • Moin spotted broken avatars in quotes within translated posts – the images are replaced by broken icons in German and other translations. Read more.

Activity by the Team Group

The Team group was active in several discussions:

  • Falco participated in two topics:

    • Marked the HTML comments in AI summaries issue as #wontfix and provided guidance. See post.
    • Clarified embed URL configuration for Darkpixlz. See post.
  • Chapoi assisted Firedragon with the missing Starter upgrade option, checking the manage account section and directing to plans page. See posts and later post.

  • Ondrej confirmed the plans page redirects back for Firedragon, supporting the troubleshooting. See post.

  • Tobiaseigen raised issues about Bootstrap mode being legacy, noting that new users at TL0 cannot access PMs and that his own meta posts were flagged due to TL0 restrictions. See post and suggested workaround.


:paw_prints: Yesterday the community was so deep in moderation guides that even a wooden puppet would have learned to silence spam – but instead, they built a mobile app that translates Hungarian into tablet mode. :performing_arts:

Today on meta.discourse.org

A thorough look at the last 24 hours of conversation, collaboration, and community problem-solving on Meta.


Key Stats

Over the past day, the community generated 74 new posts across 30 new topics, with a total of 83 likes given. The ten most active contributors (by likes and posts) were:


Interesting Topics

Topics are grouped by category; each bullet summarises the key discussion in prose and includes a direct link.

bug

#Self-hosting

#Feature

  • Falco marked as #wontfix the behaviour where AI summaries include content from HTML comments, noting that pre‑processing overhead outweighs the benefit—though site admins can tweak the summary agent prompt to ignore them. See the decision.

Support

#Site feedback

  • Moin noticed that avatars in quotes are broken only in the translated version of posts—the raw bucket URL bypasses the CDN again. The example topic shows the issue across multiple languages. View the broken avatars.

#Plugin

#Announcements

  • NiceOldGuy shared a collection of historical resources on Discourse’s flat model, including Jeff Atwood’s canonical blog post and a 2017 topic on terminology. The nested‑replies announcement continues to generate conversation about trade‑offs vs. infinite scrolling.

  • Martin discussed the unified new view with Moin, noting that marking a topic as unread bumps it to the top in the “All” subtab—a behaviour inherited from the old Unread list. Sam commented that this seems fine for users who depend on it. Read the exchange.

  • Mcwumbly updated the Upcoming Changes announcement, clarifying that for self‑hosters, beta features are currently held until stable before auto‑enabling, and proposed changing that setting to align with the documentation. View the update.

ux

  • Seanblue discovered that right‑clicking inside the composer (even on the textarea) can trigger actions on an image behind the composer because the image’s context menu bleeds through. Chapoi reproduced the bug on the composer container but not the textarea, and marked it #wontfix as low impact. Seanblue later clarified it depends on the editor (RTE vs. Markdown). Report the quirk.

  • Chapoi acknowledged a longstanding issue where the AI title suggest icon is placed above the title input field due to absolute positioning, and promised to fix it when time allows.


Activity by the Team Group

Team members were active across many topics yesterday. Here is a summary of their contributions:

(Only team members who authored or replied in the last 24 hours are listed above.)


Yesterday’s activity reminds us that even the most seasoned Discourse users can be tripped up by a misplaced right‑click, a missing plan upgrade, or a full page of deleted comment placeholders—what a wild ride!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 86 new posts and 41 new topics, receiving 122 likes in total. The most active contributors were:

Interesting Topics

#Self-hosting

  • Lilly discovered that custom emojis uploaded via S3 or Cloudflare R2 bypass the CDN routing and load directly from the raw bucket URL. Falco pointed out that the issue may be a misconfiguration of the two‑CDN setup, and after further testing Lilly confirmed it was a typo in her Cloudflare DNS record. A PR and a theme component were provided as interim solutions. Read more

  • CLOUD_PHT reported that after commit b4a3389, user IP detection broke when Discourse is behind an external nginx. Lilly recommended switching to a Unix socket, while Supermathie wrote a detailed guide on configuring real_ip_header and set_real_ip_from directives inside the container. Read more

  • Supermathie published a comprehensive how‑to for handling the “chain of trust” of the end user’s real IP when multiple proxies (Cloudflare, load balancers) sit in front of Discourse. The guide explains the new predictable file‑naming convention for nginx outlets. Read more

  • Willy shared a working method to install local plugins without a third‑party host by mounting a host directory and copying it into the Discourse plugins folder during the after_code hook. Pfaffman and Nicolsdennis discussed alternatives like symlinks and handling database migrations. Read more

#Announcements

  • Sam announced cost‑based quotas for Discourse AI, allowing admins to set a maximum dollar spend per group instead of just token limits. This integrates directly with the existing LLM usage quota system. Read more

  • Loic published the June 2026 monthly release (v2026.6) along with patch releases for older supported versions. The full changelog is available on releases.discourse.org. Read more

  • Mcwumbly and Moin discussed the Upcoming Changes system: how beta changes are enabled, sorting by status, and the default behavior for self‑hosted sites. Mcwumbly clarified that currently, self‑hosters only see changes promoted to stable. Read more

  • Martin announced that Discourse Reactions will be enabled by default for all sites via an upcoming change. Pfaffman suggested adding a note to the main Reactions plugin topic, which Martin did. Read more

  • Chapoi discussed the inline integration of AI Suggestions in the composer, noting that the UI should be consistent across different contexts (composer, chat, etc.). Feedback from Falco and Nicolsdennis followed. Read more

bug

  • Nicolsdennis reported that in the nested replies view (/n/), deleted posts with no descendants still show placeholders, inflating page counts. Markvanlan acknowledged the issue and plans to either skip them or move them to the end. Falco suggested alternative sorting. Read more

  • Tannerabread fixed a long‑standing bug where spoilers inside <details> elements did not toggle. The fix has been merged and should be available soon. Read more

General

  • Overgrow asked whether AI translations + crawler indexing actually pay off in SEO terms. Nat shared an experience blog post and warned about a small issue (needing to enable set locale from param) that will be fixed this week. Read more

Support

  • Singi2016cn wanted to redirect the homepage (/) to a custom route (/home). Chapoi recommended using the custom_homepage modifier and the Block System (or a connector), which is the modern approach. NateDhaliwal added that users must set their default home page to (default) in preferences. Read more

#Plugin

  • Martin gathered user feedback on the Discourse Reactions plugin and discussed possible improvements: allowing one‑click “join in” reactions, placing custom emojis at the top, making frequently used emojis more accessible, and storing recent emojis server‑side instead of browser local storage. Read more

#Feature

  • Overgrow revived a request to limit topic translation to specific categories with an allow‑list, arguing that an exclude‑only model can lead to unintended translation costs. Pmusaraj noted that most communities benefit from translating all public content, but is curious about how common the scoped use case is. Read more

Activity by the Team Group


Yesterday proved that even the most seasoned admins can have a typo in their CDN config, but the community is always ready to help sniff out the problem – and sometimes even fix it with a PCIe dog treat! :paw_prints:

Today on meta.discourse.org

Key Stats

In the last 24 hours, 123 new posts were created across 52 new topics, accumulating 178 total likes. The most active contributors by likes were:

Interesting Topics

#Announcements

  • Cost‑based quotas for Discourse AISam unveiled the ability to manage AI spending by estimated dollar cost. Admins can now set a budget per group, and the system will attempt to stay within that limit regardless of provider. read more

  • Modernizing the Foundation themeMoin flagged a regression where the language dropdown icon became oversized. Awesomerobot identified the cause (a missing wrapper) and submitted a fix. read more

  • Admin Reporting & Analysis: Incremental changesMoin reported that empty rows in dashboard reports appeared too large, making the layout harder to scan. Tgxworld investigated and the display was subsequently improved. read more

  • GIFs are moving to Discourse core!One1 was confused by the “Upcoming Changes” wording regarding the GIF button. Mcwumbly and Davidb clarified that the setting will remain visible and configurable after the migration. read more

  • June 2026 monthly releaseLoic announced the v2026.6.0 changelog along with patch releases for v2026.1.5, v2026.4.2, and v2026.5.1. read more

  • Introducing Upcoming ChangesMoin discussed the transition of feature flags from beta to stable, asking about the impact on theme components. Mcwumbly acknowledged the concern and noted a PR to shift the default to stable. read more

General

  • AI translations + crawler indexing – any SEO payoff?Overgrow shared a detailed query about turning on AI translation for multilingual SEO. Nat pointed to a blog post covering the experience and fixed a “footgun” where set locale from param was needed. Eisammy contributed real‑world data from a large Portuguese forum. read more

  • Discourse Comments on Astro StarlightPhilh showcased a seamless integration of Discourse comments into an Astro Starlight documentation site. NateDhaliwal praised the clean embedding and noted that mermaid diagrams work perfectly. read more

#Self-hosting

  • Custom Emojis loaded from S3/R2 bypass CDN routingLilly and Falco debugged an issue where custom emojis were ignoring the DISCOURSE_CDN_URL. After tracing through a typo and a missing rebuild, Lilly re‑opened a PR that fixes the routing for Cloudflare R2. read more

  • How to install plugins without using a third‑party hostWilly shared a complete app.yml configuration snippet that mounts local plugins via a bind mount and copies them during the after_code hook. Pfaffman suggested symlinks as an alternative. read more

#Plugin

  • Resenha – Add Discord‑style Voice Rooms to Your CommunityItsbhanusharma reported a compatibility failure on ESR instances. Falco explained that experimental plugins are not guaranteed to work on stable releases. Mcwumbly described a fun voice chat session using the plugin on Meta. read more

#Migration

  • Telligent to Discourse Migration – User Account Migration?Siamak‑oi asked about migrating user accounts from Telligent. Italo noted that Discourse does not have built‑in Telligent tooling, but community consultants are available. Cocococosti confirmed that user accounts, content, and statistics can be preserved, though passwords must be reset. read more

Support

  • Confused about security fixes as reported at releases.discourse.orgEd_S noticed that version comparisons seemed to count the same security fixes repeatedly. Awesomerobot acknowledged that the changelog currently compares forward without excluding already‑backported fixes, and asked David if the logic could be improved. read more

#Feature

  • Limit topic translation to specific categoriesOvergrow advocated for an allow‑list model for AI translation categories to control costs. Pmusaraj was curious how common this use case is and noted that most communities benefit from translating everything. read more

  • HTML comments are also summarized by AIEd_S raised a security concern that malicious text hidden in HTML comments could influence AI summaries without visible trace. Falco explained that LLM prompt structure mitigates this but acknowledged the risk with smaller models. read more

Activity by the Team Group

Team members were active across many discussions:

  • Sam introduced cost‑based quotas for Discourse AI and engaged in the initial announcement with technical details.

  • Nat provided extensive guidance on AI translation SEO and quickly fixed the “footgun” related to locale parameters in two posts.

  • Awesomerobot tackled multiple fixes: a missing wrapper in the Foundation theme (PR #41348), a visual overflow in the tag selection modal (PR #41349), the OP of warnings not highlighted with Staff Color (PR #41293), and a modernization pass of the Post Views Counter component (PR #1).

  • Mcwumbly participated in GIFs moving to core, the Introducing Upcoming Changes thread, and the docked composer for AI bot conversations. He also responded to feedback about multi‑language preferences, suggesting an “all topic” button for showing original language.

  • Davidb confirmed the GIF setting will remain configurable after the move to core.

  • Zogstrip fixed the theme‑creator.io 500 error and a bug in upcoming changes toggling (PR #41344).

  • Loic announced the June 2026 monthly release and its patches.

  • Pmusaraj discussed the feature request to limit topic translation categories and offered insights on common usage.

  • Falco was heavily involved in the Custom Emojis CDN issue, the Resenha ESR compatibility discussion, and the HTML comments AI summary security topic.

  • Tgxworld investigated admin reporting layout feedback from Moin and resolved the display issue.

  • Cocococosti provided migration advice for Telligent to Discourse, confirming user data and account preservation.


As the emojis get ready to move into core, remember: yesterday’s voice chats might be the only place you’ll hear laughter – but today, the code keeps marching on! :rocket:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 166 new posts across 58 new topics, with a total of 242 likes given.

Top users by activity:


Interesting Topics

#Self-hosting

  • Error running remap after changing site urlTobiaseigen attempted to change their domain name and hit a PostgreSQL constraint collision in the browser_pageview_referrer_daily_rollups table. Lilly provided step-by-step SQL to delete conflicting records, and after several rounds of manual database cleanup, the remap finally completed successfully. read more

  • Avatars take a long time to load after moving to S3-compatible R2David_Ghost tested four different storage+CDN configurations and found slow avatar loading in all of them. Pfaffman and Lilly suggested that the issue is likely avatar generation on first request, and recommended letting the rake avatars:refresh task run fully and then giving the cache time to build. read more

Support

  • Confused about security fixes as reported at releases.discourse.orgEd_S noticed that version comparisons showed redundant security fixes. Awesomerobot and David traced the problem to the release site’s comparison logic; David then submitted a fix on GitHub to exclude already-backported patches from cross-release counts. read more

  • Ocultar menú flotanteLaguna asked how to hide the floating category/tag drop‑down on a Graceful Theme. NateDhaliwal suggested a CSS solution, and Lilly pointed to the #custom-top-navigation-links theme component that includes a dedicated “Hide category and tag dropdowns” setting. read more

  • Self Hosted Forum Log In IssuesApiento reported being repeatedly logged out of his forum. Itsbhanusharma suspected a misconfigured Cloudflare proxy and suggested checking Cloudflare’s orange cloud and the real‑IP chain‑of‑trust guides. read more

#Feature

  • Accept paste input during installationPhilh noted that the new installer does not allow pasting (e.g., API keys). Moin encouraged voting on the existing feature request, and Falco quickly implemented a fix that will be included in the next installer image. read more

#Announcements

  • Review and suspend accounts which are not yet activatedMcwumbly announced a new Admin > Users filter for unactivated accounts, plus bulk suspend actions. This helps moderators handle spam waves before accounts can post. read more

  • GIFs are moving to Discourse core! – In the ongoing discussion, One1 was confused by the “permanent” warning in the Upcoming Changes area. Davidb confirmed that the GIF setting will remain configurable, and the team discussed improving the wording of these notifications. read more

  • Modernizing the Foundation themeMoin flagged a regression where the language dropdown icon became oversized. Awesomerobot identified the cause (a missing wrapper) and submitted a fix. read more

  • Introducing the unified new view for the topic listMartin and Pmusaraj discussed adjusting DiscourseHub to show a single “New” count instead of separate Topics/Replies. Moin argued for the old distinction, but the team is leaning toward simplicity. read more

  • June 2026 monthly releaseElmuerte spotted that some CVE references in the release notes pointed to unrelated vulnerabilities. Loic confirmed it was a copy‑paste error; the correct Discourse CVEs are still being assigned. read more

  • Admin Reporting & Analysis: Incremental ChangesMoin reported that empty rows in the dashboard reports became oversized. Tgxworld investigated and the spacing was corrected in a later commit. read more

  • Introducing Upcoming Changes, a system to manage new featuresMoin and Martin debated whether “stable” should be skipped for self‑hosters. Tgxworld fixed a mistake where a change was removed prematurely. read more

  • Solved improvements: Allowing members to indicate they’re experiencing a reported issueNateDhaliwal suggested that solved indicators should be hidden in deleted topics. Awesomerobot agreed and improved the logic. read more

  • Introducing simple mode for Discourse Doc CategoriesMoin noted that the post-composer issue with simple mode was fixed, making the feature more usable. read more

  • Self-Hosting Discourse Just Got a Whole Lot EasierUnicom asked whether a temporary Discourse‑provided domain could be used while deciding on a permanent domain. Chapoi confirmed it’s possible to switch later using the domain‑change guide. read more

#Plugin

  • Resenha – Add Discord-style Voice Rooms to Your CommunityItsbhanusharma reported a compatibility issue with ESR Discourse. Falco explained that experimental plugins aren’t expected to work on ESR, and Mcwumbly shared a positive experience using the voice rooms during an internal chat. read more

#Migration

  • Telligent to Discourse Migration – User Account Migration?Siamak-Oi asked about user account handling. Cocococosti (Discourse team) confirmed that accounts are migrated with content and stats, and users reset passwords on first login. He offered to move the conversation to a private channel. read more

General

  • AI translations + crawler indexing = any SEO payoff?Eisammy shared real‑world experience translating a Portuguese community, noting no clear SEO gains yet. Nat fixed a footgun in the translation settings. read more

ux

  • Nested mouseover notes can be entered but not shownDreieck reported that nested footnotes appear to work but the inner note is unreachable. Chapoi decided to strip nested footnotes in PR 41325, arguing that nesting is bad UX. read more

  • The prompt message when upcoming changes are officially added is not clear enoughNoble_Fish was confused by the “automatically enabled” notification that didn’t link to a toggle. Moin added context about skipped stability stages. read more

bug

  • Custom Emojis loaded from S3/R2 bypass CDN routingLilly investigated and found that custom emojis weren’t using the CDN URL. Her PR wrapping URL assignments in Discourse.store.cdn_url() was merged, fixing the issue for R2 users. read more

  • Bulk tag edits not creating new revisionMoin asked for a workaround to avoid incorrect edit histories when bulk‑editing tags. read more

  • Diff between revisions no longer visible when there is a hidden revision in betweenMoin and Zogstrip discussed a fix that shows why the diff is hidden, but Moin argued that it doesn’t solve the original need for a diff between public revisions. read more

#Theme component

  • Dismiss Admin Noise!Asa thanked the component author after struggling with excess admin notifications. Mcwumbly suggested that more granular notification controls would be a welcome core improvement. read more

Activity by the Team Group

Team members were busy across many areas:


Yesterday, Tobiaseigen spent the day battling database constraints and emerged victorious – a true Digital Sovereignty warrior! :dragon:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community added 180 new posts across 65 topics, accumulating 262 likes.

Top contributors by likes and posts:

Interesting Topics

#Self-hosting

  • Error running remap after changing site urlTobiaseigen encountered a persistent duplicate key value error when running discourse remap after a domain change. Lilly provided detailed SQL steps to delete conflicting rows in browser_pageview_referrer_daily_rollups and topic_links, eventually leading to a successful remap. The thread also sparked a feature request for a discourse db command. Read more

  • Avatars take a long time to load after moving to S3-compatible R2David_Ghost tested four storage configurations (R2, S3, with/without CDN) and consistently faced slow avatar loading. Pfaffman and Lilly suggested the issue is likely due to avatar generation on first access, not storage choice. Falco pointed to the avatar image serving change as a potential cause. Read more

  • Rebuild failure – possibly related to rolldown?Tanya_Byrne reported a rebuild error after removing a core plugin. David identified the root cause as running rm -rf on a core plugin, which broke the asset processor. He improved the error handling in PR #41415. Merefield asked about safely overriding core plugin templates. Read more

#Feature

  • Accept paste input during installationPhilh noted that the new Discourse installer doesn’t support pasting API keys, making setup tedious. Moin pointed to the existing feature request. Falco quickly made a fix to allow paste input, slated for the next installer build. Read more

  • Configure number of different reactions visible below a postingDreieck requested an admin setting to show more than three reaction types (or all) below a post, as his organization uses reactions for meaningful voting. Lilly suggested a custom plugin, and Dreieck proposed showing a “…” indicator when reactions overflow. Read more

  • Profile spam: Option to delete account and block email but not the IP addressDax announced that PR #41258 has been merged, adding the ability to delete accounts and block email domains without blocking the IP, improving anti-spam precision. Read more

Support

  • Schedule site logo changes?One1 asked if there’s a plugin to auto-change site logos for holidays. Chapoi replied that no plugin exists, but demonstrated how to build a theme component using registerValueTransformer("home-logo-image-url", ...). He even shared a quick prototype. Read more

  • How does discourse handle conflicting watched word actionsM_Terenui asked what happens when the same word is added to multiple watched word lists (e.g., block, flag, censor). Awesomerobot explained that Block takes priority because it prevents post creation; all other actions (flag, approval, silence, censor) can fire independently. Moin noted that words can only belong to one list at a time in the UI (unless using regex). Read more

  • Can’t regenerate Discourse ID credentials after changing domain nameTobiaseigen reported that Discourse ID breaks after a domain change, and the “Regenerate credentials” button fails. Pmusaraj explained that on self-hosted sites there’s no event to trigger automatic credentials refresh, but toggling Discourse ID off/on clears the credentials and creates new ones, resolving the issue. Read more

  • Ocultar menú flotanteLaguna (Spanish) asked how to hide floating category/tag dropdowns. Lilly recommended the Custom Top Navigation Links theme component with specific settings. Laguna confirmed it worked. Read more

#Announcements

  • Review and suspend accounts which are not yet activatedMcwumbly announced a new feature adding an activation filter and bulk suspend action in Admin > Users > New, making it easier to handle waves of suspicious unverified registrations. The feature was merged in PR #41227. Read more

  • June 2026 monthly releaseElmuerte pointed out that the CVE numbers listed in the release notes did not match the actual Discourse security advisories (they pointed to unrelated software). Loic confirmed the CVEs were not yet propagated. The confusion led to a fix in the release generation process. Read more

  • Self-Hosting Discourse Just Got a Whole Lot EasierUnicom asked if they can use a Discourse domain while deciding on their own domain. Chapoi confirmed it’s possible to switch later using the standard domain change guide, and noted the feature is well-received. Read more

ux

  • The prompt message given when upcoming changes are officially added is not clear enoughNoble_Fish reported that when an upcoming change becomes permanent, the notification says “has been automatically enabled” but clicking it navigates to a page where the setting no longer exists. Martin fixed the notification link in PR #41385 and clarified that permanent changes now appear on /admin/whats-new. Read more

bug

  • Nested replies, flagging and staff color has no effectCuo_Wu discovered that in nested reply view, the flag button doesn’t work on the first post, and staff colors/official labels are missing. Pmusaraj could reproduce the staff color issue (flagged as a bug), but not the flagging issue on non-first posts. Cuo_Wu later confirmed flagging fails on the first post only. Read more

#Theme component

  • Post Score – Display engagement metrics on postsDon released a new theme component that shows a weighted engagement score (likes, replies, bookmarks, reads) in the top right of posts. It calculates scores based on multiple signals to provide a “true community impact” metric. Read more

Activity by the Team Group

  • Mcwumbly announced the new unverified account review and bulk suspend feature, merged in core.
  • Falco quickly implemented paste support for the installer, building a fix and pointed to the avatar loading issue discussed here. He also shared a detailed Resenha update with voice room improvements.
  • Chapoi shared a prototype theme component for scheduled logo changes, posted on GitHub, and provided support on watched word actions, quote callouts, and the redesigned admin dashboard.
  • Awesomerobot helped with homepage feature thumbnail cleanup using Rails console code and fixed the Versatile Banner background image issue.
  • Pmusaraj investigated the Discourse ID credential regeneration problem, confirmed a workaround, and addressed nested reply flagging bugs. He also made a PR to improve first-day posting limits for TL1 users.
  • Zogstrip fixed the Daily Summary broken link in PR #41365 and restored the Theme Creator. He also worked on the hidden revision diff issue.
  • David resolved the rebuild failure and improved error handling with PR #41415, and clarified the security fix reporting confusion.
  • Martin fixed the upcoming changes notification link in PR #41385 and updated the OP of the Upcoming Changes topic with permanent change info.
  • Tynaut fixed the composer actions dropdown z-index issue on touch devices, merged in 8.
  • Lindsey confirmed that the Livestream feature is currently topic-only, with no out-of-the-box front-page placement.
  • Tannerabread fixed a NoMethodError after merging topics in PR #41369.
  • Supermathie clarified that the Cloudflare template uses CF-Connecting-IP for trusted proxy configuration.
  • Keegan noted that the docked composer for AI bot conversations was accidentally disabled and has been turned back on.

Fun sign-off: Yesterday’s most upvoted topic wasn’t about a fancy new feature—it was Tobiaseigen getting stuck in a remap loop, proving that even domain changes can lead to an infinite loop of PostgreSQL error messages… and a whole lot of community SQL debugging! :elephant::infinity:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 119 new posts across 61 new topics, with a total of 136 likes spread across the activity.

Top Users by activity and engagement:

User Posts Likes
Don 2 21
Chapoi 7 19
Awesomerobot 7 10
Bartv 6 7
Stephtara 6 6
Pmusaraj 4 6
NateDhaliwal 4 5
Martin 2 5
Moin 6 4
David 3 4

Interesting Topics

Support

  • Schedule site logo changes?One1 asked if there’s a plugin to automatically rotate seasonal logos. Chapoi not only pointed out a value transformer approach but built a full theme component on the spot, read more.

  • Import data into Discourse from wpforoArya_Tavana wants to migrate from wpForo with existing users. Chapoi suggested the Marketplace for paid help or a guide for DIY, read more.

  • Is it possible to unban IP banned by Discourse?Webmaster_Webmaster was locked out of forums.eveonline.com and asked for an IP unban. NateDhaliwal and Awesomerobot stepped in—awesomerobot removed the publicly posted IP and explained no public checker exists to avoid abuse, read more.

  • Rebuild failure – possibly related to rolldown?Merefield’s self‑hosted rebuild broke after removing a core plugin. David fixed the asset‑processor to be more resilient and warned against rm -rf on core plugins, read more.

  • How do I properly configure the AWS SNS topic ARN allowlist?Deenius struggled with a “pending confirmation” subscription. After a few false starts, the correct endpoint turned out to be https://forum.example.com/webhooks/aws, read more.

#Theme component

  • Post Score – Display engagement metrics on postsDon released a new theme component that shows a weighted engagement score based on likes, replies, bookmarks, reads, and incoming links – all without inflating view counts, read more.

  • YouTube PiP & Topic Playlist Player – Another gem from Don: a header‑docked player that automatically queues all YouTube videos in a topic, with a progress ring and jump‑to‑post shortcut, read more.

  • Homepage FeatureBartv reported old thumbnails not being cleaned up and asked for a sort‑by‑tagging‑date option. Awesomerobot provided a console script to delete extra thumbnails and noted that sorting by tag‑addition time isn’t possible (workaround: manually edit timestamps), read more.

  • Quote CalloutsStephtara initially couldn’t get the component to work, but Arkshine spotted it was already rendering – likely a caching or JS error on stephtara’s end, read more.

  • Versatile BannerAwesomerobot fixed a long‑standing link to an Imgur image (1.5 million views!) by migrating the default background image into the theme itself and adding optional upload settings, read more.

#Announcements

  • A preview of the redesigned admin dashboardBartv fed back that the dashboard loads slowly even on short date ranges, and wished for graph views for pinned Data Explorer queries. Chapoi acknowledged the performance issues and confirmed graph toggles are on the roadmap, read more.

  • GIFs are moving to Discourse core!Lilly was confused about Klipy versus Giphy, but Moin helped her realise she had to uninstall the old GIF component first. The upcoming change was hidden while the component was active, causing missed migration prompts, read more.

  • Introducing a new “Post Type” Composer actions dropdownTynaut fixed a z‑index issue on touch‑screen devices after Moin reported the dropdown being hidden behind the composer header. The fix is now merged, read more.

bug

  • Nested replies, flagging and staff color has no effectCuo_Wu reported that flagging doesn’t work on the first post of a nested reply thread, and staff colours aren’t applied. Pmusaraj confirmed the staff colour issue and noted the flagging bug only affects the OP, read more.

ux

  • The prompt message given when upcoming changes are officially added is not clear enoughMoin pointed out that “Permanent” changes don’t appear on the upcoming changes page. Martin fixed a notification link bug and added documentation that permanent changes live on /admin/whats-new, read more.

Activity by the Team Group

The Discourse team was highly active across many discussions. Here’s a summary of their contributions:


Yesterday, Chapoi single‑handedly built a scheduled logo changer in record time – next stop: world domination via holiday logos!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 55 new posts across 34 new topics, accumulating 32 likes.

Top Posters & Liked Users

User Posts Likes
Moin 6 5
Falco 4 4
Lilly 3 3
NateDhaliwal 3 3
Nicolsdennis 5 2
Boubou 2 2
Noble_Fish 2 2
Ethsim2 1 2
Miednr 3 1
42aross 2 1

Interesting Topics

#Self-hosting

  • Boubou sought to modify the Nginx configuration inside his Discourse Docker container to pass real client IPs from HAProxy. Ethsim2 provided a detailed walkthrough explaining the difference between X-Forwarded-For and the PROXY protocol, and how to persist changes in app.yml. Boubou later confirmed success by disabling Let’s Encrypt and using set_real_ip_from with the HAProxy IP. read more

  • Dannii reported frequent 502 and 503 errors on his self‑hosted forum (intfiction.org), with high CPU usage from unicorn workers and net-smtp timeouts in the logs. NateDhaliwal suggested upping the RAM, while Dannii noted spikes from email spam and daily backups. read more

  • Miednr experienced a visitor access bug where guests could not reach the forum index. Lilly wondered if a WordPress SSO plugin issue was related, but the problem resolved itself after a while. read more

  • David_Ghost continued to struggle with slow avatar loading after migrating to Cloudflare R2 (S3‑compatible). A 504 error in /admin/users suggests possible rate limiting. read more

  • Dannii also asked how to configure 5 after updating to version 2026.1.5, as a site advice appeared about SNS bounce notifications but no documentation was found. read more

  • LaugeSvan encountered an SSL certificate error during their first Discourse installation – PEM_read_bio_X509_AUX() failed – likely due to hitting Let’s Encrypt rate limits after repeated rebuilds. NateDhaliwal pointed to existing troubleshooting threads. read more

#Plugin

#Announcements

Support

#Feature

bug

ux

wordpress

  • Miednr struggled with WP Discourse SSO not synchronizing local avatars from the Advanced Site Enhancements plugin. The wpdc_sso_avatar_url filter did not help; they are seeking the current correct hook for avatar sync. read more

#Integrations


Activity by the Team Group

  • Moin was highly active, helping Lilly troubleshoot the GIFs‑to‑core migration by explaining that the GIF theme component hides the core setting – requiring uninstall/disable/reinstall steps (#404829). He also expressed the need for subcategory visibility in the new Doc Categories simple mode (#403366), pointed Andro to the email template editors for respond_instructions (#406810), and reported the hidden profile date display bug in the team group list (#406816). Additionally, he commented on the Post Type composer actions dropdown (#403635) and asked about the “Permanent” filter on the upcoming changes page (#402433).

  • Falco provided in‑depth responses on the Resenha plugin, explaining current popup and full‑page view options while clarifying no direct Events hook exists yet (#389056). He also assisted a user with AI API logging – advising to check the ai_api_audit_logs table to debug a 500 error when querying the Qwen model (#406799), and confirmed that Discourse does call AI APIs in the background for features like backfill, embeddings, and sentiment (#406836).

  • Lilly contributed to the visitor access bug discussion, suggesting a possible SSO plugin conflict (#406106). She also shared her own GIF configuration workaround after receiving help from Moin (#404829).

  • NateDhaliwal offered practical advice on upping RAM to resolve 502/503 errors (#406849), recommended existing threads for SSL certificate rate‑limit issues (#406822), and encouraged a theme component author to include settings in the topic (#406779).


Yesterday’s activity proves that even when the GIFs are migrating and the Nginx configs are doing backflips, the meta community is always ready to help – with a virtual high‑five (and maybe an actual one over Resenha voice rooms). :headphone:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 97 new posts across 36 new topics, with a total of 92 likes received.

Top Users by Posts and Likes

User Posts Likes
Chapoi 9 18
Gilles 2 10
Ed_S 4 5
Falco 4 5
NateDhaliwal 3 5
Nicolsdennis 6 4
Martin 5 4
David 4 4
Darkpixlz 3 4
Moin 3 4

Interesting Topics

Grouped by category — each bullet links to the discussion.

#Feature

Support

General

#Theme component

#Community Building

#Self-hosting

#Announcements

ux

bug


Activity by the Team Group

Members of the Team group were active across many of yesterday’s discussions:


With a shiny new Mac app, automated logo schedules, and a clearer future for group permissions, yesterday’s activity proves that the Discourse community never sleeps — unless, of course, you schedule your logo to change for the night time!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 117 new posts across 40 new topics, receiving 125 likes from engaged members. Here are the top contributors by likes and posts:

User Likes Received Posts Made
Chapoi 22 9
Moin 12 4
Lindsey 11 2
Falco 9 7
Nicolsdennis 5 7
Martin 5 6
NateDhaliwal 5 3
Small-Lovely-Cat 5 3
Merefield 5 2
Awesomerobot 4 5

Interesting Topics

We’ve grouped discussions by category — here are the most noteworthy conversations from the past day:

#Feature

  • Small-Lovely-Cat proposed a feature to allow users to delete their pending topics/posts from the activity page, mirroring the existing pending-post deletion behaviour. Darkpixlz questioned whether a confirmation prompt is needed, while Moin and Chapoi argued that destructive actions which can be recovered by staff don’t require one. read more

  • Gilles (via translation) raised an idea to improve the user search experience in chat for less technical users, noting that keyboard shortcuts (cmd+k) are not obvious on tablets and mobile. Chapoi confirmed the shortcut exists but acknowledged the UX gap. read more

Support

  • Mireille_Coilhac asked how to assign moderators per category (in French). Moin responded with step-by-step instructions to enable enable_category_group_moderation and configure category moderation groups via the category settings. read more

  • Gid explored integrating Discourse with a Wix website and asked about self-hosting, free tiers, and partnerships. Chapoi clarified the difference between self-hosted (free but requires a server) and Discourse hosting, while NateDhaliwal provided detailed answers on server requirements, embedding, Zapier webhooks, and even proposed a formal Wix partnership. read more

  • Ed_S sought clarity on security fixes listed at releases.discourse.org when comparing unsupported versions. David fixed a bug that prevented unsupported-release comparisons from showing all affected security issues, and added links from the admin dashboard to the changelog. read more

#Announcements

  • Lindsey announced the removal of the Uncategorized category and migration to a standard category to fix long-standing bugs. Site admins can opt in early via the “Upcoming changes” admin page; communities using only tags should install the tags-only theme component. read more

  • The GIFs moving to Discourse core discussion continued: Shauny noted that Klipy requires attribution, Martin pointed out a missing providerLogo in the core port, and Davidb provided a fix PR. read more

  • Martin shared a detailed, AI-generated table of all group‑based settings for the granular permissions upcoming change, showing which settings previously included anonymous_users under “everyone” and which need manual adjustment. read more

#Theme Component

  • Chapoi released a new theme component, Schedule Logo Change, that automatically swaps site logos on a recurring calendar schedule (e.g., seasonal logos for Halloween, Christmas). It supports light/dark variants and wraps around year‑end dates. read more

  • Merefield pushed a major performance improvement to Topic List Previews (TLP): native CSS masonry rendering in Safari (and Chrome/Firefox with experimental flags), with a fallback to the existing approximation. This dramatically reduces rendering overhead. read more

General

  • Nicolsdennis showcased a Discourse Desktop Mac app built with native features: sidebar inversion, cinema widget view, multi‑forum support without tabs, and offline browsing. Awesomerobot asked about availability, and Putty inquired about advantages over a browser. read more

#Community Building

  • Urdu-Nigaar423 asked for best practices on custom fonts in Discourse themes. NateDhaliwal warned against monospace fonts for readability, and Awesomerobot recommended self-hosting fonts, limiting variants, and checking both light/dark mode contrast. read more

#Self-Hosting

  • Tanya_Byrne faced a rebuild failure potentially related to rolldown and discovered it was caused by removing plugins from the filesystem instead of disabling them via the admin UI. David confirmed the supported method is disabling through the admin interface. read more

  • Mononym continued the discussion on self-hosting an open‑source LLM for Discourse AI, specifically for translation. Falco recommended using Qwen 3.5 or Gemma 4 over older models, and explained how to configure Ollama as an OpenAI‑compatible provider. read more

bug

  • Awesomerobot confirmed a bug where category descriptions are truncated to the first paragraph for the base language but not for localized translations, and submitted a fix to ensure consistent behaviour. read more

  • Putty reported that German translations sometimes contain raw JSON translation elements (e.g., {"content":"..."}) in the translated text. Falco identified a logic contradiction in the prompt and proposed a fix, though custom agents may need updating. read more

#Plugin

  • Babylai released a new Discourse‑Telegram chat bridge plugin that maps Discourse chat channels to Telegram groups/topics two‑way, supporting text, formatting, photos, files, edits, and deletions (with limitations). Includes rate‑limiting and loop‑safety. read more

Activity by the Team Group

Team members were active across many discussions yesterday. Here’s what they contributed to:

  • Lindsey announced the Uncategorized migration and responded to questions on livestream breakout rooms & Wix integration.
  • Chapoi released the Schedule Logo Change component, gave feedback on pending topic deletion UX, explained Discourse pricing to a new user, and discussed custom fonts and iOS selection bug.
  • Moin helped French users with category moderators, debated confirmation prompts for deletions, and noted the absent provider logo in core GIFs.
  • Falco advised on LLM model selection for self‑hosted AI translation, fixed German translation prompt logic, and helped test Resenha voice rooms on mobile.
  • Martin worked on granular permissions for anonymous users (AI-generated settings table and PRs for edge cases), answered on livestream events, and fixed the Permanent filter on upcoming changes page.
  • Awesomerobot fixed category description truncation for translations, contributed to custom fonts discussion, and investigated an invite‑link redirect issue.
  • David fixed the security changelog comparison for unsupported releases and clarified plugin removal best practices.
  • Davidb added the missing Klipy provider logo for GIFs in core.
  • J.Jaffeux mentioned work‑in‑progress for pinning chat messages and noted that reactions use localStorage for simplicity.
  • Markvanlan merged a fix for nested replies flagging/staff colour.
  • Angus helped a user debug WP Discourse SSO avatar sync step‑by‑step, discovering a potential setup issue.
  • Merefield improved Topic List Previews with native CSS masonry rendering.

:paw_prints: Yesterday’s activity was a whirlwind of innovation: from a brand‑new Mac desktop app and a Telegram bridge plugin to automated seasonal logo changes — and even a heartfelt proposal for a Wix‑Discourse partnership that might just be the paw‑fect match for the community.

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 96 new posts across 41 new topics, with 131 likes given. The most active members, ranked by likes received, were:

Interesting Topics

Grouped by category, here are the most notable discussions from the past day.

#Announcements

  • Removing Uncategorized and migrating to a standard categoryLindsey announced that the special Uncategorized category is being removed and replaced with a standard category, solving long‑standing bugs. Sites using tags‑only settings are advised to install a theme component. Read more

  • GIFs are moving to Discourse core! — The GIF/#giphy feature, previously available only via a theme component, is being integrated into core. Davidb noted that a global notice banner has been added to alert admins about the migration, and the old component will be archived. Read more

  • Pin chat messages for increased visibilityJ.Jaffeux confirmed that work is in progress to allow pinning chat messages, following up on an earlier announcement. Read more

  • Granular group‑based permissions for anonymous and logged‑in usersMartin provided an update on the merged PR that allows theme components to check group membership without manual user‑ID hacking. The everyone group is being deprecated. Read more

Support

  • Modérateur par catégorieMireille_Coilhac asked how to assign category‑only moderators on a French forum. Moin guided them to the enable_category_group_moderation setting and category settings, which solved the issue. Read more

  • How do I give badges manuallyTom_Nook_360 requested a manual badge grant method. Satonotdead pointed them to the existing guide. Read more

  • Désactiver la fermeture automatique d’un sujet après qu’il ait été résoluMireille_Coilhac wanted to disable the auto‑close timer on solved topics. Moin and Asa explained that the site setting solved topics auto close hours can be overridden per category, but there is no global default yet. Read more

  • How to prevent proprietary vocabulary from being translated by AI?Zard_W asked about blocking AI translation of product names. Chapoi noted there is no built‑in way, but Falco suggested customizing the translation agent’s prompt with a no‑translate list. Read more

  • I need to cancel my forum and my payment to discourseCbtforum wanted to cancel hosting. Moin directed them to the admin/manage-account cancel button and the cancellation guide. Read more

#Feature / #Plugin

  • Feedback for Ask DiscourseMatthewruzzi reported rate‑limiting errors when replying too quickly or with similar text. HAWK clarified that normal Discourse JIT spam limits apply even on ask.discourse.com. Read more

  • Resenha – Add Discord‑style Voice RoomsNicolsdennis praised the latest update to the voice‑rooms plugin. Bird reported a mobile access bug, but Falco demonstrated it working after updating. Read more

  • Discourse‑Telegram chat bridgeBabylai introduced a new plugin that maps Discourse chat channels to Telegram groups or forum topics. The bridge supports text, images, replies, edits, and more, with detailed configuration steps. Read more

bug

  • German translations contain translation elementsPutty observed that German‑language posts sometimes include JSON‑like translation metadata. Falco identified a prompt logic issue and proposed a fix, also noting that custom agents need the “JSON response format” field filled. Read more

  • Double Likes showing up for reactions‑disabled sitesTradegood reported that the like button appears duplicated even when reactions are disabled. Davidb explained this is due to the upcoming change enabling reactions by default; opting out of that change restores the old behavior. Read more

  • User‑agent: lfc-discourse-public-crawlerOrioni flagged an aggressive AI scraper visiting their site with a user‑agent containing “Discourse”. Awesomerobot suggested it might be a fork of the archival tool. Read more

#Theme component / ux

  • Topic List Previews now renders masonry views in native CSSMerefield announced a major performance improvement for supported browsers (Safari, with Chrome/Firefox behind flags). Read more

  • Dismiss Admin Noise!Lilly updated the theme component to allow auto‑dismissing flag notifications for admins who are not moderators, reducing clutter. Read more

  • Use solved auto close site setting as default for category settingMoin proposed changing category defaults to inherit the global solved topics auto close hours setting, so admins don’t have to configure each category individually. Read more

#Miscellaneous

  • This Meta Branded theme is special. Can I use it on my forum too?Gid praised the design of Meta’s branded theme and asked how to obtain it. Moin explained it’s a custom design not publicly available, but similar effects can be achieved via theme components. Read more

  • Are you allowed to use the RSS feeds on Discourse Meta?Matthewruzzi asked whether automated access via RSS violates the ToS. HAWK confirmed RSS feeds are allowed and do not count as automated access. Read more

Activity by the Team Group

Discourse team members were active across several topics, providing support, fixes, and announcements:

  • Lindsey announced the removal of the #uncategorized category and explained the migration path for site admins. Read more

  • Awesomerobot confirmed a bug where translated category descriptions ignore the first‑paragraph truncation rule and provided a fix PR. Read more

  • Davidb noted that the double‑like issue is caused by the upcoming “Enable reactions by default” change, and advised opting out. Read more He also updated the GIFs‑to‑core migration to include a previously missing GIF button. Read more

  • Falco identified a prompt flaw in the translation agent and submitted a pull request to fix it. He also demonstrated that the Resenha voice‑rooms plugin works on mobile after an update. Read more Read more

  • Chapoi explained that translating custom sidebar sections is not yet possible and suggested filing a feature request. Read more

  • J.Jaffeux confirmed that chat message pinning is being worked on. Read more

  • Pmusaraj reported that a site inclusion in Discourse Discover has been approved. Read more

  • Martin provided a detailed update on the granular group permissions feature, including changes to theme component settings and deprecation of the everyone group. Read more

  • Angus continued troubleshooting a WordPress SSO avatar sync issue, providing debug filters and logging advice. Read more


Yesterday, the community debated the finer points of punctuation in Markdown—proving that even a full stop can stop bold text in its tracks!