The debate over AI-generated forum content continued. Nickdb shared how his team built an AI agent to detect AI-written posts based on tone and structure, while Merefield argued such posts feel like “walking through treacle.” Takiro reported that their art-focused community’s AI ban has been well-received, relying on community reporting rather than witch hunts. read more
Takiro reported a Failed to optimize image error after upgrading Discourse, traced to the deprecated discourse-topic-previews-sidecar plugin. David confirmed the cause and recommended removing the plugin. After removal, avatars worked again. read more
A user reported that the global chat search on mobile cannot be scrolled on touch devices. Awesomerobot added a fix that will ship in the next update. read more
Laguna asked how to show upcoming events in all categories (not just the event category) when using the Right Sidebar Blocks component. Moin provided a solution using a value transformer with a small theme component. read more
#Theme component
Sk-Or-V1-Contents encountered a missing preview button when testing the Mobile Composer Preview component in Theme Creator. Moin guided them to the built-in preview button at the bottom of the composer, which is more reliable and doesn’t suffer from reload issues. read more
Danielle announced the replay of the Community Office Hours session on embedding Discourse as a full-page comment system. Key takeaways include support for Ghost, WordPress, static sites, and the ability to create companion topics automatically. read more
#Announcements
Feedback on the unified new view for the topic list continued. Seanblue reported that unread counts often become out of sync, especially after reading a watched topic. Martin investigated the issue and identified that the browse-more component doesn’t update from the topic tracking state. Chapoi noted that the related topics line is intentionally hidden in Horizon for a cleaner look. read more
The Solved improvements feature (allowing members to indicate they’re experiencing a reported issue) received mixed feedback. Lillian and Lilly argued that a simple “me too” button could prevent users from explaining unique variations of an issue. Lindsey clarified the feature is optional and category-specific. read more
#Plugin
Falco merged a PR fixing several issues in the Resenha voice rooms plugin. Nathank reported that the lock micro-icon in private rooms is too small and the participant list is hard to find when the room is inactive. read more
Akanora reported that the Translate to Turkish feature has been generating archaic Ottoman-style language instead of modern Turkish. Falco identified that the AI helper prompt was too “greedy” with transformations and pushed a fix to keep translations faithful to tone and formality. read more
Editor0732 discovered a security gap: grace‑period edits bypass the skip_review_media_groups media review check. A user can post plain text, then add images within the grace period without any edit indicator, and the post never enters the review queue. read more
Sober shared a log showing S3 backup uploads failing with a timeout error after upgrading to v2026.8.0-latest. The multipart upload to AWS S3 aborted due to an idle connection timeout. read more
#Feature
Zogstrip merged a PR to allow using input for the value of manually mapped Boolean-type fields in the Call Workflow step. read more
A long‑awaited feature for multi-language preferences is now in testing. Nat shared screenshots of the new user interface where users can select their language order to see localized content. read more
Per1234 requested that the review queue’s “User Needs Approval” flags include a Suspend option in addition to Delete. Moin linked to a similar earlier request. read more
Zogstrip fixed an issue where formatted “Reason” text in flags (used by Workflows and Automation) was displayed as a single line. The Security fix had broken HTML/Markdown rendering; the PR restores it. read more
The Team group was active across many topics yesterday. Here is a summary of their contributions:
David helped Takiro diagnose the avatar optimization error, pinpointing the deprecated discourse-topic-previews-sidecar plugin as the culprit. He also noted that he would send a PR to the plugin maintainer before it was found archived. read more
Zogstrip merged PRs for two feature requests: allowing user‑supplied input for Boolean Call Workflow fields PR link, and restoring formatting support in flag reason text PR link. He also fixed the duplicate poll title in email notifications PR link. read moreread moreread more
Awesomerobot fixed the mobile chat search scroll bug with a PR PR link and advised on ActivityPub domain change limitations, recommending manual database updates. read moreread more
Falco merged a PR addressing various issues in the Resenha voice rooms plugin PR link and debugged the Turkish translation problem, attributing it to an over‑eager AI prompt and pushing a fix PR link. read moreread more
Sam acknowledged a Gemini schema compatibility issue in the Workflows plugin and announced a move to the Interactions API for a more stable bridge. read more
Angus pushed fixes for the Custom Wizard plugin and advised a user to update their site. read more
Lindsey provided clarification on the “me too” Solved feature, reiterating it is optional and category‑specific. read more
Danielle authored the Office Hours replay announcement, detailing the new full‑page embed experience. read more
Chapoi confirmed that hiding the unread/new topic line below related topics in Horizon is intentional decluttering. read more
Martin investigated reported bugs with the unified view’s unread counts and promised a fix for the suggested topics priority. read more
Nat announced the multi-language preferences PR and encouraged testing on meta. read more
Lillian shared feedback that the “me too” button could obscure unique user issues in support forums. read more
It seems the em dash is now a dead giveaway of AI assistance – though some of us refuse to drop our standards for the bots.
It was a bustling day on Meta, with 82 new posts across 31 topics, sparking 112 likes. The community dived deep into dark theming, plugin releases, maintenance strategies, and the evolving role of AI in forums.
Remove the pure white on text – Alltiagocom raised a compelling case for softer white text in dark mode, citing eye strain. Awesomerobot suggested the default may already be #ddd, while Moin pointed out Horizon themes use #fff. The discussion highlights a growing need for accessible color palettes. read more
#Plugin
Resenha – Discord-style voice rooms – Falco rolled out major updates: private STUN/TURN via coturn, session recording with LiveKit, participant flags, and right-click menu controls. Nathank praised the quick fixes. read more
Event Duplicator plugin – Lou released a new plugin that duplicates calendar events/topics into future time periods, with configurable date-shift strategies and duplicate tracking. Nathank suggested extending it for monthly events. read more
Angus’ Events Plugin – Nathank advised BTripz on moving topics out of a problematic category after a plugin failure, referencing an active PR. read more
Discourse Workflows – Dennisjbr discovered a Gemini API compatibility issue with additionalProperties in tool schemas; Sam confirmed a move to the Interactions API next week. read more
#Feature
Workflow Boolean fields – Zogstrip and Renato both submitted PRs to allow input values for manually mapped Boolean fields; Per1234 thanked them for the swift fix. read more
Discounts based on trust levels – Satonotdead explored automatic lifetime discounts for specific groups; Pfaffman suggested custom products hidden via CSS as a workaround. read more
Suspend from review queue – Zogstrip implemented a long-awaited “Suspend” action in review resolutions, with PR #42205. read more
Formatting flag reason text – Zogstrip fixed support for markdown formatting inside flag reasons, much to Per1234's relief. read more
#Self-hosting
Maintenance page workaround – Alltiagocom shared a Claude-generated Cloudflare Worker approach for instant maintenance pages. Merefield and Lilly countered with the dual-container install for near-zero downtime, complete with step-by-step worker code. read more
One server for two Discourse communities – Pfaffman provided exact volume mount instructions for multisite.yml; Ethsim2 refined the configuration details. read more
#Community Building
Drastic drop in support forum activity – Alltiagocom and Nickdb debated AI’s role; Tris20 expressed weariness with LLM output and a longing for “messy human text.” read more
Forums that forbid AI content – Nickdb shared cost-saving tweaks for AI moderation; Jordan451 humorously noted the irony of humans proving they’re not machines. read more
Opening forum goes to old topics – Zogstrip traced the cause to bfcache-friendly headers and issued PR #42207, giving NateDhaliwal a long-awaited fix. read more
S3 upload failure on v2026.8.0 – Pfaffman identified a network timeout as the likely culprit behind the error. read more
#Announcements
Discourse ID now available – Karthik_K1 noticed the login button still says “Discourse” instead of the site name; Moin suggested a cache delay. read more
July 31st intermediate releases – David announced critical security fixes for v2026.8.0-latest, v2026.7.1, v2026.6.2, and v2026.1.7. read more
Redesigned admin dashboard – Sren-1 struggled to locate the version info; Moin pointed to /admin/update and /admin/manage-updates. read more
Nested replies appear at the top – Markvanlan confirmed this is expected behavior; posts move to their correct position on refresh. read more
Pasting HTML into composer – One1 reported extra lang spans; Moin noted Renato is working on a fix in PR #42163. read more
Mobile Firefox scrolling on screen lock – Riking captured a video of the scroll jumping to bottom when locking the phone; a new bug report awaiting investigation. read more
#Theme component
Sidebar Menu Reorder – Satonotdead hit a snag with duplicate section names; Lilly (not team) clarified the CSS-based limitations, while Moin explained why the component can’t differentiate identical slugs. read more
The Discourse team was hard at work shipping fixes and engaging with the community:
Zogstrip led the charge with four PRs: solving the workflow Boolean field input (#42161), fixing the bfcache navigation bug (#42207), and adding suspend actions to the review queue (#42205). He also tackled flag reason formatting, offering clear explanations in each topic.
Moin provided invaluable support across eight posts – from clarifying Discourse ID naming delays to guiding Sren-1 on locating version info in the new dashboard, and even mediating a sidebar reorder dispute with patience and technical depth.
David posted the critical release notes for the July 31st security updates, ensuring all self-hosters could patch promptly.
Awesomerobot weighed in on the dark theme discussion, confirming the default palette and suggesting a possible theme-specific variation.
Sam confirmed plans to migrate Discourse Workflows to the Gemini Interactions API, addressing the additionalProperties issue raised by Dennisjbr.
Riking filed the mobile Firefox scrolling bug with a screen recording and also contributed to debugging the WAF-related 403 errors on draft saving.
Markvanlan clarified nested reply behavior, reassuring users that the top placement is intentional.
Chapoi's earlier dashboard insights were cited, but no new posts from them appeared in this window.
The team’s responsiveness and transparency (especially with PR links and next-step updates) continue to make Meta a model for collaborative support.
From fixing bfcache mysteries to duplicating grand-prix events, the community proved that even on a “quiet” day, there’s always a spark – and a PR to address it.
Any cheaper alternatives to Hetzner? – Alltiagocom kicked off a hunt for budget VPS options after Hetzner raised prices. Canapin clarified the difference between CX and CPX servers, while Lilly shared a bash script that monitors Hetzner stock and posts alerts to Discourse. Other members suggested Netcup and advinservers.com. read more
Maintenance page workaround – can this be done? – Lilly provided a detailed guide on using a Cloudflare Worker to display a custom maintenance page during container swaps. Merefield debated its usefulness and stressed the importance of adequate server specs, while Alltiagocom weighed the costs and benefits. read more
“Start Updating” button lacks a button styling – Canapin noted the button doesn’t look interactive. Moin confirmed it’s a regression from the “modernize Foundation” change and showed a screenshot of the previous style. read more
About nesting subcategories on dropdown – Satonotdead proposed displaying subcategories nested in the main dropdown to reduce noise for new users. Mcwumbly agreed it’s worth exploring and suggested possible checkbox interactions. read more
Remove the pure white on text – Alltiagocom shared frustration with the brightness of text in dark themes. Moin suggested trying the “dark” palette, and Awesomerobot chimed in with color palette options. read more
Can someone clarify the ‘posts read’ TL3 promotion logic? – NateDhaliwal asked about the formula in TrustLevel3Requirements. Mcwumbly explained that tl3_requires_posts_read is a percentage, capped by tl3_requires_posts_read_cap. read more
New core features system specs in plugins and themes – Gormus shared a code snippet showing how to set SiteSetting.theme_authorized_extensions within RSpec to enable core feature testing. read more
Has something changed with pasting html into the composer? – One1 reported unwanted lang spans appearing when pasting HTML. Moin pointed to a pull request that fixes the issue. read more
Broken Wizards – Lebron came back from a long absence and described that the Custom Wizard plugin works for admins but not regular users after an upgrade. NateDhaliwal suggested posting in the plugin’s topic for better visibility. read more
Mobile Firefox scrolling to bottom of topic on screen lock – Riking identified the culprit: the better-osm-org user script, not a core bug, after testing in safe mode and on Meta. read more
Automatic deletion of old and closed topics? – Tealk shared a topic‑pruning script that deletes posts via the API, with Moin asking about the criteria used. read more
Idea‑voting, two different styles? – Ecki noticed inconsistent voting interfaces in the same category. Moin explained the difference between the topic voting plugin (when category type is “Idea”) and the post voting plugin. read more
Tag‑icons plugin icon display issue – Iouvps reported missing icons after an upgrade. Moin discovered that the plugin now requires tag slugs instead of names, and provided a step‑by‑step walkthrough that solved the problem. read more
#Feature
Combining Category types – Ecki tried to combine solved, topic voting, and events in one category and found conflicts. Moin asked how the plugins were used before the category‑type system was introduced, sparking a discussion on design trade‑offs. read more
#Plugin
Event Duplicator: duplicate calendar events/topics into a new time period – Lou announced v1.1.0, adding a “Shift (months)” field to the review page, responding to Nathank’s request for monthly duplication. read more
#Announcements
Solved improvements: Allowing members to indicate they’re experiencing a reported issue – EricGT asked about a “Me too” report, and Mcwumbly provided a ready‑to‑use SQL query to generate one via Data Explorer. read more
Moin provided clear answers across multiple topics: explaining the tl3_requires_posts_read percentage (in the TL3 logic topic), diagnosing the tag‑icons slug issue, and linking to the composer fix PR. He also discussed the “Start Updating” button styling and offered advice on category types.
Canapin flagged the “Start Updating” button styling and pointed out that Hetzner’s CX servers are often sold out, noting the price increase.
Merefield shared opinions on the maintenance page (calling it extra infrastructure) and gave practical advice on server sizing for the dual‑container setup, recommending at least 4GB RAM and 3 vCPUs.
Mcwumbly explained the TL3 promotion logic and provided a custom SQL query for the “Me too” report in the solved improvements topic. He also supported the idea of nesting subcategories in dropdowns.
NateDhaliwal asked the clarifying question about TL3 and later confirmed he understood the answer. He also advised Lebron to post the wizard issue in the plugin topic.
Sam mentioned a new PR for the Workflows plugin that adds interaction API support, inviting testing.
Fun Sign-off
Between hunting for budget servers, building Cloudflare maintenance pages, and tweaking TL3 requirements, the community certainly had a day full of dynamic solutions—let’s hope your forums stay as sleek as that “Start Updating” button will look once it gets its border back!
Chrisrannounced the PostgreSQL 18 update for self-hosters, detailing the new locale provider, disk space requirements, and step-by-step upgrade instructions, including the option to postpone via template switching. read more
PostgreSQL 18 update for self‑hosters — Chrisr announced the long‑awaited upgrade to PostgreSQL 18, moving from PG15 to the new built‑in locale provider. The upgrade requires roughly 2× the database size in free disk space; several users reported single‑CPU issues and upgrade‑loop problems, with fixes arriving quickly. Discussion covers disk space requirements, migration options, and performance expectations. Read the full announcement
High‑context topic cards now enabled by default in the Horizon theme — This change sparked feedback from educators who prefer the compact view; a theme component was suggested as an alternative. See the discussion
Introducing the unified new view for the topic list — Users are unhappy about losing the separate “unread” count on the main page. Martin confirmed that the data is still available and a theme component could restore it; internal discussion may lead to a preference option. Join the conversation
Latest update this morning broke my Discourse — Sandra.Mccollum experienced a failed upgrade via the GUI; after manual intervention (installing PG18 and a newer vips) the site recovered. The thread highlights the importance of running ./launcher rebuild twice for major version bumps and using CLI instead of GUI for updates. Read the troubleshooting
Cannot view post preview in mobile composer? — The missing preview button is by design, replaced by the rich text editor, but the editor doesn’t support all Markdown features (e.g., [color=red]). Chapoi is considering re‑instating the preview button if necessary. Share your feedback
Database cleanup before PostgreSQL 18 upgrade — Scavin asked about retention periods for large log/statistics tables (topic_views, post_timings, etc.). Community advice: keep the primary tables, but you can control AI audit log retention via settings; disk space is likely sufficient with the updated 2× guidance. Get the details
Unable to switch accounts — When using Discourse as the authenticator, users must log out of the identity provider first. Pfaffman suggested impersonating via the admin panel or clearing browsing data. See the solution
I’m using a Unix socket between Caddy and Discourse — Intermittent “unix:” errors in the inet field were traced to proxy configuration; Falco confirmed the proxy chain is misconfigured. Users are testing socket reuse after rebuilds. Discuss the fix
Learning music (off‑topic but interesting) — A delightful off‑topic thread about music theory, alternative notations, and personal experiences. HAWK split it out of another topic, and Merefield shared his jazz piano approach. Enjoy the music talk
Scalable engagement models — HAWK asked about one‑to‑many formats (webinars, office hours). Mcwumbly shared how Discourse staff announce features via direct engagement with the people who built them. Add your model
#Feature
Add {username} as a template param in AI persona system prompts — Falco merged the PR, completing the feature. This allows AI personas to reference the current user by name. Check the merge
#Self-Hosting
Switching between Discourse release channels / versions — David updated the guide to modern terminology and clarified that git pull is usually unnecessary since the launcher auto‑updates. Read the updated guide
Ayudeme no he podido instalar — A Spanish‑language installation issue; Tgxworld noted a bug in the recent update that has been addressed, so a rebuild should fix it. Get help
#Plugin
Resenha – Add Discord‑style Voice Rooms — Satonotdead reported a foreign‑key violation when deleting voice rooms; Falco merged a fix quickly. The follow‑up also highlighted a path‑update quirk. See the fix
Inject html only on one page — Awesomerobot provided a GJS snippet using the router service to conditionally render content only on the homepage or specific routes. Learn the technique
Grace period edits bypass skip_review_media_groups — Zogstrip confirmed the bug and a PR has been merged. However, Editor0732 raised a deeper concern about the timing of media review for edits vs. new posts. Track the fix
#Site Feedback
Daily Summary Feedback — Sam is reworking the summary to add a validation round; the thread is a hub for meta‑level improvements. Give your input
The Discourse team has been exceptionally active, especially in response to the PostgreSQL 18 rollout and various bug fixes.
Chrisr led the PostgreSQL 18 upgrade announcement and answered numerous questions about disk space, upgrade procedures, and single‑CPU pitfalls. He also corrected the free‑space check and updated the core‑count detection. (PostgreSQL 18 topic · single‑CPU fix
Falco merged the “Add {username}” AI persona PR, fixed the Resenha voice‑room deletion bug, provided advice on the Unix socket issue, and shared his successful Pi 5 upgrade experience. (AI persona merge · Resenha fix · Pi 5 success
David modernized the release‑channel guide and confirmed that git pull is rarely needed. (Guide update
Chapoi addressed mobile composer preview concerns and explained that the rich text editor is the intended replacement, while noting he may re‑add the preview button if necessary. (Mobile composer discussion
Tgxworld helped a user with an installation error, noting the bug has been fixed in the latest update. (Installation help
Awesomerobot provided a detailed code snippet for conditionally injecting HTML on specific pages and also fixed the “Invite Restricted can’t remove” bug. (HTML injection snippet · Invite fix
Sam responded to daily summary feedback and is planning a rework of the summary validation. (Summary feedback
Zogstrip confirmed and fixed the grace‑period media review bypass. (Bug fix PR
Martin discussed the unified new view and provided insight into how the separate unread counts can be restored. (Unified view conversation
Mcwumbly shared team practices on announcing features in the scalable engagement models thread. (Engagement models
Yesterday’s biggest adventure was definitely the PostgreSQL 18 upgrade — let’s hope all the single‑CPU users remembered to check their nproc before diving in!