Falco responded to feedback on the bundled Voice feature, welcoming Thomas_Rother's positive report on rooms with up to five people, then asking why a separate LiveKit backend would be preferred before recommending the default mesh setup for most deployments.
Sailor discovered that a Gemini error event inside a streamed reply is ignored by Discourse AI: partial text gets stored as the complete translation, with nothing logged and no retry. On one site, 23 of 394 Flex-tier translation calls (5.8%) ended this way, and Sailor proposed treating any top-level error in a streamed event as CompletionFailed.
In an extremely related report, Sailor found that a Gemini request blocked via promptFeedback.blockReason is treated as an empty reply and never translated, causing the locale-detection backfill to repeat blocked requests every five minutes; the suggested fix includes visible error logging and an attempt limit for topic detection.
Twofoursixeight showed how pasting quotes on Samsung devices (S26 Ultra and Galaxy Tab S10 FE) makes the Samsung Keyboard append backslashes in the markdown editor, breaking pasted text with screenshots and a screen recording.
#Community Building
Ethsim2 is seriously considering attending 40C3 in Hamburg and suggested a temporary text-only notice in discourse_docker to reach self-hosted operators, while Terraboss countered with a low-cost café meetup idea, noting Congress tickets plus travel can easily exceed €200.
#Feature
Pfaffman suggested tagging the backup gzipping feature request as #pr-welcome: “It’s a small fix, but breaking backups is also very, very bad” — though Ed_S noted the tag isn’t available in that category.
Buildings burn or flood; people fall out with each other, or die; companies change policies and make arbitrary decisions; any single copy of data can turn out to be bad or inaccessible.
Ed_S preserved an untested LLM-generated monkey-patch in the Git Hang thread to work around the “Oops” error affecting admin/mod upcoming-changes, along with an LLM-suggested fix for the underlying fragility.
Rlauriston hit Google Tag Manager configuration errors while switching from AdSense to a manual ads.txt, including unknown variables like DL-page-title and DL-page-url, after NateDhaliwal and RGJ suggested checking the DevTools console and disabling the ad blocker.
Zalunda found the cause of the missing download counter for attachments: a new link-visibility SQL filter in topic_link.rb discards internal file uploads along with links to private topics, and proposed a one-line fix.
That’s a wrap for today: between Gemini meltdowns, crypto tickers, and plotting affordable Hamburg meetups over good coffee, Meta stayed wonderfully busy — just remember to back up your forum (and your voice-room karaoke setlist) before the weekend!
It’s been a busy 24 hours on Meta! From a brand-new crypto ticker plugin to a deep-dive bug hunt in Discourse AI, there’s plenty to catch up on. Here’s your daily digest.
Key Stats
Over the last 24 hours, the community produced 38 new posts across 21 new topics, with 28 likes given out along the way.
Discourse AI: parallel tool calls silently dropped with Mistral (streaming) — Jmx filed a meticulous ai bug report demonstrating that when Mistral streams multiple tool calls in a single chunk, Discourse AI runs only the first one and silently drops the rest, producing answers from partial results. They included a network-free repro and raw SSE evidence; Zogstrip encouraged them to open a pull request for the fix. read more
#Feature
Use translated posts when emailing users with their user language set — With content-localization enabled, Nat announced that notification and activity summary emails now use translated content, respecting users’ automatic translation preferences and understood languages, and falling back to original posts when translations are missing or stale. Sailor noted the one remaining gap: push notifications for the same posts are still sent before translations are stored. read more
Discourse Workflows — Andresfromsonar asked why the AI Agent step requires the agent to have Bot enabled in the workflows plugin, noting they spent a few minutes wondering why an agent wasn’t selectable in the dropdown, and suggested documenting the requirement. read more
Discourse Native App — Forumcopilot pointed a member looking for a native app toward their open-source Discourse app, now in public beta, linking to the release thread with download instructions. read more
#Theme component
Twitter Native Embed — Lhc_Fl suggested globally replacing https://x.com with a proxy like https://fixupx.com to work around embed issues, but Terraboss explained the component’s whole point is direct embeds; a proxy adds another service that can fail or change, rewrites stored links, and doesn’t solve the underlying problems. read more
Ed_S contributed a thoughtful threat-model perspective to the forum recovery discussion, outlining scenarios from burning buildings to permanently unavailable admins.
Lilly recommended offsite backups, S3-compatible object storage, and dual-container builds in the same recovery topic, based on real-world restore experience with Cloudflare R2.
Merefield pointed a plugin developer to the plugin installation guide in the “Why do plugins that require data fail to start after installation?” topic, noting that plugins are cloned in the after_code section.
From crypto tickers to secret ballots, from Mistral tool-call juggling to an open-source mobile app going beta — if yesterday’s activity were a crypto chart, it’d be all green candles and zero dropped calls.
Yesterday proved that even the most cryptic bugs — from disappearing Gemini tails to admin accounts stuck in an “Oops” loop — are no match for sharp-eyed testers and a very busy Team with a steady stream of pull requests.
In the last 24 hours, the forum saw 57 new posts created across 22 new topics, and those posts collected 60 likes along the way. Here are the top contributors of the day:
Merefieldproposed enriching GitHub repository oneboxes (tagged onebox) with language, star rating, and fork count metadata, and already has a PR open. In the discussion, RGJ asked whether those numbers would go stale; Merefield explored webhooks (sadly, repo-owner only) and polling before settling on a “data correct at…” disclaimer in subdued text — a pragmatic compromise that doesn’t demand complex background jobs. read more
With the unified topic list view rolling out, Gunnar opened a feature request for a permanent opt-out, explaining that keeping the Unread tab separate is much faster for catching up on active threads and integrates better with Discourse Hub deep links. Meiadeleite echoed the request in the announcement thread, noting that on a large forum the merged view “drowns” what she wants to focus on.
#Extras
Samwalked through an ingenious workflow that automatically updates a Discourse post whenever Tibo posts on X, using Discourse Workflows’ data tables as a cache to avoid API cost overruns, configuration nodes, and carefully paginated X API calls. Sps called it incredibly useful — a must-read for anyone automating social feeds. read more
Scavinshared before-and-after monitoring data showing that rebuilding his Discourse container dropped memory usage from roughly 2.7–2.8 GB to 2.3–2.45 GB — a ~15% (~400 MB) reduction — and it remained stable after five days. Self-hosters, consider scheduling a rebuild.
In the composer redesign test thread, Agemo spotted a share icon in the top-left of the composer pop-up, which seemed to clash with the established upload icon. Chapoi clarified that it’s a font-mapping quirk in the “Meta Branded” theme rather than an issue with the new design itself. read more
Adoption talk continued for the bundled Discord-style voice and video rooms: Thomas_Rother confirmed that with a five-person room limit (tagged voice), the feature is enough for most ad-hoc meetings, and he plans to open it up for all communities on his instance.
Supermathiereported that the code-block copy button strips leading spaces — in both posts and chat, on Chromium/Linux. Sam confirmed it’s an ancient bug tracing back to the original 2020 implementation and pointed to a fix.
Davidposted a fix for restore failures linked to a non-working database reconnect, thanking RGJ for the report — the change landed in PR #44323.
Ethsim2 filed a meticulous bug report about edited posts in DiscourseHub on iOS occasionally remaining stale until refresh, even though the edit saves successfully — complete with an isolation test plan for reproducing it on an iPhone. Fhe confirmed seeing the same behavior.
Yesterday gave us leaner containers, fresher oneboxes, and a Discourse post that never misses a tweet — a pretty good day to be a forum, if you ask us!
Samshared a complete walkthrough of using Discourse Workflows to automatically update a single post whenever a specific X account publishes a tweet. He used a data table as a cache, an AI agent to build the workflow, and a fake X API during development to keep costs down. Sps called it “incredibly useful”.
#Community Building
Maereplied to questions about a possible Discourse meetup around the 40C3 Chaos Computer Club Congress in Hamburg, saying confirmed attendees are important before any formal planning begins.
Scavin reported that rebuilding his Discourse container cut memory usage from ~2.7–2.8 GB to ~2.3–2.45 GB — a ~15% reduction that stayed stable for five days. read more
In the composer redesign test topic, Pmcpa flagged that the Reply button sits far to the right in the Standard Markdown Editor, and predicted “users are users” muscle-memory complaints. read more
Meiadeleite asked for an opt-out option for the unified new view, explaining that combining New and Unread makes large forums harder to manage.
Southpawsuggested that custom sidebar sections should be available below the experimental user sidebar in PMs, so users can reach their bookmarks and links without leaving a conversation.
Soma discovered that a Slack integration failing to react to new posts was caused by an accidentally deleted user account, not by the Chat Integrations plugin itself. read more
Jmx wrote up a detailed Let’s Encrypt investigation where cert_exists() truncates the issuer bundle, rejects valid certificates, forces reissuance, and can trigger rate limits. He proposed a fix in discourse_docker.
David shared a PR to fix restore failures caused by a broken database reconnect.
Awesomerobot has a fix in queue for Discourse-boosts Float-Kit closing unexpectedly when the keyboard opens on iOS devices.
#Plugin
TripleUintroduced JTech Tools, the all-in-one plugin behind JTech Forums, combining whispers, REQ-PM, Dumbcourse, a Telegram bridge, sale-thread listings, moderation tools, and a full theme. Each module has its own on/off switch, and it supersedes the earlier Dumbcourse and MiniMod plugin threads.
Mariodsantanareleased an update for the Calendar RSVP plugin, fixing class names changed during the Calendar/Events rename, a removal-RSVP bug, and history entries landing at the bottom in translated headers.
From auto-posting X feeds to squeezing a full forum onto a keypad phone, yesterday reminded us that Discourse can run just about anywhere — if you have enough plugins.
Pfaffman kicked off a search experience thread with the now famous opening line, “Seriously?”, after Ask AI missed the recent PostgreSQL 18 upgrade announcement. Merefield described the AI search view as over-engineered and suggested it shouldn’t be the default, while Natreplied directly saying she had already updated the prompts to value recent announcements more. RGJshared another example where Ask AI returned a 2016 topic for post custom fields, and Nat acknowledged that meta’s search synthesizer agent needs further fine-tuning. The thread also touched on Typesense and whether recency should outweigh raw popularity in search results, with Pfaffman eventually moving the conversation to #general.
Puchal reported an avatar upload error affecting all users: undefined method 'optimized_image_resize_instructions'. After RGJ asked for version and plugin details, Puchal confirmed they are running v2026.9.0 with the Topic Previews sidecar plugin, and RGJ pointed to the relevant TLP thread as the likely culprit.
Soma solved the Chat Integrations plugin not reacting to new posts: it turned out the account the plugin used for viewing posts had been accidentally deleted during a cleanup. The fix was simply restoring that account.
Tobiaseigen reported intermittent 2 failures from their AI bot using claude-sonnet-4-6. The errors lasted about six hours before resolving on their own, pointing to a temporary Claude availability issue rather than a Discourse problem.
Jenmck is stumped by an assign plugin user search bug: non-admin users can open the assignee list but searching for any username returns “No matches found,” even though the user is already visible in the dropdown. The issue reproduces on a test account and appears to happen after cache clears, despite all group and category permissions looking correct.
#Self-hosting
Elmuerte noticed an out-of-date warning on the dashboard despite running the latest release/2026.7 commit. The root cause is that the version check is sent against branch=release/2026.7 instead of branch=esr, producing a different API response even though the branches should be aligned.
#Announcements
Carlo praised Falco’s full comment system embedding integration: “Obviously, every website is different, so there’s always going to be some need for customization, but we’ve been waiting for something like this for years.”
Lief asked in Search better in your community with Ask AI whether admins can set classic search globally and whether the AI “talking head” can be customized. Nat shared an API initializer snippet to replace the icon with discourse-sparkles. Meanwhile, Ljpp reported that Ask AI missed recent context in roster/coaching questions on Tappara.co, preferring high-profile topics from previous seasons.
Per1234 questioned what “experimental” really means in Experimental user sidebar navigation, and Chapoi confirmed that experimental features are not guaranteed to ship and could still be scrapped.
#Plugin
Carlo replied to Osama in Discourse Newsletter Integration, saying he will open a PR for his Listmonk API integration. He noted the official plugin was downloaded as a ZIP rather than forked, so he needs to clean up the diff, but the integration is already working perfectly on his forum.
The Discourse blog published a companion topic for How to Keep a Discourse Post in Sync with an X Feed, explaining how Discourse Workflows and an AI agent turned OpenAI’s 28 days of shipping announcements on X into a live table on the OpenAI Developer Community.
Yesterday’s meta was a day of search frustrations, AI timeout walks, and long-awaited comebacks — but the real lesson is that even the smartest search still needs a little human tweaking to find its way home.
Over the past 24 hours, Meta saw 55 new posts across 28 new topics, with 42 likes exchanged. Here are the top active users by posts and likes received:
Bck055 was puzzled by email addresses ending in @does-not-exist.invalid appearing as forum users, and NateDhaliwalexplained that these are agent personas created by the ai plugin, viewable under /admin/plugins/discourse-ai/ai-agents. Bck055 had been confused about a related “AI discover enabled” option, and NateDhaliwal clarified that the agents are harmless.
Satonotdead opened a discussion about how to track personal messages sent by system and AI bot placeholder accounts, suggesting workflows or HTTP nodes might invite staff to these PMs. Putty shared their own workflow that watches for agent PMs and auto-tags them, noting it works because their agent auto-replies.
Jenmck reported an issue where users with assignment permissions see only a few names in the Assign dropdown and get “No matches found” when searching, despite having correct group settings. Putty linked to a similar bug from 2024 as a possible match.
Putty asked whether the AI agent chats are working on Meta, noting that other AI features still function but the forum helper bot wasn’t responding — jokingly suggesting the agents might be “taking an early weekend.”
#Feature
Ganncampsuggested different wording for the badge count display, noting that the number shown reads like an instance-wide stat rather than the user’s personal award count. The proposal quickly gained support, with 4 likes.
Tobiaseigenproposed turning ActivityPub handles such as @fediforum@mastodon.social into clickable links automatically, since the URL is already derivable from the handle. Jagster pointed out that federation behavior may complicate things, and Tobiaseigen responded that formatting issues could be handled by the plugin.
Elmuerteexplained a false “Your Discourse installation is out of date” warning when pinning to release/2026.7 instead of esr, since the version check API receives branch=release/2026.7 instead of branch=esr. They argued both branches should produce the same result.
#Announcements
Per1234 asked whether an “experimental” change is guaranteed to become an upcoming release, and Chapoiconfirmed that experiments can be scrapped. Satonotdead suggested testing changes on Meta and sharing feedback with the dev team to guide which experiments move forward.
In a lively Ask AI discussion, Nat shared a code snippet for customizing the AI icon using api.replaceIcon, while Ljpp reported that Ask AI sometimes misses time context, returning outdated roster information on their hockey forum.
Eilgnawannounced that Dexo, the open-source native iOS client for Discourse, is now officially available on the App Store. The app remains fully open source and feedback is welcome.
Falcosteered a WSL user toward the official development installation guide, noting that WSL is intended for development rather than production installs.
With AI agents apparently taking an early weekend, a DCS World server card making its debut, and plenty of WSL and iOS quirks to go around, it was another wonderfully diverse day on Meta. See you tomorrow!
In Embed Discourse as a full comment system on your site, Falco responded to a community member’s long-awaited request for embedding, noting that those who have already customized their Discourse instance to match their website are “already half-way there.”
Scavin reported that deeply nested [details] sections caused severe performance issues, including a 31-second Markdown endpoint response. Ethsim2 identified an exponential conversion bug and opened a draft PR to fix it, while also working on a configurable details_max_nesting_depth site setting.
#Plugin
Pacharanero suggested adding an inline link to the Voice topic in the OP of Resenha, so users can easily find Discord-style voice rooms without scrolling to the bottom.
Kairo162 asked for a status update on the See TL3 Progress plugin; NateDhaliwal acknowledged he had been busy but committed to starting the rework within a day or two.
Happyhappy reported that group owners can only add users one at a time when inviting existing members, suggesting that comma-separated lists (or even emails) should be supported, in Invite users to a group.
Bck055 ran into an issue where DiscoTOC disappeared after an upgrade, but NateDhaliwal traced it down to nested replies interfering with the theme component; disabling nested replies resolved it, as detailed in the TOC fix topic, with a reference to the DiscoTOC component.
DanEss shared that the GitHub plugin was throwing Discourse::GithubApi::Error: GitHub API error (status 301) when trying to save a github_linkback_access_token, as seen in GitHub Plugin API error 301.
Ethsim2 dug deep into the exponential performance issue caused by nested [details] sections and opened a draft upstream PR fixing the repeated conversions, while also putting together a configurable max-nesting site setting.
Yesterday’s most heart-warming moment? Watching a TOC finally appear after nested replies were switched off — a small toggle for an admin, but a giant leap for table-of-contents lovers everywhere.