merefield spotted a discrepancy in quote handling in our new WYSIWYG composer and exchanged detailed repro steps with renato in Test our new composer!, confirming an Android IME paste quirk and debating input rules vs. composition events read more.
With quoting quirks, Docker debates, and pop-up puzzles all in one day, our forum’s energy is off the charts—time to celebrate with a virtual ice cream!
Migration from Invision Community 4 to Discourse Orioni outlined price hikes and vendor lock-in concerns for a 20-year-old writer’s forum, sparking advice on migration strategies and data export (Migration from Invision Community 4 to Discourse). read more
Sidebar Color Scheme Toggle Lhc_fl released a new component that adds a color-scheme selector to the sidebar footer for sites with multiple user themes (Sidebar Color Scheme Toggle). read more
An upgrade knocked my site offline; how long until it’s restored? Scott-CC’s upgrade attempt showed the “Oops” error page, JammyDodger and Lhc_fl suggested safe-mode and log checks, supermathie walked through docker exec and log-tailing, and pfaffman resolved it with a rebuild and PostgreSQL 15 update. read moresolution
Can Discourse ship frequent Docker images that do not need to be bootstrapped? elmuerte explored blue/green deploy constraints on plugin and theme builds, while featheredtoast shared a proof-of-concept Docker Compose setup and explained why custom images must bake in extra gems and system packages. read moreexperiment
New Composer Issue: Linked Images
The new markdown composer’s link button doesn’t support external images; supermathie flagged the gap in the markdown UI, and renato proposed an inline input rule for  handling. discussionproposal
New composer inserts double line breaks when pressing return key
Users noted that pressing ⏎ creates a new paragraph instead of a line break; sam asked whether we should enforce tidy paragraphs and awesomerobot pointed out that Notion and Medium share this behavior. issuecomparison
Discourse AI spam detection “Scan log” is frequently truncated
Admins testing the AI spam scan see valuable reasoning cut off in the logs; the thread calls for ensuring the full output is visible to refine custom instructions. bug reportplugin
See the failed jobs in Sidekiq. (MailGun) failing to send emails Aaron_Walsh saw 42 queued email retries after a Mailgun port change; pfaffman walked through rebuilding vs. destroying the container to unblock port 2525. reportresolution
Sensitive information disclosure: OAuth2 client secret exposed in admin settings Evie_Tao warned that OAuth2 secrets show in plain text; supermathie linked to a simple plugin fix to mark them as sensitive=true and discussed environment-based secrets.
Potential Directory Traversal: /uploads/ allows cross-directory file access*
A security assessment found that ../../ in /uploads/default/original can fetch unintended files; the thread suggests enabling the secure-uploads feature for enforced access controls. reportsecure-uploads
Personal Message attachments accessible to unauthenticated users (missing auth check) Evie_Tao discovered that private message images are publicly retrievable; the community again pointed at secure-uploads for locking down PM assets. reportsecure-uploads
A file does not exist error occurred during database backup
Manual backups fail with rb_io_flush_raw - <STDOUT> errors when dumping the public schema; admins seek guidance on backuper configuration. error log
Potential resource exhaustion: No rate limiting on /uploads.json allows mass file uploads
Security reviews flagged the lack of rate limits on the upload API, risking storage DoS; suggestions include custom throttle plugins or proxy-level limits. report
Launch Composer from Topic Reply at foot of Topic: Draft missing on re-initiate merefield found that saved drafts don’t reappear when reopening the composer via the bottom reply button, though they do after page refresh. issue
Reviewable UI refresh site setting
Admins enabled the experimental review queue UI but saw no change; Moin demonstrated that individual review items show the new design while the list view remains unchanged. questiondemo
Attempting to work around the 10 minute delay Lee_Ars struggled with WP Discourse comment sync delays; angus walked through webhook setup, cache toggles, and header fixes for instant comment updates. threadwebhook guide
Feature request: share to discourse (via iOS)
Building on the desktop bookmarklet and extension, jimkleiber asked if iOS’s Apple App Site Association can deep-link into the Discourse PWA for quick topic creation. iOS requestdesktop extension
After yesterday’s marathon of upgrades, PRs, and composer quibbles, treat yourself to a well-earned break—and maybe a puppy cuddle (no puppies were harmed in the making of this summary )!
Content Localization and Automatic Translations for Your Community: nat unveiled Discourse’s new multilingual features—automatic translations, category title localization, and more powered by ai and content-localizationread more.
Introducing our new composer, making writing on Discourse easier than ever: The Discourse team shipped the revamped rich text/markdown editor; users weighed in on font preferences, window resizing, and per-user toggles in composerread more.
#Site Management
Content Localization - Manual and Automatic with Discourse AI: nat published a step-by-step guide splitting default localization settings from AI-powered automatic translation workflows in #site-managementairead more.
Forum Researcher AI Persona guide: sam detailed how to customize the Researcher persona, explaining topic_keywords, full-text search usage, and the debug “(i)” pane for ai-bot applications read more.
Group owners should not necessarily be group members: tobiaseigen and Moin discussed the rationale for owners separate from members to handle membership requests via pr-welcomeread more.
New composer inserts double line breaks when pressing return key: Shauny and supermathie flagged UX friction around paragraph breaks on mobile vs. desktop in the new editor under composerread more.
Update docker manager first instruction in admin/upgrade section: alltiagocom suggested auto-triggering the Docker Manager update step to unlock other update buttons, improving the hosting upgrade flow docker-managerread more.
Discourse needs better search: Community members revisited the search experiment, advocating a centralized search front-end across forums, blogs, and docs for unified discovery read more.
Force users to pick category: alltiagocom ran into a locked composer when no default category existed; JammyDodger and Moin traced it to hidden topic templates and shared staff log filters in Supportread more.
I keep getting errors when updating: alltiagocom struggled with web-based rebuild failures due to insufficient swap; solutions from pfaffman, volanar, and swap-size tips circulated in Supportread more.
Can the official images be SVG?: alltiagocom asked about SVG logos; Lilly confirmed SVG support by adjusting Authorized extensions and noted mobile benefits in Supportread more.
New Composer: cannot move the caret in between kbd formatting and letters: supermathie demoed caret trapping around <kbd> blocks; renato explained HTML content-editable norms and potential inline cursor improvements in composerread more.
Bug when adding a link to existing text via the keyboard in the WYSIWYG composer: alehandrof found that pressing Enter in the link dialog erases highlighted text; Lilly and joffreyjaffeux requested browser/console details in composerneeds-reproread more.
Collections: Users asked whether Discourse Docs-style public collections could mirror personal bookmarks; satonotdead and Alteras clarified that collections are global and uniform for all in experimentalread more.
Content Localization and Automatic Translations for Your Community: nat kicked off the content-localization announcement and worked through feedback from Simon_Manning on language dropdown labeling and Moin’s flagging questions, then added a custom moderator flag and tied it into the review queue revamp—see read more and check out the companion #Site-Management guide at read more
Introducing our new composer, making writing on Discourse easier than ever: awesomerobot unveiled the revamped composer beta, complete with rich-text enhancements, and renato explained why raw HTML appears in a boxed block in WYSIWYG mode—full details at read more and the related review-queue roadmap at read more
Monospace font in the Markdown-only editor: Shauny shared a CSS tweak to restore proportional fonts in the markdown textarea for a more natural typing experience—see the snippet and discussion at read more
#Hosting
Bundling more popular plugins with Discourse core: david announced that widely-used plugins (e.g., discourse-reactions) will now ship in core (but disabled by default) and outlined steps for self-hosters to remove custom clones—learn more at read more
#Site feedback
What is ‘dynaloc’?: NateDhaliwal asked about the dynaloc tag naming, and nat confirmed it stands for dynamic content localization, sparking a brief debate on clarity versus brevity—details at read more
New aliases for replacing lock icons on closed topics and restricted categories: awesomerobot added topic.closed, topic.opened, and category.restricted icon hooks for theme authors, complete with JS examples—see the PR discussion at read more
Composer more menu partly hidden behind header and composer: donaldsoncd reported overflow options being obscured on mobile, and chapoi merged a fix to restore full access—track the patch at read more
Spoiler blur support for composer’s new rich text mode: Shauny observed that inline [spoiler] tags no longer render in the rich text editor, and sam confirmed it’s a temporary glitch with rich-text parsing—follow progress at read more
Whisper entire topic?: tknospdr looked for per-topic whisper controls to mix public and internal bug reports, with Moin and pfaffman suggesting subcategories and permission tweaks—discussion continues at read more
Discourse AI – Missing settings after update = can’t delete my old LLM: Roman_Rizzi noticed AI helper settings vanished post-update, and nat is restoring legacy controls via the features page—see updates at read more
Wish list: standard key combo to submit from anywhere: pento delivered on Ctrl/Cmd+Enter form submission for all FormKit‐based inputs, including the user notes plugin—read the merge notes at read more
Config as code options for Discourse?: mbauman asked about GitHub-driven theme/component management, and Moin walked through exporting themes, remote auto-updates, and existing API endpoints—see step-by-step at read more
#Site Management
Forum Researcher AI Persona guide: jrgong requested reproducible AI search parameters via API, and sam acknowledged it as a valuable filter feature—track the enhancement request at read more
My three-year journey with Discourse community software: KhoiUSA reflected on switching from phpBB and MyBB to Discourse, lauding built-in moderation, analytics, and plugins by merefield and others—get inspired at read more
#Administrators
Discourse Automated Weekly Backup and Update Script (Avoiding S3 Upload Issues): copymonopoly shared a bash script that temporarily disables S3 uploads, enables read-only mode, runs backups, then re-enables uploads and rebuilds the app—view the full script at read more
NateDhaliwal discovered that the mobile composer (composer, mobile) now opens fullscreen even when the keyboard is closed, limiting visibility of quoted text before posting read more
awesomerobot submitted a fix to re-hide the grip handle in fullscreen composer mode after it was unintentionally visible, merging a PR at GitHub read more
awesomerobot tweaked the “Your topic is similar to” pop-up in fullscreen composer to reduce obstruction, also documented in a related PR read more
awesomerobot opened a PR to address the site settings menu being limited by mobile results page size, improving usability mobileread more
Moin highlighted that TL0 users see an empty “Users” tab in their preferences without any available actions, suggesting placeholder settings for consistency UXread more
NateDhaliwal reported the composer preview on mobile isn’t truly fullscreen—leaving a gap that lets users click through to the underlying topic read more
T_Disco proposed adding a preview toggle to the Revise rejection email modal so moderators can see the full email content (including templates) before sending, sparking ideas about leveraging the composer for all moderator messages moderationreview-queueread more
pfaffman noted that Bluesky’s ATproto flow doesn’t provide an email address—complicating OAuth login—while Matt_Blackwood observed that some plugins appear to circumvent this via direct session authentication read more
pearsonified discovered the correct invite-only setup for private forums by selecting “Invite Only” and “Allow new registrations” together to restrict access to paid members Supportread more
eisammy explored editing the PWA manifest (manifest.webmanifest) to change the display mode but found the current UI doesn’t support switching from “standalone” to fullscreen Supportread more
A topic about the Content Localization language switcher (#373837) was deleted by its author after raising concerns that guests can’t toggle languages—a potential UX gap for new visitors Supportread more
pfaffman walked Ethsim2 through creating a swapfile to resolve “Bootstrap failed with exit code 128” errors during rebuilds, clarifying RAM vs. disk allocation read more
rkttu reported missing AWS Bedrock fields in the Discourse AI plugin settings, and Falco confirmed Discourse AI isn’t supported on stable releases, advising use of the default channel officialairead more
awesomerobot submitted multiple UI fixes: re-hiding the composer grip read more, slimming the “similar topic” popup read more, and improving mobile site settings menu pagination read more
joffreyjaffeux confirmed available options for the calendar-and-event Upcoming Events filter read more, pinpointed the sidebar translation bug for “My messages” with a PR on the way read more, and followed up on the auto-tagging automation troubleshooting thread read more
renato clarified the intentional fullscreen design for the mobile composer in the UX thread read more and detailed how markdown-it handles inline oneboxes within lists read more
tobiaseigen shared his sidebar customization for “My posts” and “My messages” links based on the Announcements update to the messages section read more
Falco responded in the Discourse AI plugin discussion to explain official support channels and limitations for AI integrations officialread more
sam outlined a timeline for revisiting the New Discourse Lightbox feature read more and offered guidance on PR bump etiquette in the Contributing guide read more
blake reviewed the Discourse Subscriptions plugin enhancements and requested breaking large changes into separate PRs with tests to prevent breaking existing setups read more
After a whirlwind of full-screen composer experiments, swapfile wizardry, and AI plugin deep dives, meta.discourse.org is officially more action-packed than a triple-shot espresso!
Make “/my” work for all possible links to current user thoka reported that /my/group/messages/My-Group doesn’t redirect to /u/thoka/..., and Moin observed it once worked (see [373973] and the follow-up on case sensitivity in [373995]).
In a custom theme, how do you select the desired light and dark palettes? SubStrider and Andrew_Rowe asked about extending palette variables; mcwumbly confirmed it’s top priority (see [369055] and post 10 for the upcoming light/dark support read more).
Hide muted categories in the collapsed state? Cate_Soule wanted to hide the muted-categories box without unmuting; NateDhaliwal provided a CSS snippet to remove it (see [373981] and the CSS solution in [373981/4]).
What happened to the new search? Shauny noted Meta reverted to the old search UI; NateDhaliwal linked the disabling bug, now fixed (see [373979] and related error report read more).
Rich editor misses usernames with umlauts thoka discovered the new composer can’t detect unicode mentions; mcwumbly repro’d it under unicode_usernames and is working on a fix (see [373966] and related discussion on unicode handles read more).
No alert is displayed after casting your final vote T_Disco reported that after using their last topic-vote, the “0 votes left” message doesn’t appear; this is under investigation (see [373976]).
Bootstrap failed with exit code 128 Ethsim2 hit a cloning error; merefield resolved it by removing discourse-reactions from the explicit clone (see [373873] and the core-plugin bundling announcement read more).
Allow @mention notifications in muted topics? Shauny wants mention pings even in muted threads; mcwumbly cautioned about design complexity but agrees there are valid use cases (see [373978]).
Option to mute notifications for certain badges? Shauny struggles with thousands of “Nice Reply” badges cluttering her alerts; she suggests per-badge muting or separate Watched-topic notifications (see [373990]).
Skip votes for closed feature requests while counting active votes thoka proposed excluding closed topics from vote tallies to preserve fairness; Moin explained returned votes but the UI could better reward votes on implemented features (see [374017] and vote history details read more).
Allow “Mark as Solution” in group messages Gerard_Cobas asked to enable the solved plugin in group PMs; mcwumbly merged related requests and moved it to Feature (see [370496] and earlier threads [124305] & [367370]).
Add an “all messages” option as default in /my/messages thoka would like a unified stream of personal and group messages by default; discussion is ongoing about a theme component or plugin approach (see [374015]).
Upcoming events list shows white on white text in dark mode tobiaseigen spotted illegible tooltips on /upcoming-events/mine?view=listNextYear; fix suggestions welcome (see [373987]).
Launch VOD platform MachineScholar considered building a custom VOD solution; community recommended embedding via services like Vimeo (see [373849]).
#Contributing
Contributing to Discourse development justinm noted GitHub PR bumps don’t work like on Meta and suggested updating the guide (see [3823] and his bump test read more).
mcwumbly commented on /my routing ([373973/3]), confirmed the Rich editor umlauts bug ([373966/2]), and moved the group messages “solved” request to Feature ([370496/9]).
awesomerobot suggested a workaround using /my/messages/group/ for custom group inbox links ([373973/7]).
tobiaseigen flagged the white-on-white text in the Upcoming events list on dark mode ([373987/1]).
Lilly acknowledged the Hide Lock Badge Icon report and will investigate its CSS impact ([276831/40]).
And on a lighter note, between /my rewrites and palette previews, our forum has been busier than a puppy chasing its tail!
Embeds Stuck on “Loading Discussion…”? Topic Not Created? Here’s the Fix: nlambert discovered that adding your domain to allowed_internal_hosts in Admin settings resolves “Loading discussion…” embeds and ensures new topics are auto-created as expected. read more
AP processing dragging forum down?: @aschrijver1 observed intermittent 503 Gateway Timeout errors tied to ActivityPub federation loads, a point reinforced by @silverpill’s report of service slowdowns when federated replies fan out. read more
How to make 1000 simultaneous uploads: Abbas_Muhammad wants to bump the chunk upload limit from five to 1,000 images, prompting discussions on configuration adjustments and potential performance considerations. read more
Blocking recent wave of spam: juanjosegzl shared a geo-blocking plugin proof-of-concept on GitHub and updated the thread with post 12, inviting a possible PR after community feedback. read more
Azure compatibility improvements: justinm committed bug fixes for Azure App Service support, with feedback requested via GitHub PRs and a nod to the related Docker bootstrapping discussion in topic 33205. read more
Modernizing inline script tags for templates & JS API: Sujeeva_Tissaarachchi asked how to migrate scripts into apiInitializer, and NateDhaliwal provided a clear example wrapping custom code in the JS tab. read more
Bug: “Solved Topic Background” no longer shows after update to 3.5.0.beta8-dev: xkhalid flagged a regression where solved topics lost their green background, tying into the Discourse Solved#30155 and Solved Topic Badge#281981 plugin threads. read more
Rich editor misses usernames with umlauts: Jagster noted that composer suggestions skip characters like ‘ö’ and ‘å’, highlighting a composer bug that needs addressing. read more
#Site Management
Understanding closed, unlisted, and archived topics: agemo pondered whether archiving large topic volumes could cut server overhead and gathered insights on advanced topic states. read more
Any updates on the best way to create a HTML archive of a static site?: 翔_贺 outlined a Ruby-based file-path approach for serving static .html archives from public, spurring further routing tips. read more
Use of Flags: Architect and Heliosurge returned to debate whether flag tooling should evolve or if clearer community policies are the real solution. read more
Push notifications PWA or iOS: Temporary account issues with PWA push delivery prompted advice on power-management settings, with ryan_olsen suggesting tweaks to the push time window. read more
@trwnh investigated a “thundering herd” effect from ActivityPub fetches in AP processing dragging forum down? and discussed deferring resource loading to mitigate server strain read more
Introducing core themes: hugh unveiled built-in core themes (Horizon & Foundation), offering non-editable, auto-updated design foundations that ship with every release. read more
Themeable site settings are now available: martin introduced themeable site settings, allowing themes to override a subset of core site settings for enhanced UI control. read more
Webinar: Migrating from Khoros to Discourse: Danielle invited everyone to a July 16 webinar on moving communities from Khoros to Discourse, covering member & content migration best practices. read more
Content Localization and Automatic Translations for Your Community: eisammy kicked off discussions on multilingual support, and nat clarified locale naming conventions & recommended disabling the legacy translation plugin in favor of Discourse AI. read more and follow-up
Rename “Private Topics” to “Personal Message Topics”: RGJ proposed renaming the confusing Private Topics label in user profiles to Personal Message Topics, and awesomerobot confirmed an upcoming update. read more
Force Mobile Homepage: awesomerobot submitted a PR updating the Force Mobile Homepage component for compatibility, and tshenry merged it to streamline mobile views. view PR and merge confirmed
Migrated from XenForo to Discourse: Overview of the Migration: SubStrider shared a deep dive into migrating 2.5 million posts and 79 K users from XenForo—highlighting keyset pagination and robust checkpointing improvements. read more
Discourse Reactions: pacharanero reported that discourse-reactions is now bundled in core and advised removing its clone from app.yml to prevent rebuild failures, referencing the bundling discussion. read more and bundling details
Announcing themeable site settings: martin outlined how theme authors can define themeable site settings in their about.json, extending core functionality to theme code. read more
Possible to create a Sign in with Ghost plugin for Discourse?: pmusaraj guided the community on evaluating Ghost as an OAuth identity provider, linking to SSO discussions. read more
Invite experience could be more streamlined: sunflower requested smoother social login flows for invite links, noting that Google auth shortcuts aren’t offered during invite-based sign-ups. read more
The usage problem after using AI translation: co_choa encountered soaring token usage in backfill translations and nat recommended lowering backfill rates, setting quotas, and using Data Explorer to monitor progress. read more and nat’s guidance
Rule-based virtual category: volanar proposed virtual categories auto-populated by tag rules, enabling topics to appear in multiple categorical views without duplication. read more
Request for confirmation dialog following new user approval: robbie.morrison asked for an extra confirmation step in the new user approval flow to prevent accidental admits, and nat noted upcoming review-queue enhancements. read more and follow-up
Latest avatar size doesn’t change the size: Moin observed that adjusting the Latest avatar size setting had no visible effect, and sam promised a fix within four weeks. read more and developer response
Wurzelseppi encountered a DiscourseAi::Embeddings::Schema::MissingEmbeddingError when uploading files to the AI Bot Persona, observing 200 responses but no audit logs on Supportread more
alltiagocom discovered cached Apple Touch images retained white borders in the Discourse iOS app until reinstallation on Supportread more
Wurzelseppi probed how to upload files to an AI persona programmatically via the Discourse API for RAG workflows on Supportread more
Cate_Soule reported the missing search bar from the welcome banner, later resolved by migrating the enable_welcome_banner setting to individual themes on Supportread more
alltiagocom unearthed the max_tag_search_results site setting to display a scrollable full tags list in the composer on Supportread more
kuba-orlik explored WebFinger discovery to easily boost Discourse topics in Mastodon and flagged missing search support in ActivityPub on Supportread more
alltiagocom found a bug where deleting JavaScript from a theme component’s JS tab fails and the code persists on Bugread more
Ralf_Stockmann lamented the missing “paste link on selected text” magic in the new composer, with renato confirming reproducibility challenges on Bugread more
Don spotted the hidden-but-in-use ai_helper_model site setting in Discourse AI, prompting a visibility fix on Bugread more
JammyDodger demonstrated that pasting a parent category URL reveals hidden subcategories unexpectedly in the composer on Bugread more
martin rolled out themeable site settings for enable_welcome_banner and search_experience, explaining migration steps for existing values on Announcementsread more
SubStrider shared a two-pass XenForo import process and GitHub scripts to preserve link integrity and merge history on Migrationread more
#Site feedback
tobiaseigen mapped out how bundling popular plugins into core is communicated via #included-in-core tags and subcategory announcements for self-hosters on #Site feedback read more
david enhanced the staff-notes rebuild error message in Docker with a new pull request #978 after debugging the staff-notes rebuild failure on Pluginread more.
renato confirmed that cursor jumps when quoting in the new composer are unintentional and flagged an internal task to resolve the issue on Announcementsread more.
saquetim announced that the Glimmer Post Stream is now enabled by default post-update, advising on fallbacks for incompatible extensions in Devread more.
cocococosti applauded the XenForo migration guide, shared best practices for community feedback post-migration, and encouraged further flags on Migrationread more.
nat detailed how automatic translations select target languages and pointed to persona-based prompt tuning for localization moderators on #Site Management read more.
sam noted that keegan is working on re-exposing the hidden ai_helper_model setting and that a patch is underway on Bugread more.
kelv merged a fix to restore the PM icon in “in:all” search results, resolving the alignment issue on Bugread more.
supermathie shared a bookmarklet workaround for the “Share to Discourse” extension, turning it into a one-click bookmark for easier posting on Featureread more.
chapoi delivered the final tablet layout tweak for the composer overflow, with Moin confirming the fix, aside from a minor language selector overlap on Bugread more.
With plugins marching into core and AI features tweaking behind the scenes, our community moved faster than a caffeinated puppy today—stay tuned for more tail-wagging updates!
SupportRoi discovered a Repojacking attack when a popup claimed “You’ve been hacked by a plugin!” due to the deprecated discoursehosting/discourse-migratepassword. RGJ provided a TL;DR mitigation to rename all references to communiteq, and david added rebuild abort checks in the Docker code to block compromised plugin URLs. read more
BugSubStrider reported that the autocomplete userlist was hidden behind the composer toolbar on desktop Firefox. chapoi confirmed the fix is in the latest release, restoring proper z-index layering. read more
Pluginpfaffman demonstrated how to override the now-core “Discourse Subscriptions” plugin during rebuild by adding an after_code hook in app.yml that removes the core copy and clones a custom fork. read more
Devmartinmodrak asked how to render different content for mobile users in a theme component. Alteras showed how to look up the site service manually, and david illustrated embedding a Glimmer component class with @service site inside api.renderInOutlet. read more
Announcementsopcourdis inquired if there will be a warning in the admin UI before removing bundled plugins. tobiaseigen explained the upgrade flow: Docker updates first, then CLI hints prompt removal of plugin lines from app.yml. read more
BugEthsim2 traced an email bounce issue to mismatched timezones in both app and mail-receiver containers. supermathie clarified that the logs showed a warning, not an unknown-IP error, and pointed to the Postfix recipient rejection line. read more
Supportjoo reported their AI translation backfill never triggers despite correct settings. nat suggested raising ai_translation_backfill_hourly_rate, enabling ai_translation_verbose_logs=true, and using Data Explorer queries to verify API calls and detected locales. read more
Supportpyc ran into rebuild failures because several plugins are now included in core. SubStrider reminded them to remove redundant git clone lines for discourse-reactions, discourse-oauth2-basic, discourse-chat-integration, and discourse-data-explorer from app.yml. read more
SupportBruno_Almeida wanted to match topic-list spacing to a custom theme background. RoldanLT recommended creating a component with CSS:
UXMoin highlighted that setting a poll’s “limit voting to these groups” to many groups breaks layout for logged-out users. The layout grid overflows and truncates labels. read more
Installationitd-john couldn’t install a theme from GitHub on macOS due to repeated errors. NateDhaliwal asked for the repository URL to diagnose the cloning issue. read more
Generalsimon-smart88 uncovered a coordinated spam campaign across forums and proposed earned-reputation features tied to email addresses for easier cross-forum spam reporting. read more
Featuremnalis requested a preference to “Receive own posts too by e-mail” without enabling full mailing-list mode. Moin noted that mailing-list mode can send every post (including your own), but it disables most Discourse features. read more
DevSeb_EnergyFlux shared that Ghost Support won’t provide a “Sign in with Ghost” plugin, so they deployed Discourse + DoG on a droplet as a workaround. read more
AnnouncementsContent Localization and Automatic Translations for Your Community – nat clarified that translations do not automatically re-run on edits (post), prompting others to request a “force translation” option.
“Is there any plan to add translate button or translate post with rebuild HTML?” – Don (post) read more
AnnouncementsBundling more popular plugins with Discourse core – darkpixlz raised concerns about abrupt rebuild failures after core plugins were consolidated (post), Richie reported multiple CLI update errors (post), and merefield highlighted unintended gem version clashes. read more
UXSuggested improvements to plugin page now that more plugins are bundled with core – merefield asked for an “enabled first” sort on the installed plugins list, and tobiaseigen spun this out into its own thread for clarity (post). read more
UXSite settings filter to exclude disabled plugins now that many more plugins bundled with core – Moin proposed adding a filter to hide settings from inactive plugins while still allowing pre-activation configuration. read more
UXMobile composer: permanent full-screen – chapoi experimented with keeping the mobile composer at full-height even when the keyboard closes, aiming for smoother scrolling and better previewing. read more
UXHow to move the new topic header button and make larger for mobile devices – Billy asked how to reposition and resize the “Ask Your Question” button in the header, and NateDhaliwal provided a forked theme component with sample code. read more
FeaturePlugin and theme component signing – elmuerte suggested leveraging Git commit signing and a Meta-hosted keyserver to warn admins of unauthorized plugin changes. read more
FeatureRenaming AI Persona → AI Agent – EricGT noted that with the rise of ChatGPT “agents,” any renaming should align with broader industry terminology. read more
SupportCannot update Discourse anymore – pyc hit rebuild failures post-bundling; david identified discourse-chat-integration as the culprit and solved it by commenting it out (post). read more
SupportFirefox Optional AI feature not optional? – hellekin saw “Ask AI” pop-ups despite disabling the plugin. keegan explained these are provided by Firefox’s own AI features, not Discourse. read more
SupportError installing theme from Github – itd-john encountered a 500 error installing the Mint theme; NateDhaliwal walked through the correct GitHub URL and UI process. read more
SupportEmail receive issue – Ethsim2 battled DMARC validation in the mail-receiver container. After setting INCLUDE_DMARC=false, incoming mail flowed into Discourse without bounce (post). read more
SupportAI translation backfill not working after all settings configured – joo saw topic titles translate but not post bodies; nat pointed them to check Sidekiq’s PostLocalizationBackfill and TopicLocalizationBackfill jobs (post). read more
SupportCloudflare R2: Navigating Setup and Handling Configuration Errors – tknospdr shared best practices for public vs. private R2 buckets and noted AWS-specific rake tasks don’t always work on other S3 providers. read more
BugList of @mention names extends beyond the viewport on iOS – Richie demonstrated that iPad/iPhone autocomplete menus hide usernames offscreen, and david confirmed an autocomplete overhaul is underway to fix it. read more
Between translation tweaks, plugin bundling puzzles, and full-screen composer experiments, our Discourse forums ran a full marathon—time to stretch before the next sprint!
In Blank Pages Related Help, Modfather encountered empty blank pages after installing a plugin, and RGJ recommended using the Page Publishing feature to insert custom content into those routes read more.
In Email receive issue, Ethsim2 confirmed that enabling “reply by email” combined with the latest mail-receiver commit restored inbound email processing on the site read more.
In Idea: Chat Posts, Johnny_McIvor proposed a hybrid model embedding finite chatboxes within topics for spontaneous, archivable discussions, while satonotdead cautioned about moderation challenges in live-chat embeds read more.
In Allow the ability to Edit post on rejection, tobiaseigen recommended clarifying rejection PM language—“Your post has been deleted but a copy is provided below for your convenience. Please post it again with the suggested changes”—and adding direct links back to the original post for streamlined revisions read more.
In Sending an api request in a plugin, NateDhaliwal sought methods to update user data without an exposed API key, and the discussion explored using internal service classes like PostCreator over external HTTP calls read more.
CommunityHow exactly do I get people to use my forum? merefield highlighted the importance of patience and multi‐platform outreach in post #17, while Ed_S recommended crafting weekly, question-based head posts to foster discussion in post #18.
CommunityLearnings from setting up neighborhood community on Digital Ocean merefield outlined the value of category-based notifications and chat in post #4, and tobiaseigen shared real-life use cases like emergency alerts in post #5.
SupportCustom Avatars Timelord asked how to auto-assign avatars on signup in post #1 and merefield pointed to the Selectable avatars setting in post #2, later confirming the random assignment behavior in post #6.
SupportAppended Number in Topic Timelord inquired about disabling the /2527 suffix in URLs in post #1, and Moin clarified the ID scheme’s advantages for permalink stability in post #2.
SupportProminent theme selector in header patrickemin proposed a header toggle for theme switching in post #3, and Moin suggested a targeted notification banner instead in post #7.
SupportDisable personal message between members Steve_John revisited how to block member-to-member PMs in post #1, and Moin detailed the personal message enabled group setting plus custom link options in post #3.
SupportImage upload processing NFULFX hit a mobile-only upload error in post #9, and NateDhaliwal resolved it by setting DISCOURSE_FORCE_HTTPS: true in post #10, with confirmation in post #11.
UXMobile composer: permanent full-screen sam championed the full-screen composer for better mobile flow in post #2, and Don reported iOS autofocus quirks in post #3.
UXAllow the ability to Edit post on rejection ice.d and JammyDodger explored a pending-item revision workflow and timer window in post #8 and post #12.
DevSending an api request in a plugin merefield walked through Rails MVC usage via console in post #3, and NateDhaliwal confirmed it met his needs in post #4.
DevModernizing inline script tags for templates & JS API Yuun demoed a custom avatar-size script in post #14, and NateDhaliwal proposed a site.mobileView conditional in post #15.
DevEmbed Discourse Comments in Discourse Topic Heliosurge explored iframe-style comment embedding in post #1 and linked to the original integration guide in post #478.
PluginDiscourse Reactions copymonopoly asked whether negative reactions persist as likes upon removal in post #391 and referred to the plugin overview in post #1.
#Integrations:Embed Discourse comments on another website via Javascript Heliosurge dove into iframe embedding options in post #478 and satonotdead shared Ghost integration tips in post #479.
Fun sign-off: After a day of fine-tuning avatars, embedding threads, and full-screen mobile bliss, our forum is sharper than ever—here’s to more lively discussions tomorrow!
Modernizing inline script tags for templates & JS API Lhc_fl reminded everyone that changeWidgetSetting on post-avatar is deprecated and pointed to Upcoming post-stream changes for theme/plugin authors alongside the Modernizing inline script tags discussion.
Can the “groups” link on /admin/users link to /admin/groups instead of /g? Moin highlighted the confusing redirect in Can the “groups” link and shared screenshots of being bounced out of the admin area.
‘Expand quote’ arrow new line creates gap in quote style JammyDodger reported quote-expansion arrows breaking into a new line on narrow screens in ‘Expand quote’ arrow new line.
Very minor tag issue Cate_Soule noted inconsistent tag-box styling between the homepage and /latest in Very minor tag issue.
When is it safe to Reset Update? blaisep asked about the red Reset Update button after a long-running upgrade; logs and advice in When is it safe to Reset Update?.
Bundling more popular plugins with Discourse core: NateDhaliwal questioned whether merging popular plugins into core would bloat the client and server, and david confirmed negligible overhead and streamlined translation workflows. read more
A new way to manage colour palettes: hugh unveiled a mobile-friendly palette list with live previews, clear status indicators, and streamlined management controls. read more
Themeable site settings are now available: A refreshed framework for themeable site settings launched, prompting featheredtoast to ask about including asset-related fields like onebox logos. read more
Third-party plugin repository hijacked: RGJ recovered a compromised GitHub handle after a repo-jacking incident, and schleifer welcomed him back to the community. read more
Can Discourse be used as the core discussion forum for an education or e-learning platform?: Suheb explored Discourse’s suitability for student-teacher discussions, and pfaffman shared real-world adoption stories. read more
Discourse Ember CLI Proxy Error: Wilson_Wang faced an ECONNREFUSED error during local dev setup, and pfaffman guided through running both Rails and Ember servers. read more
Auto close after x days since last response: stanigator sought a days-based auto-close option, and nat highlighted the checkbox to switch from hours to days. read more
Tag description is removing target=“_blank”: alltiagocom reported that raw HTML links in tag descriptions lost their target="_blank" attribute, and pfaffman pointed to the external-links setting in site preferences. read more
How to handle unreachable users..?: ToddZ asked about digest errors for suppressed email addresses, leading to a discussion on adjusting digest preferences and manual notifications. read more
Just had about 38 bot accounts and posts sign up and spam in the space of 30 mins: manton described a sudden bot-spam surge, and the community shared geo-blocking and hCaptcha tips to stem the flood. read more
Mobile composer: permanent full-screen: chapoi debated full-screen vs split-screen editor modes for mobile, gathering user feedback on quoting and multitasking. read more
Discourse AI: david announced the AI plugin is now bundled in core, reminding self-hosters to remove it from app.yml before their next upgrade. read more
#Extras
Nice way to run a dev env: NateDhaliwal shared a shell script to automate Git pulls, migrations, and builds, later refined with error-handling tips from elmuerte. read more
Additional groups on /about page are not aligned with the default groups: awesomerobot opened a PR to fix misaligned group badges on the About page. read more
Draft topic with scheduled publication misses destination category: tobiaseigen highlighted that leaving “Publish to” blank keeps shared drafts in the draft folder, suggesting UX improvements. read more
The Discourse team proposed bundling more popular plugins with core to streamline first-time user and developer experiences, sparking debate over potential bloat vs. a lean core in Bundling more popular plugins with Discourse core.
lindsey confirmed that the new Horizon theme is fully translatable in Crowdin after verifying the theme description string, easing localization in Introducing Horizon, our newest theme.
Several users hit a TypeError with the new hiredis Redis driver during rebuilds; sam reverted the change and guided on issue reporting in Rebuild error due to hiredis.
The experimental automatic image grids feature failed to wrap images uploaded in bulk; lindsey reproduced the bug in Markdown mode and is investigating in Automatic image grids not working.
A private community’s AI spam filter was overly aggressive, blocking legitimate posts until sam suggested disabling the feature under low-volume conditions in Overactive spam filter?.
A request to add admin tools (e.g., permanent delete, ownership change) directly on system action posts like closed or pinned is gathering use cases and edge-case feedback in Admin tools/wrench on small action posts.
The Contact Form plugin added a screenshot demo and configuration Q&A, with jericson confirming anonymous routing via spoofed addresses in Contact Form.
After removing the discourse-oauth2-basic plugin from app.yml, admins reported missing login settings; tobiaseigen guided on enabling core OAuth2 under /admin/plugins in Discourse OAuth2 Basic.
#Using Discourse
sam published a comprehensive guide to Discourse’s topic filter query language, covering /filter syntax, combining filters, and advanced search tips in Filtering topic lists in Discourse.
Announcementsevenlo discovered that the discourse-oauth2-basic plugin is now bundled in Discourse core, requiring its removal before upgrading to 3.4.6 stable. read more
AnnouncementsMoin updated the Horizon theme to leverage themeable site settings, thanks to PR #33645 discussed in post 41
BugMoin identified that the Automatic Images Grid only works when the locale is English, causing rendering failures otherwise; j.jaffeux landed a fix in PR 33823. read more
Bugondrej reported incorrect language keys in the moderator shield tooltip across locales, and awesomerobot confirmed a fix is incoming. read more
BugMoin experienced a 500 error when removing or changing a reaction due to an interaction with the ActivityPub plugin; sam traced it to model callbacks. read more
BugMoin noted that avatar menu entries appear bold and blue by default; jordan.vidrine confirmed this UI quirk is now fixed. read more
SupportMortenCopenhagen asked for a shortcut to tag everyone in a discussion, and Moin pointed out the @here mention with configurable site settings. read more
SupportMollyvog inquired about bulk-adding years to a custom dropdown user field; awesomerobot suggested using a confirmation field instead. read more
SupportSanika_Barve discovered unexpected system-generated emails sent on trust level promotion and learned how to disable or customize them. read more
Installationjoshhabka was blocked by local changes to templates/postgres.template.yml during ./launcher rebuild app and resolved it by removing the file. read more
InstallationJeremie_Leroy faced a migration error on bundle exec rake db:migrate and was guided to share log output for deeper diagnostics. read more
Featuresam moved the idea of embedding topic-filtered views via onebox to Feature Requests, exploring dynamic IFRAME solutions. read more
Featuresatonotdead and Heliosurge sparked a discussion on Chat Posts, debating public vs. private threads for sensitive conversations. read more
UXrokejulianlockhart found that HTML tables can overflow post boundaries in Markdown and the thread was reclassified under UX for further feedback. read more
oliver_grant struggled to reveal his public profile despite unchecking Hide my public profile due to trust level restrictions, leading Moin to explain the default hiding behavior in post #4 and awesomerobot to ask about the underlying concern in post #7.
hmmmnotsure reported that the 3.5.0.beta8-dev update broke OpenID, custom components, and introduced a page “trembling” issue, with David_Ghost confirming a missing sidebar post-update in post #2.
joshhabka encountered a server 500 error when accessing subscriptions under “Plugins” in the admin (/s/admin/products), prompting pfaffman to advise enabling force_https as a fix in post #3.
joshhabka also ran into OAuth woes: GitHub sign-in threw a “redirect_uri not associated” error (post #1), and LinkedIn OIDC returned “redirect_uri does not match the registered value” (post #1), highlighting potential misconfigurations.
alltiagocom discovered that entering a full hex color code in the category Color or Text Color fields resets after two characters; dax reproduced the issue and suggested pasting the value as a workaround in post #2.
Jagster asked if Nginx geoblocking could be applied inside the Discourse Docker container; elmuerte recommended including a custom template like web.ratelimited.template.yml via the launcher (post #2) and pfaffman confirmed this is the proper approach to persist changes (post #4).
#Translations
Canapin highlighted inconsistent plugin naming in #French site settings, from mixed-language labels to truncation issues; Moin pointed back to an earlier #Crowdin discussion and sidebar link length topic as context in post #1.
copymonopoly sought an updated method for installing Discourse plugins from private Git repos via SSH keys, and learned from Discourse core advice to use an OAuth token (post #3) while noting manual cloning into /plugins may bypass updates (post #4).
undasein reported the Advertising plugin missing from the admin UI; Moin suspected ad-block interference and shared a direct settings URL in post #385, with MarkDoerr noting the plugin’s rename and new nav path in post #389.
Ric proposed maintaining a curated topics list for inclusion in digest emails to create newsletter-style highlights (post #1).
LW2333 suggested adding an order:op_edited sort option to filter topics by the original post’s edit timestamp for categories like Announcements where the first post holds key info (post #1).
patrickemin requested an admin setting for defaulting Discourse Post Voting answers to chronological rather than by votes to align with forum user expectations (post #1).
Heliosurge and Ethsim2 reignited the Feature discussion on allowing groups to own other groups for streamlined permissions, exploring multi-level ownership rules (post #20 & post #21).