A roundup of the last 24 hours on Meta - from invisible red lines to stereo mic quirks, there was plenty to discuss.
Key Stats
In the last 24 hours, the community generated 34 new posts across 17 new topics, collecting 29 likes along the way. The most active contributors (by posts and likes) were:
Ed_S spotted that the red “last visit” line is nearly invisible in dark mode on an iPhone, making it hard to find new content (read more). In a related thread, they theorised that the line may vanish entirely when there are no new posts and the marker moves to the top of the list - a rare but real edge case.
Burke asked whether user_badge webhook payloads could include username alongside user_id to avoid an extra admin-only API call (read more). Putty suggested routing through Discourse Workflows, while Itsbhanusharma argued it’s just one API call away; Burke pushed back in this reply with a least-privilege argument.
Welsh_Selkie hit a frustrating snag with the Custom Wizard plugin: dropdowns that pull options from user fields only display a single option, not the full list (read more). The thread includes detailed screenshots and a list of troubleshooting steps already tried.
In the ongoing “Git hang” saga, Agemoposted a follow-up linking to a new, more detailed thread about their self-hosted instance.
#Feature
The long-running “sudo mode” for admins discussion continued: Nathank expressed a desire for a low-friction way to experience the site as a regular user while retaining admin powers (read more). NateDhaliwal suggested an impersonation-style banner with a countdown and exit button, and Jonathan5 wanted the ability to select trust levels and groups.
Ethsim2 shared a thorough update on the PR for creating individual event topics for recurring events (read more). They discussed using an after_code hook to backport the upstream patch, but still favour merging the successor behaviour directly into the bundled Events plugin.
MDNJ provided feedback on the Horizon theme with the Topic Thumbnails component, noting that the post excerpt disappears and the full-width mobile image can be visually ambiguous (read more). Satonotdead acknowledged the notes and promised to look into them.
#Theme component
Lilly confirmed that the Twitter Native Embed component works as expected on her site (read more). Meanwhile, Terraboss has released an experimental fork that fixes several issues, including removing the duplicate link above tweets, improving dark mode, and handling bare X links.
#Announcements
SkyeDragon gave detailed feedback on the new Discord-style voice and video rooms (live), specifically that stereo mics are not downmixed to mono, which can leave listeners with audio in only one ear (read more). Falco noted that downmixing depends on the audio quality setting and suggested trying a lower bitrate.
MDNJ reported that the new email code signup feature fails when an invite code is set - the email is never sent, with no error message (read more). Despite that, they praised the signup method as more secure than generic passwords.
#Plugin
MDNJ also raised a formatting inconsistency in the Discourse Events plugin, where date/time notation mixes 12-hour and 24-hour clocks and the day/month order varies between cards, popups, and excerpts (read more). Changing the “display local time” setting made no difference.
#Self-hosting
Agemo detailed a new “Git hang” / “Oops error” issue affecting admin and staff accounts, complete with a full backtrace pointing to CurrentUserSerializer#has_new_upcoming_changes (read more). The error appears related to timezone parsing of an invalid value.
Nathank flagged a broken upcoming-events block in the demo theme, noting that it works on meta.discourse.org but broke in the demo after a core change (read more). He pinged Manuel for guidance.
Nat responded to a status page report by updating it to include the “Free” plan alongside the legacy “Starter” (post).
Chrisr reassured a concerned site admin that scheduled maintenance was underway and pointed to status.discourse.org for updates (post).
NateDhaliwal linked to a maintenance notice to explain a read-only state (post) and also contributed to the “sudo mode” feature discussion (post).
Tgxworld confirmed that the sudden read-only mode was actually planned maintenance and apologised for the inconvenience (post).
Burke started a detailed discussion on webhook payloads, pushing back on suggestions to use an admin key due to least-privilege concerns (post, follow-up).
Nathank shared his view on a low-friction admin “regular mode” (post) and later requested a fix for the broken upcoming-events block in the demo theme (post).
Lilly verified that the Twitter embed component works as expected, providing a screenshot for reference (post).
Falco offered a workaround for the voice room stereo-mic issue, suggesting a lower audio quality setting (post).
From invisible red lines to stereo mic mishaps, it was a day of keen observations and helpful fixes. May your forums stay out of read-only mode and your red lines always be visible!
Terraboss reported that backdrop-filter: blur() works beautifully on the header but has no effect on .menu-panel, the search dropdown, or the sidebar — even though background transparency renders fine — and called out hardcoded var(--secondary) backgrounds on notification rows that block the effect. Awesomerobot explained that an element with a backdrop-filter becomes the root for the effect, so nested dropdown panels can’t see the page beyond the header, and provided a pseudo-element solution plus a guide to making custom CSS changes. Transparency is solved; blur now works across the board. read more
Natalie T. (Nat) acknowledged that the red “last visit” line is almost invisible in dark mode and shipped a fix with side-by-side before/after screenshots — a small but welcome accessibility win.
NateDhaliwal is battling frequent 7 errors in their WSL2/Dev Containers environment, where the page sometimes takes 2–3 reloads to actually load — with chunks and stylesheets randomly failing mid-transfer.
Nukeador resurfaced the Building Communities That Think essay, lamenting that real-time chat channels have hollowed out forum discussion and asking how to draw people back to slow, thoughtful threads. Satonotdead argued forums must offer real value beyond chat, while Orioni shared a pragmatic trick: use AI to summarise heavy Discord discussions back into forum topics with source links. read more
TimMOz flagged that email-code signup adds an extra round-trip for invite-only communities: previously the invite link contained a long token that skipped verification, but the new flow emails a short-form token requiring another email step — a UX regression for new members.
Yesterday’s forum got a serious glow-up — frosted glass everywhere, dark-mode lines you can actually see, and a whole lot of blurring done responsibly. Just remember: in CSS as in life, background transparency is easy; the real blur is always in the details!
Tgxworldinvited self-hosters to rebuild Discourse to take advantage of improved memory sharing inside the container, noting that one internal instance dropped from roughly 1.9 GB to 1.3 GB of RAM. The improvement is available on main and the 2026.9, 2026.8, and 2026.7 branches.
The experimental user sidebar navigation continued to collect feedback. Luna_Mora asked for a native option that keeps a separate sidebar when using the dropdown navigation menu, while Satonotdead hoped the overlapping profile and preferences submenu options would be unified and simplified.
Agemo weighed in again on the composer redesign, describing it as “nice to look at, but not as nice to use,” and calling out the share-type icon used for the “Reply as/to…” button as a UX mistake.
Tgxworld confirmed that the ESR 1 404 error has been fixed and backported to 2026.7, after NateDhaliwal wondered whether he had seen the same behaviour in his dev instance. Manut plans to verify on the next 2026.7.x release.
Murphsmurf filed a detailed incoming email crash report caused by an RFC 8601 “no result” Authentication-Results header, complete with a minimal reproduction and a suggested fix.
In the Git Hang and admin user Oops error thread, Agemo continued digging into a mysterious ActionView::Template::Error affecting an admin account, while Merefield suggested checking whether a missing MaxMindDB file was part of the problem.
From trimming RAM and squashing 404s to polishing frosted-glass themes, yesterday proved that good things come to those who rebuild — just don’t forget to refresh your browser afterwards.
During the last 24 hours, there were 25 new posts across 12 topics, and 34 likes handed out. The most-liked contribution was Tgxworld’s RAM-reduction announcement, which picked up 18 likes.
Tgxworld announced a RAM-reduction rebuild for self-hosters, showing an internal container dropping from 1.9 GB to 1.3 GB after improving shared-memory handling; the fix is on main and the 2026.9, 2026.8, and 2026.7 branches. Early adopter Editor0732 reported an 11.8G → 10.5G drop as well read more.
Agemo continued troubleshooting the #login #bug saga behind the “Git Hang and Admin/Mod Oops” error, with Ed_S pointing to the hidden enable_upcoming_changes setting and providing Rails-console commands to inspect enable_upcoming_change_available_notifications; despite flipping the flag, Agemo still hit the Oops page read more.
Terraboss released Terraglass 1.1.0, adding an optional header tint that can follow the active color scheme or use a custom color, with adjustable strength while keeping the frosted-glass transparency and blur intact read more.
Singi2016cn reported that required #user-custom-fields are confusing: no asterisk marks required fields, and the error message does not say which field is missing; they suggested adding validation prompts and auto-focusing the empty input read more.
Manut is blocked upgrading from 2026.1.x to 2026.7.x because the new events composer uses a compact form; they requested a way to default to the advanced editor and disable the compact form, and asked how they can help with a plugin outlet or site setting read more.
Gilles shared a French-language CSS component for the FKB Pro - Social theme that turns the chat icon into a floating round button — bottom right on desktop/tablet and bottom left on mobile — complete with a green notification badge and hover effects read more.
In the ongoing seo topic about duplicate H1s, Orsoncrawford urged caution before treating multiple H1s as an automatic ranking penalty, recommending an audit of rendered HTML and Search Console monitoring instead of assuming the template change fixed everything read more.
Ed_S helped in the Git Hang and Admin/Mod Oops error thread, first pointing to the hidden enable_upcoming_changes setting and later providing Rails-console one-liners to inspect and toggle enable_upcoming_change_available_notificationsread more.
Yesterday’s best flex? Discourse shed around 600MB of RAM while Terraglass got a colorful new tint — proof that trimming down can still be a total glow-up.
Do you use keyboard shortcuts? — NiceOldGuyshared a favorite keyboard-only workflow: GMC to open the “Go Messages Create” composer, then tab through the address, title, and body fields without touching the mouse, plus = to toggle the navigation bar. read more
Anyone else seeing a drastic drop in community activity for Support forums? — Satonotdeadshared a GitHub project called livenerf while discussing the impact of AI tools on community participation, and asked whether anyone knows of similar tools worth checking out. read more
Discourse-boosts Float-Kit will close unexpectedly when triggering keyboard on iOS devices — Small-Lovely-Catreported a bug in the Boosts plugin where the Float-Kit closes whenever the iOS keyboard opens, making input extremely difficult; the suggested mitigation is to block that behaviour specifically on iOS devices. read more
#Announcements
Category hashtag floating cards and subcategory hashtag display improvements — Stephtarawrote detailed feedback on the new category hashtag preview cards, explaining that she was initially hesitant about extra clicks but changed her mind after trying the cards on mobile, and suggested a “hidden settings” approach to balance defaults with power-user flexibility. read more
Request ESR backport: multiple content languages (#42128) — Sailorrequested a backport of the multiple content languages feature to the release/2026.7 ESR branch, noting it landed just after the version was cut, so ESR sites are missing the “Languages I understand” preference for multilingual members. read more
No activity from the Team group was captured in the returned posts for the last 24 hours. The closest official thread this window was the category hashtag announcement, but no Team replies were recorded in the data provided.
If yesterday’s Meta activity were a keyboard shortcut, it would be GMC — Go Make Communities — because members were busy shipping components, debugging admin logins, and building apps for everyone to try. See you in the next daily roundup!
The long-running backup compression feature request was reignited. Pfaffman suggested the small but risky fix could be tagged pr-welcome, while Ed_S noted that breaking backups is “very, very bad” and asked how to apply the tag in the #Feature category. read more
Abolade_Samuel followed up on the premium private membership project The Sanctuary, asking whether the role was still open and offering a lean Discourse-first architecture approach rather than heavy custom integrations. read more
In the Voice announcement thread, Falco discussed the LiveKit backend separation question and recommended keeping the mesh setup as a strong default unless a forum outgrows it.
Here’s hoping your backups restore cleanly, your Gemini streams never forget to report their errors, and your Samsung keyboard never adds a backslash it’ll regret.
Nat (Natalie T) shared that translated content is now supported in notification and activity summary emails via PR 44240. The update, discussed on Use translated posts when emailing users with their user language set, respects automatic translation preferences and falls back to original content when translations are missing or outdated.
From crypto tickers to secret ballots, and from POP3 gambles to translated email magic, it was a beautifully busy 24 hours on Meta.
Translated notification emails are here.Natannounced that notification and activity summary emails can now use translated post content when content-localization is enabled. The change, in discourse/discourse#44240, respects each user’s automatic translation preference and the languages they understand; missing or stale translations fall back to the original post. The separate push-notification gap is covered in the next bullet.
Push notifications outrun AI translations.Sailordocumented a content-localization bug where push notifications for new posts are sent before the translation is stored, so the push shows the original text while the email is translated. The report includes a SQL query to measure the delay and suggests holding push delivery or reusing the same content-selection rule as emails.
#Plugin
Ballotage plugin earns praise for secret ballots.Opcourdiscommented on the new Ballotage plugin, noting it can support anonymous community decisions beyond member acceptance, and said they would report back if they adopt it.
Blocked Gemini requests still need a fallback.Sailorfound that Gemini requests blocked via promptFeedback.blockReason were treated as empty replies and never translated. Zogstripaddressed part of it in #44262, but Sailor noted a remaining gap: affected items still end up without a locale and stay in the queue indefinitely.
Gemini streaming decoder can drop the tail of a reply.Sailordiagnosed a subtle ai streaming bug: when a network chunk ends inside the blank line between two events, the decoder discards all later events. The post includes a minimal Ruby reproduction and a suggested one-line fix.
Incoming email crash from authserv-id; none.Zogstripsaid the crash caused by an RFC 8601 “no result” Authentication-Results header will be fixed by discourse/discourse#44264.
Samsung pasting adds surprising backslashes.Forumcopilotasked about backslashes appearing in pasted quotes on Samsung devices and suggested disabling math LaTeX delimiters. Twofoursixeightclarified the trigger appears to be Samsung Keyboard’s rich paste in Chrome.
40C3 meetup planning is warming up.Thomas_Rotheroffered to help find a cheap or free venue in Hamburg for the December 2026 Chaos Computer Club Congress and asked the CDCK and other community members for feedback; the thread saw 219 views and only 7 likes.
#Announcements
Rebuilding Discourse lowers RAM use. Self-hosters shared results after rebuilding Discourse to reduce RAM usage. Fahriar_Akash welcomed the improvement for low-RAM VPSes, NateDhaliwal cautioned that 1 GB is still tight, and Fearlessfrog posted a screenshot showing improvement.
With Gemini decoders tripping over blank lines and GitHub briefly tripping on the internet, yesterday’s meta activity was a lot like a push notification: slightly delayed, but still worth reading.
Does Discourse support online multiplayer mini-games? — Satonotdeadshared a curated list of browser-based games, while Merefieldclarified that the goal should be games native enough to leverage Discourse accounts and leaderboards. Satonotdeadagreed that linking games with badges, cheer points, and the broader Discourse ecosystem would be ideal.
Make Unified View optional (permanently) — Gunnarstarted a feature request to keep the old “Unread” tab functionality, explaining that the unified view removes a faster catch-up flow and breaks the direct “Unread” link in Discourse Hub.
#Announcements
Self-hosters: Rebuild Discourse to reduce RAM usage — Scavinshared results after rebuilding: Pitchfork memory dropped from about 2.7–2.8 GB to 2.3–2.45 GB, a reduction of roughly 15% (~400 MB), and stayed stable after five days.
Voice: Discord-style voice and video rooms, now bundled with Discourse — Thomas_Rotherasked whether changes are needed before enabling voice rooms for all communities, noting that he plans to open the feature with a 5-person-per-room limit for ad-hoc meetings.
Copying a code block does not include leading spaces — Supermathiereported that the copy button strips leading spaces in code blocks on both posts and chat. Samidentified it as an ancient bug dating back to the original 2020 implementation and linked a fix PR.
Discourse AI: Gemini streaming decoder drops the rest of a reply — Samresponded with a fix for the case where a network chunk ends inside the blank line between two streaming events.
Upgrade Failed — Unable to Reinstall — Embusadescribed a failed upgrade caused by a disk issue and container crash, showing a bootstrap failed error. Merefieldsuggested cleaning up and removing the base image before attempting a rebuild.
Webinar: Exploring Discourse Workflows — Danielleshared the replay and recap in the original post.
#Extras
Automatically updating a Discourse post based on an X feed — Samwalked through a Workflows setup that uses Data Tables as a cache, “Set fields” for configuration, X API endpoints, and script nodes to keep a post updated from a tweet feed.
Kanban Board — Ninayoungasked for help getting the Board tab to appear on specific categories, reporting an all-or-nothing issue and requesting the correct category slug syntax.
From squeezing 400MB of RAM out of a rebuild to putting a freshness date on GitHub oneboxes, it was a day of trimming memory, chasing streaming bugs, and making Discourse just a little shinier!
Sam documented how he used Discourse Workflows and an AI agent to build a pipeline that watches an X account and keeps a Discourse post updated with every new tweet, using a data table as a cache, configuration nodes, and paginated X API calls to avoid cost overruns. Sps called it “incredibly useful” for the community. read more — a companion blog discussion also opened.
Tknospdr wanted to remove the text and search bar overlay from the welcome banner. Awesomerobot explained there are no settings for that and recommended disabling the banner in favor of custom below-site-header content. read more
#Announcements
Gormus reported a surprising side effect of the Uncategorized → standard category migration: despite having the category disabled, it became public and two topics appeared in it. Lindsey acknowledged the report and said the team is investigating. read more
Scavin shared monitoring data after rebuilding a Discourse container, showing memory usage dropping from ~2.7–2.8 GB to ~2.3–2.45 GB — roughly a 15% reduction — that stayed stable over five days. read more
Southpaw requested that custom sidebar sections be included in the experimental user sidebar so that PM-heavy workflows don’t lose access to frequently used links while inside private messages. read more
Pmcpa gave usability feedback on the composer redesign, noting that in the “Standard Markdown Editor” the reply button sits far to the right, which breaks muscle memory for users. read more
Meiadeleite asked for an opt-out from the unified new view for the topic list, explaining that keeping Unread separate at the default allowed her to manage a large forum more effectively. read more
#Plugin
TripleU announced JTech Tools, the all-in-one plugin that powers JTech Forums — with modular switches, whispers, REQ-PM, Dumbcourse, a Telegram bridge, sale-thread listings, smart search, and a full theme. The related MiniMod and Dumbcourse threads were pointed here for continued development. read more
Mariodsantana released an updated Calendar RSVP Posts plugin with a fix contributed by Gilles for the Calendar/Events class renames, plus fixes for RSVP removal status events and translated header history entries. read more
JBM asked whether the Discourse Wikilinks Plugin could ever become official, hoping for easier adoption in corporate environments. read more
Jmx posted a detailed diagnosis of a Let’s Encrypt issue where cert_exists() truncated the CA chain, causing forced reissuance and rate-limit failures, along with a PR fix. The same finding was also linked inrelated threads about dual-container setups and the “too many certificates” error. read more
Ethsim2 filed an in-depth report about edited posts occasionally remaining stale in DiscourseHub on iOS until refresh, with a detailed reproduction plan across DiscourseHub, Safari, and Home Screen web apps. Fhe confirmed having noticed the same behavior. read more
David shared a pull request that should address restore failures caused by a non-working database reconnect. read more
#Self-hosting
Embusa confirmed that running ./launcher rebuild app resolved a stubborn upgrade failure that had resisted reinstallation attempts, with Merefield glad to have helped. read more
From AI agents chasing tweets to flip phones browsing forums and certificates finally getting their chains in order, yesterday proved the Discourse community can turn anything into a great thread — see you in the topics!
A search and ai discussion flared up when Pfaffmanopened a frustrated thread about search failing to surface recent announcements such as the PostgreSQL 18 upgrade. Merefieldagreed that the AI view feels over-engineered and wondered whether keyword search should be the default. Awesomerobotshowed the keyword results for the same query, and Natrevealed she had “carefully” updated the AI prompts so recent announcements rank higher. RGJshared a similarly frustrating experience when hunting for post custom fields documentation — the AI surfaced a 2016 topic instead of the community’s best answer — and Natconceded that finer-grained tuning of meta’s search synthesizer agent is on the agenda.
#Announcements
CarlocelebratedFalco's work embedding Discourse as a full comment system, calling it “a great integration” and noting “we’ve been waiting for something like this for years.”
In the ai–ask-ai announcement thread, Liefasked whether admins can force the classic search view as a global default for members, and whether the AI “talking head” icon is customizable. Natobliged with a concise api.replaceIcon("far-discobot", "discourse-sparkles") component.
Puttywondered what happened to the Boosts experiment on Meta, confessing, “I kind of forgot about this experiment, and now I’m sad they’re not there.”
Puchalreported an undefined method 'optimized_image_resize_instructions' error when users upload avatars on Discourse v2026.9.0, while other uploads work fine. RGJasked for version and plugin details, and Puchallisted three plugins, including a fork of the unmaintained discourse-nationalflags.
Tknospdrwanted the welcome banner to show just the graphic, without the overlaid text and search bar. NateDhaliwalpointed to alternative banner approaches, and Awesomerobotprovided a CSS snippet that hides the banner’s text content entirely, which Tknospdr confirmed worked a treat.
In a chat-integration support thread, Somasolved their own mystery: the Chat Integrations plugin had stopped reacting to new posts because the viewer account it used was accidentally deleted during a cleanup.
Tobiaseigenbattled a persistent Timeout::Error from a Claude-powered AI bot, sharing a detailed backtrace and suspecting Claude availability issues. It resolved itself after roughly six hours — “some sort of mystery claude outage.”
In an assign support thread, Jenmckdocumented a puzzling bug where non-admin users can’t search for assignable users, even when the target user is visible in the dropdown, despite extensive group and category configuration. The report includes detailed screenshots and a reproducible test account.
#Extras
Michael_Sandlerintroduced a new FCM push notification plugin for native Android/iOS apps, built from scratch to replace the outdated discourse-fcm-notifications plugin. It supports multiple devices per user, deep links, automatic token cleanup, privacy mode, and admin diagnostics. NateDhaliwalsuggested requesting Plugin_Authors status to publish it in Customization > Plugin, and Forumcopilotshared their alternative no-plugin Flutter approach.
#Plugin
In the officialnewsletter-integration plugin thread, Carlocommitted to opening a PR adding Listmonk support, noting the integration is already deployed and “working perfectly” on his own forum.
A new blog post described how Discourse Workflows and an AI agent keep OpenAI’s “28 days of shipping” announcements on X in sync with a single table on the OpenAI Developer Community.
From coaxing AI search to find the PostgreSQL 18 upgrade to curing a six-hour Claude timeout with a long walk, yesterday was a proper adventure in making Discourse do exactly what we wanted — no matter how many prompt tweaks, CSS snippets, and PRs it took.
Satonotdead opened a discussion about how to track system and AI bot personal messages without console workarounds; Putty shared a workflow that auto-tags incoming agent PMs and can invite staff, though it gets tricky for system accounts that don’t auto-reply.
Tobiaseigen requested that ActivityPub handles be made clickable in posts, turning @fediforum@mastodon.social into a proper link like [@fediforum@mastodon.social](https://mastodon.social/@fediforum), and acknowledged in a follow-up that the activitypub plugin may need to handle federated markdown quirks.
Per1234 asked what “experimental” really means for the user sidebar navigation; Chapoi confirmed it does mean the change could be scrapped, and Satonotdead advised testing it here on Meta first.
The Ask AI announcement kept generating discussion: Nat (Natalie T) shared a small API initializer snippet that swaps the bot’s “talking head” icon for discourse-sparkles, while Ljpp reported Ask AI missing recent roster and staff changes at Tappara, suggesting time-context blind spots.
Elmuerte explained why the dashboard shows “Your Discourse installation is out of date” when pinned to release/2026.7 instead of the esr tag — the version check simply contacts the hub with the wrong branch parameter.
Whether the AI agents were just taking an early weekend or Jmsachs's “hello? …ello? …lo?” is still echoing through the tag list, yesterday on Meta kept the forum humming — see you in the next 24 hours!
Over the last 24 hours, the community contributed 28 posts across 14 new topics, with 21 likes handed out on those contributions. Here are the most active contributors:
Dexo hits the App Store – Eilgnaw announced that Dexo, a native iOS client for Discourse, is now officially available on the App Store and remains open source. read more
termcourse updates – Merefield released a significant update for macOS, improving rendering and adding true colour support, as detailed in the release notes. read more
Embedding Discourse as a full comment system – Falco seconded Carlo’s observation that a customized Discourse instance is already halfway to becoming a full comment system. read more
Inviting users to groups – Happyhappy highlighted a limitation where group owners can only add one existing user at a time by username, and requested support for comma-separated lists with a graceful ignore for invalid users. read more
#Feature
Clickable ActivityPub handles – Jagster suggested that ActivityPub handles should be real links when mentions aren’t possible from the Mastodon side. read more
From chasing vanishing TOCs to taming WSL Docker quirks, Meta’s community helpers kept the forum wheels spinning — and even found time to release an iOS app!
Add a maximum nesting depth for collapsible details — Scavin reported that a post with 24 levels of nested [details] caused browser freezes, Markdown endpoint timeouts of up to 31 seconds, and Pitchfork worker warnings. Ethsim2 traced the issue to exponential recursive processing and opened an upstream PR, while also working on a details_max_nesting_depth site setting. A temporary plugin is available as a workaround (read more).
Setting to disable Discourse keyboard shortcuts — Opcourdis proposed an admin or per-user setting to turn off keyboard shortcuts, citing conflicts with Vimium, speech input, and screen readers, and noting that the disableDefaultKeyboardShortcuts plugin API already exists (read more).
#Community Building
Chaos Computer Club Congress in Hamburg — 40C3 — Thomas_Rother added a poll to collect participants for a Discourse self-hosters/operators meetup at 40C3, planned outside the official venue so no CCC ticket is needed. Falco added that he and Pmusaraj presented at the Fair Tech Summit and OpenSource.lu, and that Discourse will likely be at FOSDEM 2027 as part of the super-stack.eu coalition (poll post, read more).
#Contributing
Contributing translations to Discourse — Satonotdead requested Esperanto proofreader permissions on Crowdin, proposing an AI-assisted translation workflow with human review, recruiting reviewers from Monero and crypto communities, and aiming for the ~70% coverage needed for Esperanto to ship in core (read more).
#Extras
Dexo — a native iOS client for Discourse — Awyme praised the app as very convenient, saying it is easier to use than Discourse Hub (read more).
termcourse: read & post on Discourse instances from the terminal — Merefield released versions v0.3.1–v0.3.3 and recommended Ghostty on macOS for terminal apps with full image support.
#Self-hosting
What are the most basic but reliable ways to ensure a Discourse forum can always be recovered? — Nlv suggested looking at git-annex if the technical aspects are not intimidating (read more).
Fix issue of TOC plug disappear — Bck055 confirmed the TOC only disappears on the Horizon theme, and NateDhaliwal identified nested replies as the trigger, recommending disabling nested replies via the admin wrench (read more).
GitHub Plugin API error 301 — DanEss reported repeated Discourse::GithubApi::Error: GitHub API error (status 301) messages and being unable to save a new github_linkback_access_token (read more).
SVG icon Subset is missing bilibili and other icons — AkarinLiu reported that bilibili and other Chinese social platform icons are missing from the SVG icon subset, making it impossible to add them to menus (read more).
#Announcements
Announcing: AI Web Artifacts — Sam noted that artifacts have been reworked, the original post is working fine now, and older shares need to use the new embed formats (read more).
On text selection → right click, “send to” icon is alone on a new line — Canapin reported that the icon appears on its own line instead of inline with the other right-click choices (read more).
Adding translations to plugins to improve user experience — Singi2016cn asked for translations to be provided wherever possible in plugins, explaining that not everyone is proficient in English or able to use browser auto-translation (read more).
Sam confirmed in the AI Web Artifacts announcement that the artifacts feature has been reworked and the original post is working again.
From 24 levels of nested [details] to a lone “send to” icon on its own line, yesterday proved that sometimes the smallest UI gremlins need the most careful collapsing — just maybe not 24 layers deep.
The past 24 hours brought 37 new topics and 50 new posts, with 38 likes shared across the community. The most-liked post of the day was Zogstrip's announcement about a new default for whispers allowed groups, which picked up 9 likes.
Zogstripannounced a new “Update whispers allowed groups default” upcoming change: whispers will now default to staff instead of no groups, so admins and moderators can use whisper posts right out of the box. Existing custom configurations won’t be touched unless the setting is reset, and the change is available for early opt-in via /admin/config/upcoming-changes. read more
Samreported that AI Web Artifacts have been reworked and the original post is working again, though shares from Maiki will need to use the new embed formats.
Rishabhannounced that the Discourse Admin Assistant can now also help write and edit custom Data Explorer plugin queries from scratch, making community insights much faster to pull together.
#Community Building
The fight against AI-generated noise continues: Nickdbshared a custom theme component that locks the new-topic button for new users who have spent less than 5 minutes reading, with a tooltip pointing them to the community guidelines; Ed_S reported deleting an account from a self-declared AI agent; and Andrew_Rowe, inspired by the thread, proposed a “respect system” where humans earn voting power through engagement while AI gets down-voted — sparking a discussion about whether it would simply get gamed. read more
Zogstripfixed the badge multiple wording issue: the badges page will now show “N awarded” for the full list and “Earned N times” when filtering to a specific username, and the filtered view now pulls all data from that user instead of mixing in your own.
Profcajureproduced a draft conflict on Meta: pressing c to create a second new topic from a topic page triggers a “draft is being edited in another window” warning, with the autosave request returning HTTP 409. A code inspection points to the KeyboardShortcuts#createTopic fallback using a fixed new_topic draft key without a draftSequence, and the suggestion is to use composer.openNewTopic() instead.
James_Wongdiagnosed a nasty performance bug: ReactionLikeSynchronizer reprocesses 26,766 already-trashed PostAction likes every hour, blocking PostgreSQL and causing 500/504 timeouts. The culprit appears to be an UPDATE query that doesn’t filter out deleted_at IS NOT NULL, and the workaround is disabling discourse_reactions_like_sync_enabled.
Roke_Julian_Lockhartdiscovered that Discourse ID recommends posts the user is unable to access, including a “Welcome to Discourse ID” topic that fails to load entirely with a connection error.
The GitHub Plugin API error 301 turned out to be caused by a transferred repository, and Zogstrip confirmed a multi-PR fix is on the way; the topic is now tagged fixed, with DanEss confirming the diagnosis after removing and re-adding repos one by one.
#Plugin
Juan_David_Martínez shared detailed AdSense configuration steps for the Discourse Advertising Plugin, clarifying the confusing naming: adsense_nth_post_code is actually the interval between ads, while adsense_post_bottom_code is the real ad unit number, and both require adsense_publisher_code to be filled.
#Self-hosting
Ethsim2 opened a deep technical Multipath TCP (MPTCP) discussion about whether DiscourseHub, Safari, or installed PWAs on iOS could benefit from MPTCP connection handover between Wi-Fi and cellular behind a Caddy reverse proxy, exploring Docker bridge/NAT implications and HTTP/3 QUIC migration as an alternative.
From 5-minute reading gates for newcomers to whisper-enabled staff defaults, it was a day of clever defenses against the AI horde — may your drafts always autosave without conflict!
Here’s a snapshot of everything that happened across Meta in the last 24 hours — from certificate-chain sleuthing to a fresh new way to reorder your lists.
Saquetimannounced the rollout of new shared reordering controls for lists, unifying the many different arrow buttons, menus, and drag-only handles across list site settings, the admin dashboard, flags, user fields, badge groupings, and sidebar links into one consistent, keyboard-accessible handle. You can try it out via Admin → Upcoming changes, and it’s fully reversible.
Rishabhfollowed up on reports of discourse-id recommending posts users can’t access, hiding the recent topics menu on 404 pages to avoid dead-end navigation.
Samnoted that while tags currently strip + from translations, showing c++ with a cpp URL is entirely feasible.
Falcopublished a detailed guide to configuring your own STUN and TURN servers for live, including a sample coturn setup, firewall rules, and how authenticated TURN alone can provide address discovery — a great complement to the Voice announcement thread.
#Self-hosting
Singi2016cnwondered if there’s a dedicated command to update docker images without a full rebuild; Lillyexplained the manual workflow: git pull the launcher, grep the image tag, and docker pull the base image ahead of ./launcher rebuild app.
#Theme component
Satonotdeadreleased a theme component that disables all of Discourse’s default keyboard-shortcuts (j/k, ?, r, l, b…) while keeping browser and composer shortcuts working — a practical stopgap for the core feature request to make this a setting.
Jeffsconfirmed they’re hitting the “unable to assign users to topics or posts” issue too, with “No matches found” appearing even when the target username is visible as an assign option.
Das-Gasked how to run the automatic .gjs file format migration for themes and plugins using the Docker-based development setup, without installing pnpm on the host.
ToyKeeperwaxed nostalgic for the ability to keep an entire long topic loaded in the DOM for archiving with SingleFile, and wished for a “stop unloading posts” hotkey now that Discourse unloads off-screen posts aggressively.
Samdiscussed the feasibility of displaying c++ as a tag name.
Awesomerobotconfirmed there’s currently no way to customize summary emails for groups of users, and pointed to digest settings.
Rishabhfixed the Discourse ID issue by hiding recent topics on 404 pages.
Ed_Scontributed Slashdot’s metamoderation example to the respect system discussion.
Merefieldsuggested extending his community network visualisation to identify cabals.
Yesterday was a proper Meta mix: certificates were tamed, lists got a fresh handle, and the AI agents were politely shown the door — so if nothing else, at least our chains are verifiable and our rows are reorderable. Until tomorrow!
Discourse in 2027: Building Together — System opened a companion discussion to the new blog post laying out the 2027 roadmap. The post reaffirms the mission to keep building Discourse as the place where people meet, talk openly, and work together on ideas. In a reply, Eisammy praised the commitment behind Discourse, calling it one of the best CMS builds of the last decade. read more
#Announcements
Voice: Discord-style voice and video rooms, now bundled with Discourse — Pacharanero asked whether per-room group restrictions exist yet, since the room editor only shows a public toggle and per-user management. Falcoconfirmed that access is currently user-based only, but noted Mcwumbly has a roadmap plan for a unified access-control UI across features like chat and voice rooms. Pacharanerowelcomed that news, and Thomas_Rother said the answer settled all remaining questions. read more
Help Us Test the Composer Redesign — BeefofAgesreported that the new composer broke their muscle-memory keyboard flow: pressing Tab then Enter no longer submits a post because the Markdown editor button receives focus. Chapoiexplained that changing tab order would hurt visually impaired users, and pointed to the built-in cmd/ctrl + enter shortcut instead. BeefofAges conceded accessibility should win, while RobinTSshared a mobile user report of a missing toolbar animation. read more
Introducing a docked composer for AI bot conversations — Tobiaseigenasked whether the ai_bot_enable_docked_composer setting could be kept, explaining that the enter send option breaks bullet-point creation and autocomplete popups in AI bot messages. They pleaded to keep the setting before it is removed, and noted the interface preference feels buried. read more
AI agents signing up for accounts — Scottfsmithclarified that the real concern is fully automated AI accounts, not humans pasting AI answers. Lillysuggested setting up Discourse Captcha, while Nickdbrecommended layering user-agent checks, IP blocking, captchas, and curated example posts for AI-based bot classification. Merefieldnoted that this is already happening, and Scottfsmith agreed AI is quickly getting better at Captchas too. read more
Automatically updating themes and plugins to .gjs file format — Davidshared a practical step-by-step migration path for plugin developers, starting with d/shell to enter the container, then running pnpm dlx @discourse/update-skeleton@latest, eslint --fix, prettier, and the Discourse GJS codemod. read more
#Feature
A user preference for the private email setting — Tobiaseigenexplained why a per-user version of the private email setting would help people with different privacy risk profiles on the same site. They also reported that the existing setting is incompatible with staged users on invite-only sites, preventing normal email replies to a group inbox and sending confusing notifications instead. read more
#Plugin
Discourse Zendesk — Puttyrequested non-staff permissions for the Zendesk plugin, explaining that their full support team should not need the staff role just to use the integration. read more
Discourse Video Stream — Falcoresponded to a follow-up on the video streaming plugin: he is not actively working on it, but it should be straightforward to fork and make it use Bunny instead, though testing would be tricky without an account. read more
#Self-Hosting
Can I run Discourse in “rootless” Docker on VPS? — Rritasked about the current state of rootless Docker in 2026, including whether CDK runs any rootless instances internally. Falcopointed to Featheredtoast's pre-bootstrapped discourse/discourse image work, noting it isn’t something being explicitly pursued, but people may get away with it. read more
Which command only updates the Docker image? — Singi2016cnasked how to update only the Docker image and whether automating it via a script could break in the future. Lillyreplied that a bash script or cron job is a perfectly safe approach and unlikely to become incompatible soon. read more
Discourse ID recommends posts that the user is unable to access — Rishabhupdated that the 404 is expected when manually changing the URL, but the recent topics menu has now been hidden on 404 pages so Discourse ID stops leading users to inaccessible topics. read more
#Theme-Component
Restricting new topic creation based on reading time — Nickdbintroduced a new theme component, “Read Before New Topic”, which locks the New Topic button until a user has spent a configurable amount of time reading existing content. Heliosurgecalled it a great added protection against bots, and Eisammy suggested it could even be included in core. read more
Big Header - Little Header — BCHKasked for an update on the component, saying they would love to use it but lack the coding experience to fix it themselves. Awesomerobotreplied that the component was refactored a few months ago and should be working now, apologizing for not following up sooner. read more
David provided a step-by-step guide for migrating plugins and themes to the .gjs format using the development container.
Chapoiexplained why the composer tab order won’t skip the Markdown button, and pointed to the cmd/ctrl + enter shortcut as the accessibility-friendly submission method.
Awesomerobotconfirmed that the Big Header - Little Header theme component has been refactored and is working again.
Zogstripannounced that the topic assignment bug is fixed by PR #44564.
Rishabhshared the fix for Discourse ID recommending inaccessible posts, hiding recent topics on 404 pages.
From AI agents knocking on the door to old dogs learning new keyboard shortcuts, yesterday proved that even in 2027, community is all about adapting — and maybe reaching for cmd + enter along the way.
Sam announced built-in support for decision models, including a new “Classify” workflow node in Discourse AI. The feature enables automatic moderation, team notifications, and auto-tagging/categorization. read more
Awesomerobot announced that Discourse now supports setting a chat channel as the default homepage, with a fallback to the top menu when a chosen channel is unavailable. Logged-out visitors can get a read-only preview if anonymous users are allowed in chat. read more
Testing continues on the composer redesign; Chapoi asked for more device details on a reported layout issue, while Awesomerobot confirmed a fix for a bug where disabling the toolbar made it impossible to re-enable. read more
#Theme
Awesomerobot released Concord, a self-hosted, open-source Discord alternative theme that turns Discourse into channel-based community with text, voice, and forum channels. It requires a build from October 15, 2026 or later. read more
Xlg256 reported a z-index glitch in the FKB Pro theme’s category dropdown at viewport widths between roughly 640px and 767px, where the dropdown gets covered by topic cards. read more
Andro asked about a sudden influx of unwanted bot accounts after the latest updates. Nickdb and Sam clarified that these are intentionally created per AI agent, and the new per-agent approach makes the system easier to explain. read more
A self-hoster asked for help restoring the Angus Events countdown after a Discourse upgrade. Chapoi redirected the user to the plugin topic, while Merefield followed up privately as the team contributed to that plugin. read more
Falco shared a fix for self-hosted LiveKit voice/video issues, including low-resolution camera video and one-way audio stuttering, via pull request. read more
Zogstrip reworked the ReactionLikeSynchronizer so likes and reactions are counted and synchronized in batches, reducing table blocking while taking a bit longer in practice. read more
Jagster reported that the spinning loading circle when editing theme components on iOS has resolved itself after updating to a more recent Discourse build, and flagged the topic for closure. read more
Frully posted a 500 internal server error when using the “suggest topic title” AI helper, with a NoMethodError: undefined method 'flatten' for an instance of String log trace. read more
The blog post “Discourse in 2027: Building Together” received praise from Eisammy, who highlighted Discourse’s commitment to core community-building features and open collaboration. read more
#Theme component
A theme component for restricting new topic creation based on reading time was discussed; Eisammy commented that it’s a great candidate for inclusion in core Discourse. read more
#Plugin
Putty asked about adding a calendar view to custom topic lists, noting possible limitations with the events tag, and later shared that they had built a theme component to replicate the calendar view. read more
Michael_Sandler reported being unable to modify the category for the Discourse Mobile Push plugin despite having plugin author access. read more
Sam announced the new decision models support in Discourse AI, and also clarified in the unwanted bots topic that per-agent bot accounts are the intended design. read more | read more
Awesomerobot released the Concord Discord-alternative theme, explained the new chat channel homepage setting, and fixed a composer toolbar toggle bug in the redesign testing topic. read more | read more | read more
Chapoi requested more details on a composer redesign bug report, and helped route the Angus Events support request to the correct plugin topic. read more | read more
Merefield coordinated with the team on the Angus Events countdown issue and followed up privately with the plugin’s contributors. read more
Zogstrip reworked the ReactionLikeSynchronizer with batched processing to avoid blocking major tables. read more
Falco shared a fix for the LiveKit voice/video issues, inviting users to test whether the pull request resolves the problems. read more
Yesterday’s activity gave us chat-channel homepages, Discord-flavored forums, and AI agents with opinions—so if your homepage isn’t a chat channel yet, your decision model might classify that as a missed opportunity.
Rishabh answered questions on the new login/#signup email-code signup flow, clarifying that user fields are collected after the code is confirmed. MDNJ added that non-technical users love it, but the code timeout is too short and invite-code signup is currently broken read more.
MDNJ suggested improvements for the experimental user sidebar navigation, proposing a grouped, card-style settings overview and breadcrumbs so mobile users can always find their way back read more.
Awesomerobot released Spoopy, a Halloween Discourse theme with bats, fog, a gravestone-shaped composer, a flashlight cursor, and many individually toggleable spooky effects. Fuse was quick to enjoy it read more.
Scavin asked whether it is safe to TRUNCATE the 2.9-million-row browser_pageview_events_backup table created by the September 2026 migrations read more.
Sam clarified that unwanted bots are expected behavior now that every enabled AI bot gets its own user, and Satonotdead described using Jev with a senior bot to delegate subagents read more.
Frully detailed an AI Search failure where the model returns a perfect JSON answer but the Discourse UI still says it could not find a clear answer, complete with request and response logs.
Scavin also wrote up a detailed bug report and patch for emoji tags in the composer: existing emoji tags can appear as “Create”, and genuinely new emoji tags disappear after publishing.
With a haunted forest theme, a Discord-flavored chat wrapper, and AI agents picking their own subagents, yesterday on Meta was a little spooky, a little social, and surprisingly smart — happy posting!
Opalgeist, a prospective admin, asked a few first questions about moving a community to Discourse — whether a desktop client exists, if AI features can be switched off, and where newcomers should start. NateDhaliwalexplained there is no official desktop client (a PWA works well), that the AI plugin likely can’t be disabled on the free plan, and that self-hosting is largely a one-line install, while Singi2016cnrecommended the official documentation as the best resource.
Robbie.Morrison, lead admin of the openmod forum, shared a fascinating encounter with an iLands AI agent that applied for an account with 1,800 carefully screened research users. The agent’s candid reply — “If there is room for someone who checks figures against primaries, I will be useful and quiet” — proved surprisingly persuasive, though the application was still rejected.
Sam also had a bit of fun in A spoopy theme for Discourse, confessing he nearly typo-corrected “spoopy” out of existence before undoing his own fix.
From persuasive AI agents politely offering to be “useful and quiet” to a spoopy theme that almost got corrected into oblivion, yesterday was a gloriously weird day on Meta — see you all in the next 24 hours!