Today on meta.discourse.org…
What a whirlwind 24 hours on Meta! The Discourse community has been buzzing with activity, from major designer test programs to deep philosophical debates about the future of the internet. Here’s your comprehensive digest:
Key Stats
The past 24 hours saw 192 new posts across 62 topics, generating 348 likes from the community. This represents a healthy mix of product feedback, support troubleshooting, and community discussions.
Top contributors by likes:
- Chapoi led the pack with 28 likes across 16 posts, heavily involved in the new composer redesign testing
- Moin earned 26 likes in 12 posts
- Lilly followed closely with 22 likes across 10 posts
- Pfaffman contributed 15 likes in 8 posts
- Canapin rounded out the top five with 14 likes in 4 posts, including sharp UX observations
Other prolific contributors included Don (14 likes, 3 posts), Satonotdead (13 likes, 12 posts), Merefield (13 likes, 5 posts), NateDhaliwal (10 likes, 9 posts), and Mcwumbly (10 likes, 3 posts).
Interesting Topics
#Announcements
-
Chapoi announced the experimental composer redesign, which moves the toolbar to the bottom, integrates the title into the editor, and massively improves mobile composing with an expanding editor. The feedback has been passionate — Satonotdead compared adapting to the change to when “I was one of the folks who DIDN’T want a touchscreen on my cell phone” while Don noted it solves the long-standing problem where the context menu covers the editor button bar on mobile. Shauny raised concerns about muscle memory and accidental posts, but Canapin pushed back, saying the bottom toolbar “makes much more sense on mobile. Way easier to reach it” (read more).
-
The PostgreSQL 18 update continues to generate discussion. Pfaffman shared his manual multi-database migration approach, while Supermathie offered guidance on Google Cloud SQL upgrades. Lilly posted a detailed step-by-step walkthrough for dual-container setups behind Cloudflare, including disk cleanup commands, scheduled maintenance page strategies via Cloudflare workers, and the proper rebuild order. Tobias_1 shared a fix for the “cluster is owned by group id 993” error that plagues some upgrades (read more).
-
Sam revived the long-running discussion on admin “regular mode” (a sudo-like feature), suggesting that “maybe by default admins are just like any other user, except that they have a special page where they click a button to get temporary admin permissions.” Mcwumbly strongly agreed, proposing a toggle in the header with state clearly indicated. Lilly pushed back, saying she’d prefer an admin setting so she doesn’t have to “toggle into admin mode to get to /admin,” and Moin drew parallels to the existing
suppress_secured_categories_from_adminsetting (read more).
#Self-hosting
-
A truly epic saga unfolded in the Spanish-language topic “Ya estoy cansado, he instalado discourse en varios VPS ninguno me funcionan” (“I’m already tired, I’ve installed Discourse on several VPS and none of them work”). After extensive troubleshooting involving Jdc20181's Cloudflare insights, it turned out the domain
debatehosting.codidn’t exist at all — Supermathie demonstrated this with a whois query showing “DOMAIN NOT FOUND.” Merefield noted the OP cancelled the domain during troubleshooting, which made it look like SSL issues. Satonotdead explained the real culprit: repeated attempts to get certificates hit Let’s Encrypt rate limits, which is “not the same as ‘SSL blocked my domain’” (read more). -
In a thoughtful discussion about password reset security, Roke_Julian_Lockhart described being locked out when OpenAI disconnected their SSO integration, replacing it with an unfamiliar email alias. The thread sparked a genuinely moving exchange where Pfaffman publicly apologized: “I was a jerk and I humbly repent.” Pfaffman went on to acknowledge that “it’s not that uncommon for users in a long lasting community to no longer remember their email address” and questioned the logic of
hide_email_address_takenrequiring the email field, since “resetting the password with the username does not expose an email address” (read more). This led Roke_Julian_Lockhart to file a feature request for username-based password resets. -
Picho_Pelis returned with a SMTP configuration question after the domain debacle, getting a prompt “try port 2525, port 587 is likely blocked” from Pfaffman, plus a security reminder from NateDhaliwal to censor credentials in public posts.
Support
-
Karthik_K1 reported that Discourse ID displays its own logo and name instead of the forum’s branding. Moin correctly pointed out the difference between this reported bug and the existing feature request. After Chapoi initially dismissed it as standard OAuth behavior (“I was most likely wrong”), a workaround emerged — clearing the
discourse_id_client_idanddiscourse_id_client_secretin the Rails console and toggling the login, which worked for Karthik_K1. Rishabh from the Discourse ID team confirmed this is being looked at and noted there’s a button on the admin settings page to regenerate credentials (read more). -
Karthik_K1 also asked about adding Indian languages like Hindi, Telugu, and Tamil to the language selector for AI translations. Nat clarified that the selector controls the entire site locale, not just AI post translations, and pointed to plugin options for registering additional locales. Moin suggested the plugin approach as a short-term solution while contributing interface translations via Crowdin for the long term (read more).
-
Stephtara wondered why mentioning a group didn’t notify its members. Lilly tested it and confirmed it should work, while Moin and Lilly suggested the likely culprit: if the topic is in a private category the group doesn’t have access to, they won’t receive notifications. A helpful guide on configuring group notifications for private categories was shared (read more).
#Feature
- A feature request for multiple profiles per user (inspired by Discord’s PluralKit system) gained traction. A_Lilian made a compelling case: “Autonomy and expressiveness through online profiles matter. They give us the smallest window to the people past our screens and as such, are one of the primary pillars for building a humane web.” Satonotdead noted how the technical challenge lies in the fact that Discourse Chat “is built entirely into static user profiles” (read more).
#Site feedback
- Lilly spotted an error banner on Meta reading “MERGE_BRANCH deployment failed.” Tgxworld confirmed it was fixed, then NateDhaliwal noted it persisted, and David explained the root cause: a hosting system for deploying git branches was throwing a merge conflict error that “wasn’t supposed to be displayed to everyone.” It’s now fixed for real (read more).
#Community Building
- Mcwumbly kicked off a fascinating discussion about the next decade of the internet, reflecting on Discourse’s original 2013 promise. Awesomerobot delivered a brilliant response arguing that “I expect to be talking to people in 2036 the same way I was talking to people in 2013: typing words into boxes” and warned about AI chatbots seeking to “shortcut the web entirely,” while affirming Discourse can be “a safe harbor where you’re not subject to the massive unknowable algorithms.” Ed_S added concerns about increasing legal regulations (like the UK’s Online Safety Act) making it harder to run independent platforms, and Satonotdead outlined two possible futures — a hub format with deeper integrations, or a hardened, cypherpunk-esque decentralized platform (read more).
ux
-
Canapin reported that the Discourse meta icon is missing on the Discourse ID login page, showing a broken image URL. Jordan.Vidrine took a look and identified a deeper issue where Discourse only re-sends icon URLs when site settings change; if the stored URL becomes invalid, it breaks. The fix will only show the logo if it loads properly, otherwise just the forum name (read more).
-
Canapin also flagged that the Meta branded theme lacks margins on single group pages, with Manuel confirming they’d investigate whether a body class is missing.
development
- Don unveiled a native Glimmer implementation of a Facebook-style topic modal, avoiding iframes entirely. He detailed how the modal reuses Discourse’s own
Postcomponents with a patchedpostStream, handles direct links and internal routing without escaping the modal, implements infinite scroll via IntersectionObserver, and even adds a skeleton loading state. Damian_Boon reacted enthusiastically: “I’d love to test your version
”
#Theme component
- Scavin released Clean Share URL, a theme component that adds a per-user preference to strip usernames from shared links (
?u=username), addressing privacy concerns for users who don’t want their username attribution in shares. The component supports an optional custom user field for confirmation (read more).
bug
- 25-year-tech-explainer Lilly contributed to the “flags or something else increase the number of reactions” bug — confirming it was fixed in PR #36138. The topic received a fixed tag.
Activity by the Team Group
Our hardworking Team members have been extremely active across many fronts:
-
Chapoi delivered the biggest announcement of the day with the experimental composer redesign, spent considerable time answering feedback on mobile behavior, fixing accidental design bugs, and helping users work around the Discourse ID logo issue. He also checked in on a custom HTML question in the Right Sidebar Blocks component and followed up on an API tags issue.
-
Sam weighed in on the admin “regular mode” feature proposal, suggesting an inverted approach where admins default to regular user status. He also personally investigated the AI structured output JSON error, recommending a more capable model for spam detection and issued a quick fix via PR #42339.
-
David fixed the Meta error banner display bug and explained the internal hosting deployment system that caused it.
-
Tgxworld confirmed and fixed the initial deployment banner issue.
-
Martin responded to feedback on the granular group-based permissions upcoming change, showing how CSS classes work and approving Lilly's PR to update the groups CSS classes theme component. He also merged several official component PRs to support the new permissions system and provided an update on the unified new view, stating a user preference for splitting counts is “not in our plans at this time.”
-
Nat clarified the language selector limitations around AI translations, linked resources for adding new locales, confirmed a fix for auto-updating translated category descriptions via PR #42407, and helped diagnose a private category translation issue with a data explorer query.
-
J.Jaffeux pushed a commit to address bug fixes in Discourse Workflows based on community feedback.
-
Jordan.Vidrine investigated and fixed the missing Discourse icon on the Discourse ID login page, and responded to UX feedback about closing the mobile tag selector, noting a bottom-sheet redesign is in progress.
-
Awesomerobot contributed a thoughtful and widely-praised post on the future of the internet discussion, and addressed a Patreon dashboard advice issue.
-
Mcwumbly started the provocative “next decade of the internet” topic, shared thoughts on the admin “regular mode” proposal, and explored the idea that admins should have “more explicit signaling” when acting outside normal user workflows.
-
Ted investigated the Patreon dashboard notice persistence issue, noting the refresh button is “a bit redundant.”
-
Rishabh provided authoritative clarification on the Discourse ID registration process, noting the admin button to regenerate credentials and explaining how hosting handles it automatically.
-
Tobiaseigen flagged a broken documentation link in the Custom Wizard plugin, directing to the correct pavilion.tech docs URL.
-
Manuel acknowledged the Meta theme margin issue on group pages and promised to investigate a missing body class.
-
Dax confirmed agreement on the profile spam review queue feature, noting the topic will be updated once the feature is implemented in the review queue.
-
Tannerabread fixed the bulk message archiving refresh bug via PR #42379 and resolved the wrong join date in reviewable insights via PR #42145.
-
Lilly documented setting up Gemini API keys on Google Cloud service accounts with a helpful disco-docs link, and contributed a thorough PostgreSQL 18 upgrade walkthrough for dual-container Cloudflare setups.
-
Renato confirmed a composer HTML pasting fix was merged via PR #42163.
-
PortChange shared that the email reply trimmer fixes were merged, noting the fix lives in email_reply_trimmer PR #25 — closing a 9-year-old topic! Merefield appropriately quipped “9 years later… wow” (read more).
-
Supermathie provided authoritative answers on PostgreSQL 18 for Google Cloud SQL, proved the now-infamous domain debatehosting.co didn’t exist, and shared his own experience with the standard data container migration.
-
Davidb merged a fix for the Gmail dot-variant email validation so the UI now shows a clear explanation instead of a raw error.
-
NateDhaliwal announced new features in the TL3 progress plugin beta, showing the lowest stat when a user exceeds TL3 and working out queries for muted categories.
And in a day where Pfaffman publicly repented, Satonotdead mused on her pre-touchscreen cell phone days, and we learned that a missing domain name caused infinite Spanish-language pain… never forget: if your Discourse won’t install, make sure the domain you’re pointing at actually exists first — SSL can’t negotiate with a domain that isn’t there! ![]()
![]()