Résumé quotidien (5h UTC)

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community contributed 11 new topics and 15 new posts, garnering 14 likes in total.

Top Users by Activity & Likes:


Interesting Topics

Contribute > UX

  • A long-standing design concern was addressed this week: Chapoi announced that a fix for the Delete Category button being more prominent than the Save button has been merged into the core codebase (fixed). read more

#Plugin

  • Filipesm raised a critical question about the Discourse Translator plugin’s future, asking whether the team will maintain the traditional translation API approach or if users should migrate to an LLM-based translation method via Discourse AI. The concern centers on cost, with Filipesm noting that hosting an LLM is “not super cheap” compared to a dedicated translation API. read more

  • Tobiaseigen shared a clever workaround for the Discourse Subscriptions plugin, revealing they replicated much of its functionality using Invoice Ninja with PayPal support, using webhooks and a scheduled cron task to keep Discourse in sync. read more

  • NateDhaliwal contributed a concise note in the Resenha - Voice Rooms thread, clarifying that to use Discord-style voice rooms without an official Discourse plugin, one would need the Enterprise plan or self-host. read more

  • A technical issue was reported on the ActivityPub Plugin by Trwnh1, who noted that the published datetime on posts sent via ActivityPub is incorrect when using the “Publish all posts” button: it shows the date of the AP resource creation (2026) instead of the original post datetime (2018). read more

Support

  • TimMOz requested a granular API scope to list all badges (badges, rest-api), noting that currently only a global scope key or disabling “Login Required” allows listing badges. They are building a server to coordinate Discourse groups and badges with CiviCRM and would prefer not to use global scopes. read more

  • A discussion on the purpose of primary groups (groups) continued, with Canapin pointing out that the “Show that group’s avatar flair by default” setting is key, while Lilly reminded the OP to search Meta first, linking to a detailed explanation of primary group effects. read more

  • Lilly offered a technical solution for updating URLs inside polls after changing a CDN (polls). They suggested using discourse remap instead of the rake task, which performs a global regex search-and-replace across all database text columns, including poll_options.html. read more

#Site feedback

  • A long-running thread on missing images at Meta.discourse.org saw new activity: Canapin reported that the :discourse2: emoji is broken on certain Customization > Theme component topics, likely related to a CDN/S3 bucket URL issue discussed in the chat thumbnails thread. Lilly confirmed the emoji needs a remap or rebake, while Darkpixlz fixed one instance but left another for investigation. read more

Contribute > Bug

  • In the Discourse Gamification thread, Ted kindly responded to a user who had resolved their own 404/MissingAttributeError on the /leaderboard route, saying “No problem! You had an issue and you posted about it. Glad you got it sorted.” (gamification) read more

  • A follow-up on Error 500 when moving posts saw Thomas_Rother asking whether a fix, likely from the ActivityPub plugin code, would be included in the next build after being bundled with core. read more


Activity by the Team Group

Team members were active in several key discussions today:


So, if yesterday taught us anything, it’s that you can build a subscription system with a little elbow grease and a ninja, but you’ll still need to rebake your emojis to keep them from crying. :cookie:

Today on meta.discourse.org

Key Stats

Over the past 24 hours, the community has been bustling with activity. Here are the headline numbers:

  • Total New Posts: 44
  • Total New Topics: 15
  • Total Likes Received: 19

The most active and appreciated contributors this period were:

User Posts Likes Received
Raadtotheraad 9 2
Lilly 6 5
Darkpixlz 4 1
Copymonopoly 4 2
Andrew_Rowe 3 0
HAWK 2 3
Canapin 2 2
Anko127 2 1
David_Ghost 1 2
Martin 1 1

Interesting Topics

Support

  • Can’t upload to S3 (Cloudflare R2). Darkpixlz encountered a persistent Sorry, but your upload failed error when trying to set up Cloudflare R2 for uploads, despite following the guides. After troubleshooting the configuration—including a needlessly confusing token system—Lilly identified that the wrong API token type (a general token instead of a specific R2 bucket token) was the culprit. David_Ghost also suggested removing trailing slashes from the CDN and endpoint URLs. The issue was resolved after creating the correct token and cleaning up the URL formatting. read more

  • Any way possible for non-admins granting badges. Anko127 asked if group owners (rather than just admins) could grant badges, to offload work from the admin team on events. HAWK proposed a hacky workaround: create a custom badge configured to be awarded via group membership, then make the non-admin users group managers so they can add/remove members and effectively grant/revoke the badge. read more

  • Quick question about the “Powered by Discourse” badge. Raadtotheraad noticed the rainbow hover animation on the Discourse footer badge had disappeared on their instance, even though the badge itself was visible. After a discussion involving NateDhaliwal, Andrew_Rowe, and Canapin, the cause was traced to the browser or OS incorrectly reporting touch capabilities to the browser, which causes Discourse to add touch classes to <body>—disabling hover effects. Canapin noted this can happen when a device has been connected to a touch-enabled peripheral, and suggested overriding it with CSS on self-hosted instances. read more

  • Backend 502/504 Timeout when saving major edits to long posts (~100k words) due to Diff bottleneck. Copymonopoly reported severe backend timeouts (502/504 errors) when saving edits to very long posts where a large portion of content changes. By inspecting Unicorn logs, they confirmed the timeout originates in DiscourseDiff#tokenize_markdown. They suggested a performance fallback: treat extreme edits as a “complete rewrite” to skip the expensive diff calculation, or compute the diff asynchronously after the save. read more

  • TypeError: can’t access property 0, i.jqXHR.responseJSON.errors is undefined when viewing post edit history. In a related issue from Copymonopoly, clicking the edits indicator to view the edit history of a post throws a frontend JavaScript error, even in Safe Mode. The error stack points to a crash in history.gjs when trying to load the list of revisions. read more

  • Update URLs inside a poll after changing CDN. Canapin had an issue where baked CDN URLs inside poll options were not updated after running rake 'posts:remap[...]'. Lilly suggested using the built-in discourse remap command, which performs a global regex search-and-replace across all database text columns (including poll_options.html), followed by rake cache:clear to flush the Redis cache. read more

  • What is the point in primary’s. In a somewhat pointed response, Lilly reminded Raadtotheraad that the concept of primary groups is well-documented, and linked to a comprehensive topic on the subject, gently suggesting more search-first behavior. read more

bug

  • ArgumentError (Attributes per element limit exceeded) when trying to open the diff of a locked topic. Copymonopoly added a note to this existing bug report, stating they are experiencing a very similar issue triggered by massive edits on extremely long posts (~100k characters), which also causes the backend to timeout (502/504) due to the heavy diff calculation. read more

  • Discourse Gamification - Getting 404 / MissingAttributeError on /leaderboard route. Ted kindly responded to Glob-Canard.4x, who had initially raised a false alarm but resolved the issue themselves. Ted encouraged the user, stating that reporting potential issues is always welcome. read more

#Feature

  • Do we want to add a confirmation popup to “Reset bump date”? Haydenjames chimed in that the “reset bump date” feature currently seems to do nothing for them, so they would support adding a confirmation popup to clarify its effect. read more

#Extras

  • Feedback wanted: userscript to theme component/plugin, or possible core sidebar browsing idea? Heliosurge provided feedback on a user’s idea for a sidebar browsing feature, suggesting that a theme component approach using Tampermonkey would be fine for client-side changes. They also pointed to two existing sidebar-related theme components: Right Sidebar Blocks and Discourse Bars. read more

blog

  • Free Hosting for Open Source v2. AJHalili2006 asked whether it’s possible to upgrade an existing free discourse.group instance to the Pro for Open-source plan, or if a new instance and manual data import is required. Supermathie advised emailing the Discourse team for applicable options. read more

  • How I use AI as the co-CEO of a remote company. HAWK contributed to this blog post, expressing curiosity about how others use AI within their organizations or Discourse sites, and whether they encounter internal friction due to varying appetites for AI adoption. read more

#Announcements

  • Introducing the unified new view for the topic list. Martin acknowledged a bug report and promised a fix for an issue in the new unified view. read more

  • Star your favorite chat channels for easy access. Jrgong suggested that instead of adding a new “starred” tab (which clutters the UX), the feature could be rebranded as “pinned chats” and pinned channels should simply rise to the top of the list, leveraging an already familiar UX pattern. read more


Activity by the Team Group

The Discourse team has been active in several discussions:


After yesterday’s deep dives into S3 configuration and encoding issues, let’s just say Cloudflare R2 tokens are like socks in the laundry—they always seem to end up in the wrong place.

Today on meta.discourse.org

Key Stats

In the last 24 hours, the forum saw 64 new posts across 26 new topics, with 64 likes distributed by the community.

Top Users by Activity and Likes:


Interesting Topics

blog

  • HAWK shared insights on leading a remote company with AI, touching on the tension between leadership enthusiasm and worker skepticism. Ed_S offered a nuanced perspective on how the benefits and costs of AI often fall in different parts of an organisation, linking to several thought-provoking external reads read more.

Support

  • Satonotdead is wrestling with integrating internal AI API endpoints (via LiteLLM) into a self-hosted Discourse instance, hitting a SSRFDetector::DisallowedIpError. Falco suggested the DISCOURSE_ALLOWED_INTERNAL_HOSTS env variable, but the issue persists read more.
  • Copymonopoly reported a critical bottleneck when saving major edits to posts ~100k words long, causing backend 502/504 timeouts due to the diff engine. Sam confirmed a diff_too_complex fallback was added in February, and after upgrading, the crashes appear resolved read more.
  • David_Ghost noticed avatars taking 3–4 seconds to load after migrating to Cloudflare R2. Lilly diagnosed the likely issue as on-the-fly resizing of missing avatar sizes, recommending a rake avatars:refresh command read more.
  • Jonathan5 asked about creating a banner post, noting the old option might have been replaced. Awesomerobot clarified it still exists inside the “pin topic” modal, though Jonathan5 encountered a UI bug where the menu option doesn’t update correctly read more.
  • Prempavee is trying to suppress the install-app PWA popup, preferring a custom branded experience. Awesomerobot pointed to the native_app_install_banner setting and noted the blue banner can be hidden with CSS read more.
  • Darkpixlz couldn’t upload to S3 (Cloudflare R2) until Lilly spotted the token type was wrong—a general API token was used instead of an R2-specific bucket token read more.

#Feature

  • LotusJeff made a lighthearted feature request for a date picker in the AI Translate settings field for “backfill max age days,” to avoid mental math for forums with content dating back decades read more.

#Plugin (Discourse Reactions)

  • Bartv asked if users could one-click an existing reaction to “join in,” similar to Slack/Discord, reducing friction from diving into custom options read more.
  • RSEhlers reported receiving duplicate notifications—one for a like and one for a reaction—with no separate preference to control them read more.

Community Building Building

  • In a discussion about falling forum activity, Philip_Rhoades observed dropping numbers across a dozen Discourse forums he follows, attributing it to users moving away. Awesomerobot noted the rise of “AIO” (AI optimization) and “GEO” (generative engine optimization) replacing traditional SEO read more.

Support (Badges)

  • Anko127 asked if non-admins could grant badges, and confirmed they had resolved it by substituting with group membership read more.

bug

  • Copymonopoly also encountered a TypeError crash when viewing post edit history for long posts, which Zogstrip believed was fixed by a recent PR read more.

Support (AI Translation)

  • LotusJeff reported an error on AI translation—“string contains null byte”—and asked for help locating the null byte in their content read more.

#Theme Component (Topic List Thumbnails)

#Theme Component (Gated Topics)

  • Jonathan5 inquired whether the Gated Topics component uses Google’s isAccessibleForFree structured data for SEO read more.

Support (Nested Replies)

  • Paul_King reported that enabling Nested Replies is arbitrarily shuffling related thread replies between topics, particularly for users who reply by email—disabling the feature restores sanity read more.

Community Building Building (Show and Tell)

  • Lxk520 showcased a custom Android app built on Discourse, asking for help generating more content to test the app’s UI and layout read more.

Activity by the Team Group

  • Sam responded to the post-diff bottleneck issue, confirming the addition of a diff_too_complex fallback to prevent crashes on very large edits read more.
  • Zogstrip was active across several threads:
    • Confirmed that a fix for crashing when viewing edit history was merged in a PR read more.
    • Implemented an API granular scope for listing all badges read more.
    • Closed a duplicate diff bug report, directing discussion to the main thread read more.
    • Clarified that the discourse-activity-pub plugin is not bundled in core code read more.
  • Chapoi moved the diff bottleneck topic to Contribute > Bug for proper tracking read more.
  • Chapoi also explained that the “Powered by Discourse” badge animation is suppressed on touch devices, and may disappear if a coarse pointer is connected read more.
  • Awesomerobot helped with multiple support requests:
    • Pointed to the correct banner post feature in the admin modal read more.
    • Identified the native_app_install_banner site setting and noted CSS workarounds for the PWA popup read more.
    • Fixed a bug in the Topic List Thumbnails component read more.
    • Provided a code example for using type:objects in plugin settings read more.

Yesterday’s activity was a wild ride—spanning diff crashes, AI endpoint mysteries, and a call to “join in” on reactions—proving that even the most technical forums thrive on a little bit of chaos and a lot of community spirit!

Today on meta.discourse.org

Key Stats

Over the last 24 hours, the forum saw 72 new posts across 26 topics, with 86 total likes awarded. The top contributors by activity were:

User Posts Likes
Awesomerobot 9 13
Falco 7 8
Chapoi 6 5
Canapin 2 5
Gormus 1 5
Ars18 3 4
Josip_Meštrović 3 4
LotusJeff 2 4
Jawestenberg 1 4
David_Ghost 3 3

Interesting Topics

#Announcements

bug

ux

#Data & reporting

  • AI Translation Progress Graph not refreshing: LotusJeff asked about refresh rates and missing detail on language‑detection progress. Falco explained the caching and the two‑step translation process, and LotusJeff suggested a simpler aggregate reporting table. read more

#Self-hosting

  • Mail jobs failing with Nokogiri error: Josip_Meštrović reported a puzzling Unregistered function error in Sidekiq for all mail types. Awesomerobot traced it to an a:visited pseudo‑class in the email CSS style admin page, which Josip_Meštrović confirmed solved the issue. read more

  • Avatar loading slow after moving to S3‑compatible R2: David_Ghost continued troubleshooting after the earlier rake avatars:refresh didn’t help. Lilly diagnosed that Discourse was proxying avatars through /tmp/avatar_proxy instead of using the CDN, likely due to a URL mismatch, and provided remap commands and settings checks. read more

#Plugin

  • Dumbcourse – old‑browser friendly UI: The plugin sparked discussion when Merefield questioned the wisdom of merging it into a larger plugin. Ars18 clarified the standalone repo remains available and all features are toggleable. read more

  • Discourse Translator plugin phased out: Awesomerobot advised users to switch to the Discourse AI plugin for automatic translation, noting that LibreTranslate costs can be avoided with cheap AI models. NateDhaliwal added that self‑hosting models via Ollama is also an option. read more

  • New ModelOC OneBox plugin: Cuo_Wu announced a plugin that renders rich onebox cards for LLM relay audit reports from ModelOC. Supports Chinese, English, and Japanese. read more

Support

  • How to make a banner post: Jonathan5 found the “Make Banner Topic” option missing. Awesomerobot explained it’s disabled for categories with group restrictions. Moving the topic to a public category restored the banner. read more

  • Nested replies broken when enabled: Paul_King reported that turning on nested replies caused email‑in replies to appear in wrong topics and made many replies disappear. Markvanlan asked for clarification, and Falco suggested updating to the latest version as the feature is evolving rapidly. read more

blog

  • Tracking down the world’s best community builders: Jawestenberg shared a blog post about the loneliness of community building and the value of NPS for ROI. Ted commented on the irony and shared a personal story. read more

#Feature

  • Android share target finally working: Falco confirmed that the Meta PWA now appears as a share target on Android for images, marking the long‑running request as done. Merefield tested and found it works for most content except photos from Android 17. read more

  • SEO: Googlebot view should respect nested replies sort: Newbit1337 noted that crawlers still see the flat view even when nested replies default sort is set to “top”. Falco explained the flat view is a recent workaround and a proper crawler view for nested replies is not yet a priority. read more


Activity by the Team Group

The Discourse team was active across a wide range of discussions yesterday:


Yesterday, an intrepid admin’s a:visited CSS broke all their mail jobs, while another discovered their avatars were secretly being served from a /tmp folder – but at least the blurry text turned out to be just a cheeky custom font!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community generated 77 new posts across 30 new topics, fueled by lively discussions and contributions.

Top Contributors by Likes & Posts:


Interesting Topics

#Self-hosting

  • Willy sparked a spirited discussion on installing plugins without third‑party hosts. Chapoi initially pointed to the standard GitHub‑based guide, but Willy insisted on a local‑only workflow for tiny, one‑off plugins. RGJ and Merefield argued that GitHub is trivial to set up, provides version control, and is the professional standard. Satonotdead raised concerns about GitHub censorship, suggesting alternatives like Codeberg. The thread eventually revealed that many of Willy’s “plugins” could actually be implemented as theme components – an approach Awesomerobot and Merefield demonstrated to be far simpler, using zip uploads or the discourse_theme CLI.

ux

Support

  • Paul_King reported that nested replies were broken on his forum – many replies disappeared when the nested view was active, and toggling the feature sometimes caused 404 errors. Chapoi and Falco advised him to update, which resolved the visible issue, though the update process itself hit a snag due to an old database import reference in app.yml.

  • Akjgklajg encountered a 500 error when using the Theme Creator. Awesomerobot confirmed the error and said the team will investigate.

  • Wall‑E asked for a view counter for every post in a topic, not just the first one. NateDhaliwal linked to the Post Views Counter theme component, though it is currently flagged as broken.

  • Jagster wondered if it is possible to force English for unsupported languages while keeping the site’s default locale as Finnish. Falco confirmed a “fallback locale” feature does not yet exist. Nat explained that if the setting is disabled, untranslated content appears in the original language, and suggested setting the default locale to English if that is the desired fallback.

bug

#Feature

#Data & reporting

#Plugin

blog


Activity by the Team Group

The Discourse team was active across several threads, providing fixes, guidance, and improvements:


Yesterday, Willy learned that using GitHub for even the smallest plugin takes less than one minute – proving that version control is a bargain, not a burden. :dog_face:

Today on meta.discourse.org

Key Stats

In the last 24 hours, the Meta community generated 87 new posts across 26 topics, with 106 likes given.

Top contributors by likes and posts:


Interesting Topics

#Self-hosting

  • Willy wondered why his Discourse instance kept updating automatically, breaking his custom plugins. Falco clarified that Discourse has no automatic update feature, and the “rebuild” command he ran (./launcher rebuild app) was the cause. After a detailed exchange, Moin explained how to pin a specific version or commit hash via app.yml, though warned against it in production due to missing security fixes. read more

  • A long-running discussion on installing plugins without a third-party host continued, with Heliosurge and NateDhaliwal suggesting theme components as alternatives for small customizations. Willy expressed frustration that the thread had veered off-topic, but Chapoi noted that some responses had become unnecessarily aggressive. read more

  • Miednr reported that anonymous visitors were redirected to the login page when categories was the first entry in the top menu setting. Zogstrip could not reproduce, and after some troubleshooting, Miednr found that the issue seemed to resolve temporarily after saving settings. The root cause remains unclear. read more

Support

  • Gilles asked why Ask Discourse had become less performant recently. Nat revealed the team switched to a local hosted DeepSeek v4 flash model, and Falco explained that Ask Discourse was built for general troubleshooting, not development. He recommended the dv (Discourse Vibe) tool for developers. read more

  • Singi2016cn sought ways to override a gjs component template and interact with the <PluginOutlet> in the search-menu component. NateDhaliwal suggested using the search service or adding arguments to the outlet via a PR. Singi2016cn later discovered that accessing the search service directly in a connector worked. read more

  • Fzngagan explained the models powering the Sentiment dashboard (Roberta-based) and how to switch to agent-based classification using site settings. read more

  • LotusJeff asked why topics are translated faster than posts in the AI Translator. Falco clarified that batch sizes are similar, but topics progress faster due to fewer posts per topic; he suggested adjusting max age or backfill rate. read more

  • Singi2016cn reported an AI automation that replied 11 times to the same post. Nat suspected a job retry issue and recommended switching from the old automation plugin to the new workflow plugin in an updated Discourse version. read more

#Feature

  • Prempavee wanted to offload video uploads to an external provider like Mux on the Pro plan. Moin pointed to a YouTube/Vimeo theme component fixed by Arkshine, but noted that custom plugins are not allowed on Pro. Arkshine is exploring solutions, including a plugin version, but acknowledged the hosting restrictions. read more

#Announcements

  • Davidb announced a new reactions popup in chat, available as an experimental feature under /admin/config/upcoming-changes. The popup shows all users who reacted to a message and allows filtering by reaction type. read more

bug

  • Zogstrip fixed a long-standing bug where all-day events created via the calendar plugin were not usable by iCal (PR #41203). Nathank confirmed the messy merge resolved the issue. read more

  • Zogstrip also fixed a bug where events from unlisted topics appeared on the calendar (PR #41194), linking it to a related report by RGJ. read more

  • Newbit1337 highlighted a confusing UI bug in full-app embeds: the topic progress shows “2/2” even though only the first post is visible. He linked a prior feature request to include the first post. read more

blog

  • Falco posted a brief update from office hours: “Discourse is Not Going Closed Source” – a reassuring follow-up to recent concerns. read more

#Site Management

  • Gabby_McCone_She_Her asked about the difference between locking threads and archiving in the moderation guide. Moin pointed to documentation on closed, unlisted, and archived topics. read more

#Plugin

  • Sam merged a PR for the Discourse Shared Edits plugin, adding a long-awaited feature. read more

#Site feedback

ux

  • Moin linked a related fix for the upcoming events visibility issue, referencing the event-from-unlisted-topics bug that Zogstrip fixed. read more

Activity by the Team Group

The Discourse team was highly active across many discussions yesterday.

  • Falco helped Willy understand that ./launcher rebuild app triggers updates and explained how to pin versions here and here. He also clarified Ask Discourse’s model change here, joined the plugin installation debate here, and gave a reassuring word on the closed-source blog here. He also explained translation speed differences here.

  • Moin provided extensive guidance on pinning Discourse to a specific commit hash here, here, and here. He also helped Prempavee with video upload alternatives here and here, answered a moderation query here, and linked a fix for upcoming events here.

  • Nat acknowledged the Ask Discourse performance complaint here and investigated the AI automation bug here, here, and here. He also helped debug the visitors access issue here, and shared a sneak peek at multi-language preferences here.

  • Zogstrip fixed two bugs with PRs for all-day iCal events here and events from unlisted topics here. He also attempted to reproduce the visitors access bug here and here, and thanked a user for a poll fix here.

  • Davidb announced the new chat reactions popup here and added suggested tags here.

  • Chapoi reminded the community to keep the plugin installation thread constructive here and helped Willy find the last update date here.

  • Sam merged the PR for Discourse Shared Edits here.

  • Awesomerobot engaged with a development question about JSON schema arrays here.

  • Martin fixed a bug in the unified new view here and provided an update on granular group permissions here.

  • Rishabh added a site to Discourse Discover after a user request here.

  • Mcwumbly confirmed that pinning to a specific commit hash works, though not recommended here.


From debates about pinning Discourse versions to discovering the mysteries of automatic updates, yesterday proved that even self-hosters can’t escape the allure of new features – and maybe a few headaches.

Today on meta.discourse.org

Key Stats

In the past 24 hours, the community generated 70 posts across 34 topics, receiving 123 likes overall. The top contributors by posts and likes were:


Interesting Topics

Community Building

  • Robbie.Morrison shared a deep dive into governance failures on Wikipedia concerning AI‑content policies, including a case where an editor with indigenous knowledge was wrongly accused and forced to deny AI use four times. RGJ pointed out that AI detectors are biased against non‑native English writers read more. The discussion highlighted the reverse burden of proof and the psychological toll of such accusations read more.

#Announcements

  • Rishabh published the Current Projects – June 2026 newsletter, detailing recent completions like GIFs moving to core, the unified new topic list, nested replies, and the new blocks system for theme customizations. Ongoing work includes reporting/analytics improvements, Events plugin enhancements, and a new Workflows automation system read more.

  • Markvanlan updated the nested replies feature, changing default max depth to 3 and enabling capping. Mcwumbly suggested per‑category settings could better serve different use cases (voting, AMAs, etc.). Markvanlan agreed, noting that backfilling existing topics in the UI is still missing read more.

  • Awesomerobot announced that livestream is now an optional toggle during event creation, replacing the old tag‑based system. Site settings livestream_enabled and livestream_chat_allowed_groups are removed; livestream now uses existing chat and event permissions read more.

#Self-Hosting

  • JackieP asked about self‑hosting with a Business account. Falco clarified that Discourse is open‑source GPL v2, so self‑hosting is free, and features like SSO and gamification are baked into core. Pfaffman offered paid integration help read more.

  • In a thread on installing plugins without a third‑party host, Pfaffman explained that any method to copy plugin code into discourse/plugins works, not just git clone read more.

  • A user reported visitors can’t access the forum index after an update. The issue remains unsolved despite a workaround read more.

#Feature

  • Moin raised a regression in the multi‑language preferences UI: the per‑topic toggle was removed, requiring more clicks to see untranslated content. Awesomerobot explained the old toggle caused confusion and suggested reconsidering its design read more.

  • Mcwumbly reopened discussion on where to flag posts in full‑app embed mode, suggesting the flag button could be restored with a setting for allowed post actions. Falco agreed read more.

  • LotusJeff requested a date picker for AI Translate settings instead of a rolling days‑based filter. Mcwumbly noted it would be a different setting (“Translate all posts after {date}”) read more.

Support

  • Ondrej couldn’t re‑enable the AI plugin after disabling it. Keegan confirmed a bug and is working on a fix. He also noted that on free tier sites, the AI plugin is always enabled for spam detection read more.

  • Falco explained why topics translate faster than posts — the batch sizes are similar, but topics with many posts take longer. Admins can adjust backfill rate and max age read more.

ux

  • Moin reported overlapping icons in the topic edit interface (AI sparkles and angle‑down). Falco had already flagged this in another thread read more.

  • Moin also spotted the AI title suggest icon misplaced above the title input field when editing translated topic information read more.

  • Moin requested that recent drafts always appear first in the new topic dropdown, as the order is currently unclear until visiting the drafts list read more.

#Site-Feedback

bug

  • Moin discovered that diff between revisions is broken when a hidden revision exists in between. Previously, the diff would show the two unhidden revisions; now it shows nothing read more.

#Site-Management

  • MarkDoerr published Part 2 and Part 3 of the Discourse Moderation Guide, covering user management (warnings, suspensions, trust levels) and content management (topic moves, flags, review queue) Part 2 and Part 3.

Activity by the Team Group

Staff and team members were highly visible across numerous discussions yesterday:

  • Rishabh kicked off the Current Projects – June 2026 newsletter with a comprehensive update on Discourse development read more.

  • Awesomerobot announced the livestream toggle simplification and engaged in the multi‑language preferences UI discussion read more and read more.

  • Mcwumbly led discussions on embed flagging, default sort for feature category, and AI Translate date picker, as well as suggesting per‑category nested reply settings read more, read more, read more, read more.

  • Falco clarified self‑hosting and Business accounts, explained translation speed differences, and flagged the icon overlap bug in the composer read more, read more, read more.

  • Markvanlan merged a commit adjusting nested replies defaults and discussed per‑category nesting and backfilling read more.

  • Chapoi responded about future developer guides for the blocks system and corrected a trust‑level explanation read more, read more.

  • Keegan acknowledged the AI plugin stuck disabled bug and is working on a fix read more.

  • Tannerabread investigated a reported user card opening bug on upcoming events cards, but could not reproduce read more.

  • Davidb noted the reactions popup in chat feature had been completed read more.


Sign‑off: Yesterday’s conversation taught us that even your trusty em‑dash can betray you as an AI impersonator – but at least the cows are still wearing wigs. :cow:

Today on meta.discourse.org

Key Stats

  • Total new posts: 34
  • Total new topics: 20
  • Total likes in returned posts: 29
  • Top users by activity:

Interesting Topics

General

  • Nicolsdennis continued development on a native mobile client app for Discourse, showcasing a tablet mode that splits the feed and topic panes side‑by‑side. A preview demonstrates the post navigator loading exact posts even after deletions and ID reordering. The app also supports multilingual cooked posts, though chat translations are not yet possible. Community members Kairo162 and LarisaHaster praised the work. Tablet mode demo | Post navigator demo | Multilingual support

#Self-hosting

  • On the thread about installing plugins without a third‑party host, Ed_S endorsed the advice to simply copy source code into the plugins directory, calling it “the right answer” and lamenting the thread’s tone. Read more

#Site Management

  • MarkDoerr published Part 2 of the Discourse Moderation Guide focused on managing users. The guide explains how to access user profiles, interpret trust levels, and handle difficult members through warnings, silencing, suspensions, and trust level restrictions. Read the guide
  • MarkDoerr also released Part 3 covering content management: topic manipulation, flag handling, the Review Queue, and content approval settings. De‑escalation techniques like staff posts, slow mode, and topic timers are detailed. Read the guide

#Feature

  • Arkshine proposed a technical solution for configuring video upload destinations using a Cloudflare Worker as an authentication broker. When a user uploads, the worker creates a private upload spot to the provider (e.g., Mux or CF Stream), hiding provider credentials. A working demo was shown, but the plugin Dave linked is recommended as a cleaner alternative. Solution description | Demo video
  • LotusJeff renewed a request for a date picker in AI Translate settings, noting that topics are translated much faster than posts, leading to mismatched translated topics with untranslated posts. A date picker would allow admins to set a simple cutoff, avoiding complex logic changes. Read the request

#Plugin

  • Bartv offered feedback on Discourse Reactions, pointing out that the emoji category sidebar lacks a scroll indicator, custom emojis are hard to access at the bottom of the list, and “Frequently Used” emojis are stored per‑browser rather than per‑account. Moin suggested a workaround for prioritising custom emojis, but Bartv found it half‑baked. Feedback on picker | Workaround reply

Support

  • Darkpixlz reported trouble configuring Discourse embed URLs. Falco clarified that discourseUrl is the forum address while discourseEmbedUrl is the page hosting the embed. Darkpixlz later noted that using the embed feature created ghost topics from his 404 page; merging may be needed. Configuration help
  • One1 sought help automatically transferring themes via Rails console. NateDhaliwal confirmed that rails c must be used (not just ./launcher enter app) and explained how to exit with quit. Rails console guidance

bug

  • @ばこん discovered that HTML comments are included in AI‑generated summaries, even though they are invisible to viewers. Falco marked the issue as #wontfix, citing the trade‑off of extra preprocessing. A propent change can work around it. Bug report | Staff response
  • Ililaoban reported a regression on user activity pages: after scrolling, clicking a post, and pressing the browser Back button, the page resets to the top instead of restoring the scroll position—contradicting the 3.0 release notes. Report

#Announcements

  • The Solved improvements discussion continued: Noble_Fish asked whether it’s possible to see who clicked “Me too” to recruit testers. EricGT noted that a related feature could prompt users who report a possible “Me too” issue to confirm, merging their posts into the main tracking topic—valuable for active production issues like a sidebar icon bug. Feature discussion | EricGT’s suggestion

#Site feedback

  • Heliosurge contributed to the discussion on where open‑ended product conversation belongs, recommending a #discuss tag in the Contribute > UX category or a new subcategory. They also praised the unique nested replies toggle on Discourse Meta. Read the suggestion

Activity by the Team Group

  • Falco provided support on two topics: correcting the embed URL configuration for Darkpixlz (post) and marking the HTML comments in AI summaries as #wontfix after considering the preprocessing overhead (post).
  • Arkshine shared a sophisticated solution for the video upload destination feature using a Cloudflare Worker broker, complete with a demo video. The approach hides provider credentials and creates private upload spots, though the official plugin is recommended as a primary option (post).

Yesterday’s highlight: Nicolsdennis’ tablet mode preview sparked excitement across the community, proving that a dedicated native app for Discourse is more than just a dream—it’s becoming a reality!

Today on meta.discourse.org

Key Stats

  • Total new posts: 41
  • Total new topics: 20
  • Total likes in returned posts: 29

Top users by likes and posts:

User Likes Posts
Moin 8 4
Falco 6 3
Lilly 3 1
Ondrej 2 1
Seanblue 2 1
Chapoi 1 3
Firedragon 1 3
Adamengst 1 2
NateDhaliwal 1 2
NiceOldGuy 1 2

Interesting Topics

bug

  • &rsquo; in topic titles on oops pageMoin spotted that the oops page renders &rsquo; instead of a proper apostrophe in topic titles. Lilly found it amusing, and Sam confirmed it likely came from a security fix and needs careful handling. read more

  • HTML comments are also summarized by AIFalco marked this #wontfix, reasoning that extra preprocessing to ignore HTML comments isn’t worth the tradeoff. Users can customize their summary agent prompt if needed. read more

  • Right clicking in composer finds image from post behind composerSeanblue discovered that when the composer is open over an image, right-clicking on the composer area opens the image context menu as if you’d clicked the image directly. Reproducible on Meta with Chrome. read more

  • Nested replies view pads pages with deleted‑post placeholdersNicolsdennis reported that the nested view /n/ shows full pages of blank “removed” rows for deleted posts without visible descendants, unlike the flat view. Sam flagged this for Markvanlan. read more

  • Regression: /u/:username/activity loses scroll position after browser BackIlilaoban reported that on user activity pages, pressing Back does not restore the previous scroll position, despite 3.0 release notes promising that fix. read more

Support

#Site feedback

  • Broken avatars in quotes within translated postsMoin found that avatars inside quotes are broken in translated (e.g., German) posts. Multiple languages are affected. read more

#Announcements

  • Introducing nested repliesNiceOldGuy shared an extensive collection of resources on Discourse’s flat vs. threaded model, including Jeff’s canonical take and links to why Discourse uses “topics” not “threads.” read more

  • Introducing the unified new view for the topic listMartin noted that the new “All” tab in /new orders by activity, but Moin found that topics marked unread by the current user are bumped to the top. Sam agreed that this follows the same rules as the standalone Unread list. read more

#Feature

  • Official warning PM notification featureLittleD investigated why warning PM first posts lost their staff color after the Glimmer migration. They identified a missing isWarning getter on the Post model that caused the moderator CSS class not to be applied. read more

#Plugin

  • Discourse ReactionsMartin outlined upcoming improvements: “click to react” (matching Chat), shrinking the emoji picker height to hint at scrolling, and a setting to pin custom emojis to the top. Chapoi was asked for design input. read more

Activity by the Team Group


If you find yourself right-clicking on a blank composer and suddenly opening an image from behind, don’t worry – that’s just the new ‘hidden feature’ we discovered yesterday!

Today on meta.discourse.org

Key Stats

In the last 24 hours, the community saw 45 new posts across 20 topics, receiving 50 likes in the returned dataset. The most active contributors were:

Interesting Topics

bug

  • Nicolsdennis reported that the nested replies view (/n/) pads pages with deleted-post placeholders that the flat view omits. Markvanlan acknowledged the issue, noting that if there are no descendants, the placeholder is unnecessary — topics with nested replies are now back at /t/ instead of /n/. read more

  • Lilly spotted a custom emoji bug where emojis loaded from S3/R2 bypass CDN routing, causing broken images on Cloudflare R2 setups. She opened a PR wrapping URL assignments in Discourse.store.cdn_url() and also created a temporary theme component fix. read more

  • Tannerabread revived an old issue where spoilers inside <details> don’t toggle, and promptly published a fix. read more

  • Sam noted that &rsquo; appears in topic titles on the oops page, likely from a security fix — Zogstrip suggested a pull request. read more

  • A French-language report about problème dans les paramètres avancés des catégories was marked as a duplicate of an issue resolved with the Custom Wizard Plugin by Tannerabread. read more

#Self-hosting

  • After a commit (b4a3389) that fixed a configuration error, users behind Cloudflare lost the ability to capture the end-user’s real IP. Lilly advised switching to a Unix socket, while Supermathie wrote a detailed guide on handling the chain of trust for IP addresses, including set_real_ip_from directives and recursive processing. read more

  • Supermathie authored a new how‑to topic: Handling the “chain of trust” of the end user’s real IP, explaining the use of predictable filenames in Discourse Docker outlets, recursion with multiple proxies, and example configurations for AWS ALBs. read more

#Announcements

  • Mcwumbly clarified that for self‑hosted sites, Beta upcoming changes are not automatically enabled until stable — he traced the source code and updated the official announcement. Moin suggested adding sorting by status to the Upcoming Changes interface. read more

  • Martin announced that Discourse Reactions will be gradually enabled by default for all sites via an upcoming change, and added a note to the Reactions main topic. read more

  • Martin also discussed the unified new view for the topic list — he confirmed that a user’s own topics will be bumped to the top when marked as unread, following the same rule as the standalone Unread list. read more

#Plugin

  • Martin engaged with user feedback on Discourse Reactions, discussing “click to react” functionality, pinning custom emojis, and the emoji picker UI. Chapoi and J.Jaffeux were tagged for design input. read more

  • The Discourse Bilibili Onebox plugin received a fix for the specific‑part playback issue; Scavin confirmed the bug was resolved after a rebuild. read more

  • In the Discourse Math plugin, Xiasummer reported that \dddot wasn’t rendering on their site, though Mcmcclur confirmed it works with both MathJax and KaTeX on meta. read more

Support

  • Falco answered a question about using threads with existing topics: threading does not retroactively reformat replies, but moved posts will thread correctly. read more

  • LetITFly helped a user with failed avatar/photos upload — the root cause was a CDN (Cloudflare) configuration, not a Discourse bug. read more

  • Rishabh confirmed that the Starter plan upgrade option has been made legacy and is no longer available; the Admin > Manage Account page is the correct place for plan changes. read more

ux

  • Chapoi identified a quirk where right‑clicking in the composer can trigger an image context menu from the post behind it — it only occurs when clicking through the composer container, not the textarea. The issue was tagged #pr-welcome but marked as #wontfix due to low impact. read more

  • Chapoi noted that the AI title suggest icon is placed above the title input field, an absolute‑positioned element causing recurring layout issues — he plans to address it when time permits. read more

Other

  • WorldIsMine found some funny CSS in a bugs theme‑component that could be used to prank problematic users. read more

  • Architect inquired about an official warning PM notification feature, hoping a team member can clarify whether the code’s behavior (not notifying the warned user) was intentional. read more

Activity by the Team Group

The Discourse team was highly engaged today:

  • Sam contributed to the nested‑replies placeholder discussion and confirmed the oops‑page HTML entity bug; he also weighed in on the unified new view sorting rule, agreeing that bumping one’s own topics is fine. (nested replies, oops page, unified new view)

  • Markvanlan acknowledged the nested‑replies placeholder bug and added it to his list, noting the revert from /n/ back to /t/. (nested replies)

  • Tannerabread fixed the spoiler‑inside‑details glitch with a PR, and resolved a duplicate report about category settings affected by the Custom Wizard Plugin. (spoiler fix, category settings)

  • Martin guided the reactions discussion alongside users, shared findings on the unified new view, and announced the default‑enable of reactions. (reactions, new view, reactions default)

  • Supermathie authored the comprehensive real‑IP guide and helped a user with the Cloudflare IP‑trust chain. (IP guide, Cloudflare help)

  • Lilly reported and patched the custom emoji CDN bug, wrote an interim theme component, and debated with Falco on R2 specifics. (emoji bug, IP trust)

  • Falco provided accurate answers on threading and custom emoji CDN behaviour, and tested the emoji fix. (threading, emoji CDN)

  • Chapoi diagnosed the composer right‑click quirk and flagged the AI title icon for a future UI fix. (composer, AI icon)


With all that IP trust chain talk, maybe we should start treating our coffee machines like proxies — only let them pour if they can prove they know the real temperature of the water! :hot_beverage:

Today on meta.discourse.org

June 30, 2026 – July 1, 2026

Key Stats

In the last 24 hours, the community contributed 55 new posts across 30 topics, receiving a total of 74 likes.

Top Users by Likes and Posts

User Likes Posts
Sam 12 1
Falco 6 3
Nat 6 2
Overgrow 5 2
Loic 5 1
Willy 5 1
Chapoi 4 2
Lilly 4 2
Moin 3 4
NateDhaliwal 3 2

Interesting Topics

#Announcements

  • Sam announced Cost‑based quotas for Discourse AI, a new feature that allows budgeting AI spend by estimated dollar cost. Read more

  • Loic posted the June 2026 monthly release notes, covering all changes in version 2026.6 as well as patch releases for 2026.1.5, 2026.4.2, and 2026.5.1. See the full changelog

  • Chapoi followed up on the Inline integration of AI Suggestions (in Composer) announcement, discussing making the UI consistent across the composer and other instances. Details here

General

  • Overgrow asked whether AI translations + crawler indexing yield SEO payoff, sharing concerns about cost and duplicate content. Nat responded with a detailed blog post and a note about a recent fix for the set locale from param setting. Follow the discussion

  • Philh showcased a Discourse Comments integration on Astro Starlight, with a temporary demo that blends content and comments seamlessly. NateDhaliwal praised the Mermaid support. Check it out

#Self-hosting

  • Willy shared a practical guide on How to install plugins without using a third-party host, explaining how to mount local plugins into the Discourse container via app.yml hooks. Pfaffman suggested symlinking instead for easier restarts. Read the solution

  • Lilly and Falco investigated Custom Emojis loaded from S3/R2 bypassing CDN routing. After a wild goose chase involving a typo in Cloudflare DNS, Lilly confirmed that her PR (using Discourse.store.cdn_url()) fixes the issue for R2. See the full saga

  • Tayhansolo asked about Proxying a new setup with a reverse proxy, and Darkpixlz recommended Cloudflare Tunnels or ngrok for residential setups. Learn more

Support

  • Singi2016cn wanted to change the homepage to a custom route. Chapoi recommended the custom_homepage modifier and Block System, while NateDhaliwal reminded to set the default home to (default) in user preferences. Get the answer

  • Akjgklajg asked how to see previous invite linksMoin pointed to /my/invited/ in the user profile. Find your invites

  • Akjgklajg also reported that invite links to private groups with a private topic give an access denied error on first click. Details here

#Feature

  • Overgrow raised a feature request to limit topic translation to specific categories, arguing for an allow‑list to better control AI translation costs. Pmusaraj shared his view that translating all public content is generally beneficial. Voice your opinion

bug

  • Moin discovered that tags are partly visible on the “which topic do you want to reply to” modal, showing a white spot caused by a partially hidden fourth tag. See the bug report

  • Architect and Awesomerobot discussed the OP of warnings not highlighted with Staff Color bug, and Awesomerobot applied a fix. Check the PR

  • Moin reported that the RTE removes quotation marks within wrap syntax, specifically breaking the theme-install-button wrap. Reproduction steps

ux

  • Dreieck pointed out that nested mouseover notes can be entered but not shown, creating a usability gap where the inner note is unreachable. Discuss the solution

#Theme component

  • Awesomerobot improved the Homepage Feature component by updating images to use srcset, fixing the “hide featured tag” setting, and allowing multiple tags. However, the change triggered thousands of thumbnail regeneration jobs – a quick rollback was issued. Follow the updates

Activity by the Team Group

In the last 24 hours, members of the Discourse team were active across several threads:


Yesterday’s great emoji heist taught us that even a tiny typo in Cloudflare can turn a CDN into a comedy show – but at least Lilly emerged with a deeper understanding of rabbit holes (and emojis)! :rabbit::sparkles:

Today on meta.discourse.org


Key Stats

In the last 24 hours, 91 posts were created across 38 topics, accumulating 118 likes. The most active contributors were:


Interesting Topics

Support

  • Ed_S raised a concern about security fix reporting on releases.discourse.org, pointing out that comparing versions (e.g., v2026.4.2 → v2026.6) misleadingly showed 25 security fixes even though backports already covered them. Awesomerobot explained it’s an artefact of the comparison logic, and David confirmed all security patches are backported and promised to improve the cross-release comparisons read more.

  • Vitaly_Lukin reported that discourse.theme-creator.io has been down since Monday, showing a generic error page. Moin quickly pointed to an existing report (#406027) and noted a fix was already merged read more.

  • Ahsan_Javaid wanted to change his username on the Frappe community forum. Itsbhanusharma explained that only admins of that forum can change usernames, and provided detailed instructions for admin users read more.

#Plugin

  • Itsbhanusharma encountered a compatibility error with the Resenha voice rooms plugin on ESR Discourse instances. Falco advised that experimental plugins are not supported on ESR and recommended sticking to the latest release. Mcwumbly later shared a positive experience using the plugin on Meta, praising its real‑time voice chat capabilities read more.

#Announcements

  • The move of GIF functionality into Discourse core continued to generate discussion. One1 initially couldn’t disable the GIF button; Moin and Davidb helped clarify that the setting exists under a hidden site setting and that users will retain the ability to opt out after the change goes permanent. Mcwumbly agreed the wording in upcoming changes needs improvement read more.

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

  • Moin provided valuable feedback on the incremental reporting improvements, noting that empty report rows appear too tall compared to populated ones. Tgxworld investigated and later a fix was applied, which Moin confirmed looked better read more.

  • Moin reported that the unified new view for the topic list was showing incorrectly in the Discourse Hub app. Martin found a fix requiring updates to both core and the mobile app, though later noted internal consensus was still pending read more.

#Migration

  • Siamak-Oi asked about migrating user accounts from Telligent to Discourse as part of a Business plan. Italo shared that tooling for Telligent may not be included in Business, and Cocococosti (likely team) confirmed that accounts are migrated successfully and users only need to reset passwords on first login read more.

General

  • Nat followed up on a thread about AI translations and SEO, noting that a “footgun” (the set locale from param requirement) was fixed. Eisammy shared their experience translating 140k posts and 14k topics, reporting that while the feature is promising, SEO impact remains unclear read more.

bug

  • Moin encountered a 422 error when trying to toggle the “reporting improvements” upcoming change. Zogstrip acknowledged the bug and noted it would be fixed soon read more.

#Feature

  • Moin supported the request to show all replies after posting in a topic using Doc Categories simple mode. Awesomerobot agreed the current experience is suboptimal and shared a PR that shows the user’s own reply instantly read more.

  • MarkoK asked about progress on secure uploads in chat. Mcwumbly admitted it’s still not prioritized but encouraged sharing anecdotes of how the lack of this feature impacts users, as that helps with internal prioritization read more.

#Theme component

  • Asa thanked Mcwumbly for the “Dismiss Admin Noise” theme component, confessing that admin notifications were driving them crazy. Mcwumbly suggested that giving admins more granular control over notifications could be a longer‑term solution read more.

ux

  • Dreieck reported that nested mouseover notes can be entered in the composer but are not interactive (the inner note cannot be clicked). Suggestions included either making nesting work or escaping the inner note syntax to prevent confusion read more.

#Site feedback

  • Moin provided constructive feedback on the daily summary feature, noting that a silent=true parameter was sometimes causing false post‑linked notifications. He suggested the team review the parameter usage read more.

Activity by the Team Group

The Discourse team was active across multiple topics, offering explanations, fixes, and guidance.

  • Awesomerobot addressed the Foundation theme language icon regression (Modernizing the Foundation theme, post 108), improved the reply experience in Doc Categories (Show all replies…, post 4), and cleaned up tag visibility in the reply modal (Tag partly visible…, post 2).
  • Mcwumbly chimed in on the GIFs core integration (post 23), advocated for better notification controls (Dismiss Admin Noise, post 5), shared experiences with Resenha voice rooms (post 58), and provided updates on secure uploads in chat (post 14 & 16).
  • David confirmed the security fix reporting artefact and promised a fix (Confused about security fixes, post 3).
  • Davidb clarified that the GIFs setting will remain controllable after the change goes permanent (post 24).
  • Zogstrip quickly acknowledged the 422 error in upcoming changes toggling and linked to a fix PR (Issue with enabling upcoming changes, post 32).
  • Tgxworld investigated the report row height issue and applied a fix (Admin Reporting…, post 32).
  • Martin worked on the Discourse Hub and core integration for the unified new view (post 22) and contributed to the GIFs wording discussion (post 26).
  • Falco fielded plugin compatibility questions for Resenha (posts 54 & 56).

Yesterday proved that even the smallest backport can spark a dozen discussions – and that voice rooms are a surprisingly fun way to break the text barrier.

Today on meta.discourse.org

Key Stats

Over the last 24 hours, the meta community has been buzzing with 106 new posts across 39 new topics, collecting 145 likes in the process.

Top Contributors (by likes & posts)

User Posts Likes
Lilly 21 29
Moin 9 13
Falco 3 12
Pfaffman 5 9
Mcwumbly 1 9

Honourable mentions: Tobiaseigen (8 posts), Dreieck (3 posts), Elmuerte (2 posts), Philh (5 posts), Dax (1 post) – all keeping the conversation flowing.


Interesting Topics

#Announcements

  • June 2026 Monthly ReleaseElmuerte spotted some CVE cross-references in the release notes that appeared to point to unrelated issues (a Wi-Fi router bug!). Loic confirmed the links were incorrect, noting Discourse CVEs aren’t propagated yet. Read more

  • Review and suspend non-activated accountsMcwumbly announced a new feature allowing admins to filter, bulk suspend, and review accounts that haven’t activated via email, making spam wave management much more efficient. Read more

  • Introducing a new “Post Type” Composer actions dropdownMoin reported a touch-device issue where the dropdown menu overlapped on Android tablets. Tynaut reproduced the bug and pushed a CSS fix, now merged for the next update. Read more

  • Introducing the unified new view for the topic listMoin expressed concern that DiscourseHub no longer shows separate counts for new topics and replies, a helpful distinction for prioritising reading. Pmusaraj defended the simpler single-count approach, noting that detailed filtering remains available on the website. Read more

  • Upcoming Changes system clarificationMoin raised confusion around a change that skipped the “stable” phase and seemingly disappeared. Tgxworld confirmed it was a mistake and re-added the change, noting it’s now permanent and found under /whats-new. Read more

  • Self-Hosting Discourse Just Got a Whole Lot EasierUnicom asked if the new installer allows using a temporary domain while deciding on a permanent one. Chapoi pointed to the domain change guide and hopes it works. Read more

Support / #Self-hosting

  • Error running remap after changing site URLTobiaseigen encountered duplicate key constraint errors when running discourse remap. Lilly provided step-by-step SQL queries to delete conflicting records across multiple tables. After several rounds of trial and error, the remap completed successfully. This sparked a discussion about adding a discourse db command, though Lilly explained why it’s not feasible for all setups. Read more

  • Can’t regenerate Discourse ID credentials after domain changeTobiaseigen found that changing the domain broke Discourse ID login. The UI “Regenerate credentials” button errored out. Pmusaraj noted that in Discourse hosting this is automatic, but self-hosted sites need manual intervention; he suggested a better admin UI for credential deletion. Read more

  • Avatars slow to load after moving to S3/R2 storageDavid_Ghost systematically tested four S3/CDN configurations and found avatars always load slowly on first visit. Pfaffman and Lilly theorised the bottleneck is image resizing on the server (rake tasks), not the storage provider. Falco suggested checking a related topic. Read more

  • How does Discourse handle conflicting watched word actions?M_Terenui asked about priority when the same word appears in multiple watched word lists. Awesomerobot explained that Block takes precedence; other actions (flag, silence, censor, approve) can all apply independently. Moin noted you cannot add the same literal word to multiple lists—it gets reassigned. Read more

  • Data Explorer Query Generator 403 ErrorMCobb reported a 403 when creating new queries. Lilly confirmed queries work on her latest self-hosted instances and suggested checking the browser console or /logs for errors. Read more

  • Self Hosted Forum Log In IssuesLilly advised a user with Cloudflare issues to disable the proxy, ensure Rocket Loader is off, and set SSL/TLS to Full (Strict), pointing to the Cloudflare template. Read more

#Feature / ux / bug

  • Profile spam: Option to delete account and block email but not the IP addressDax announced this feature is now completed, giving admins more granular spam-fighting controls. Read more

  • Prompt message for upcoming changes not clear enoughNoble_Fish criticised the ambiguous wording “automatically enabled” which doesn’t offer a toggle or clear guidance. Moin added that a permanent change on his instance also didn’t appear in the UI, aligning with earlier confusion. Read more

  • Nested mouseover notes can be entered but not shownDreieck reported that nested footnotes are editable but don’t render. Chapoi decided to strip nested notes server-side, citing UX and technical difficulty. Dreieck questioned why not just print them verbatim but accepted the fix. Read more

  • Bulk tag edits not creating new revisionMoin reported the bug in German and asked for workarounds. Tgxworld confirmed a fix by Zogstrip was already pushed. Read more

  • Diff between revisions hidden when there is a hidden revisionMoin argued that hiding the diff between public revisions after an intervening hidden revision reduces transparency for wiki/documentation topics. Zogstrip pushed a fix that at least explains the situation, but Moin feels this doesn’t restore the lost functionality. Read more

  • Accept paste input during installationPhilh reported the new installer doesn’t allow pasting (e.g. API keys) and forces retyping on “No”. Falco quickly fixed it – the fix will be in tomorrow’s image. Lilly encouraged posting any further install issues in the support category. Read more

#Plugin / #Theme Component

  • Resenha – Add Discord-style Voice RoomsFalco shared an LLM-summarised changelog of recent Resenha improvements: persistent in-room chat, screen share audio, voice settings modal, and many fixes. He invited user feedback. Read more

Activity by the Team Group

Team members were highly active across many topics yesterday:

  • Lilly provided extensive step-by-step SQL instructions for Tobiaseigen on the remap error topic, then explained why a discourse db command is infeasible here. She also diagnosed the slow avatar issue on S3, suggesting the bottleneck is CPU-side image processing here, and helped with Cloudflare login issues here. She recommended a theme component for hiding floating menus here. Additionally, she contributed documentation updates for S3 object storage here and confirmed a custom emoji CDN fix here.

  • Falco promptly fixed the paste input issue in the installer here and posted a detailed Resenha plugin update here.

  • Pfaffman weighed in on S3 avatar slowness, theorising it’s related to CDN configuration and image generation here. He also endorsed Lilly's SQL approach for the remap issue here.

  • Mcwumbly announced the new feature to review/suspend non-activated accounts here.

  • Pmusaraj clarified the reasoning behind the unified new view in DiscourseHub here and explained the limitation of Discourse ID credential regeneration here.

  • Awesomerobot explained watched word action priority (Block first) here and reproduced the RTE quotation mark bug here.

  • Zogstrip fixed the hidden revision diff explanation here, noted the bulk tag revisions fix here, and reported the Theme Creator is back online here.

  • Tgxworld confirmed the upcoming changes mistake was corrected here.

  • Chapoi resolved the nested footnote bug by stripping them server-side here and thanked Lilly for documentation contributions here.

  • Tynaut fixed the composer dropdown touch-device overlap issue here.

  • David resolved the security fix reporting confusion on releases.discourse.org here and provided helpful guidance on the rebuild failure topic here.

  • Martin agreed to update the Upcoming Changes OP to clarify Permanent status here.

  • Supermathie confirmed Cloudflare IP handling guidance here.

  • Nathank acknowledged the feature request for filtering calendar ICS by category here.


In a day where Tobiaseigen's domain migration saga was rescued by a careful SQL chain, and Philh asked the installer to “stop typing and start pasting”, let’s hope tomorrow brings fewer constraint violations and more clickable buttons! :rocket: