Bundling more popular plugins with Discourse core: Stephen raised confusion around which plugins to remove from app.yml in post and sam confirmed the final plugin list is locked in post.
Themeable site settings are now available: featheredtoast asked if themeable settings can include logo onebox images in post, expanding on asset management in Announcements.
Just had about 38 bot accounts and posts sign up and spam: schneeland suggested geo-blocking via plugin in post and manton confirmed checking region data in post.
Terms of Service Checkbox: phoenix1 asked about requiring TOS agreement on signup in post and NateDhaliwal pointed to custom user fields in post.
Rebuild error due to hiredis: truman reported a TypeError with hiredis-client in post and sam began a revert and troubleshooting in post.
Maximum file size limit for remote image downloads?: Richie questioned limits for large external images in post and Moin pointed to the Max image size KB setting in post.
Automatic image grids not working: pierrox couldn’t trigger the experimental auto-grid in post and lindsey confirmed a Markdown-mode requirement in post.
Is there an official Discourse Model Context Protocol (MCP)?: MachineScholar inquired about MCP adoption in post and sam confirmed it’s on the roadmap in post.
Marketing Suggestion: Johnny_McIvor proposed rebranding “forum” to “neoforum” in post and ondrej argued “community” has more positive connotations in post.
Refreshing the topics filtering UI sam shipped a UI upgrade in New topic filtering UI with keyword–based search and autocomplete; details and a demo video are in the thread. read more
#Using Discourse
Advanced topic filter guide sam published a complete walkthrough of the /filter query language in Filtering topic lists in Discourse, covering syntax, sidebar access, and autocomplete suggestions.
Onebox URL 404 truman and Lilly found that embedding YouTube links via /onebox returns 404 in Onebox url 404; testing in safe mode and log review is underway.
’More topics’ area in PMs NateDhaliwal spotted an empty “More topics” bar in personal messages, mirroring the main stream UI, in ‘More topics’ area in PMs.
Onebox embedding for filters thoka proposed dynamic topic oneboxes embedded inside posts for live filter previews in Build embedding / onebox support for topic filters; discussion covers caching strategies and formatting options.
Profile visibility quirk oliver_grant couldn’t make their profile public even after unchecking “Hide my public profile.” Moin explained it’s a trust level feature and linked the original feature announcement.
Global post approval glitch
After enabling the Geo-Blocking plugin, every post was queued for review. Moin traced it to the plugin and RGJ reverted the problematic PR to restore normal posting — read more.
BBCode alignment in tables
Ethsim2 wanted [left]/[right] support inside table cells. Moin pointed out Discourse’s native Markdown alignment syntax as an easy alternative — see example.
Mobile category carousel
alltiagocom requested a swipeable category view on mobile. Moin highlighted the existing header-categories navbar component to achieve this via Theme component — read more.
Hex color input truncation
Trying to type f2f2f2 in category color fields auto-reverted to ff22ff. dax reproduced the issue on Meta and suggested copy-pasting the hex as a temporary workaround — discussion here.
Bold avatar menu entries Moin spotted that avatar menu items were unexpectedly bold. jordan.vidrine quickly fixed the CSS and confirmed it’s resolved — view fix.
Form templates preview broken
The form templates preview step wasn’t running for new tag groups. Contributors identified two PRs (#33848 and #33850) that reinstate the missing hook — PR #33848, PR #33850.
#Translations
Inconsistent plugin names
Canapin highlighted mixed language and naming conventions in the French plugin list. Moin referenced prior feedback and a related sidebar link length discussion.
Geo-Blocking plugin regression
The geo-blocking plugin began queuing every post. RGJ reverted the recent PR and will reevaluate in the coming weeks — details.
Discourse Advertising Plugin UI
undasein couldn’t find ad settings due to ad blockers and a renamed admin path. MarkDoerr located it under /admin/plugins/pluginad/house_creatives — see screenshot.
Chat Posts idea
satonotdead proposed a chat-style post format to boost engagement. Heliosurge suggested starting a neutral public thread instead of PMs — join the discussion.
Curated topics in Digests
Ric asked for a way to pick specific topics for digest emails, essentially turning them into mini-newsletters. The proposal is gathering momentum in the email template space — proposal here.
Tag-group CSS classes request
jrgong posted a paid request to hide or style specific tag groups via CSS in the topic list. The Marketplace thread is open for proposals — details.
Bundling popular plugins
eisammy reignited the debate on shipping more official plugins in core. Opinions remain split between a lean core and a beginner-friendly bundle — read more.
#Self-Hosting
Separate PostgreSQL server
falco noted that the Discourse AI core plugin’s migrations require a dedicated Postgres host, even if the plugin is disabled. pfaffman confirmed this is by design — discussion.
SEO & Forums
Empagstyr asked about recent tweaks for search rankings. noahl shared how moving from 16 categories to 3 and using tags improved engagement and retention — see details.
Group owners should not necessarily be group members: Ethsim2 and Heliosurge explored a proposal to let one group own another for better permission delegation read more.
Improve documentation for discourse-categories-suppressed: Ethsim2 highlighted the need to suppress#TAG categories from Latest/New/Unread with clearer admin UI options read more.
Config as code options for Discourse? mbauman shared progress on a GitHub Action to manage site_texts via API and called for further tooling improvements read more.
3.5.0.beta8-dev release is causing many issues! hmmmnotsure reported OpenID breakages and UI tremors post-update; pfaffman requested more details read more.
Error – one thread can’t be replied to: CrazyCaliope found half of a thread locked for replies, Moin recommended safe mode checks, and j.jaffeux advised inspecting the server logs read more.
Getting Cloudflare 521 Error After Upgrade to 3.5.0.beta8-dev: LW2333 ran into a 521 “Web server is down” error behind Cloudflare, and the community suggested reviewing SSL/TLS modes read more.
Bug Report: Search Filter Issue with Persian Category Slug: serkhelesheyi discovered that filtering by an RTL slug returns no results, highlighting an encoding gap in search read more.
Automatic images grid not working when locale is not set to English: pierrox confirmed fixes for the new gallery feature and expects default WYSIWYG activation once fully compatible read more.
#Site feedback
‘Hidden Whispers’ theme here on Meta? NateDhaliwal spotted an extra theme in the picker for Horizon, and Moin noted a missing component to suppress it read more.
Topic Title in French, when opening new tab from link in User Activity, Firefox in the UK: Ethsim2 reported UI inconsistency where French titles appear in summary tabs unexpectedly read more.
Marketing Suggestion: Johnny_McIvor recommended rebranding “forum” to “neoforum” for broader appeal, sparking a discussion on positioning Discourse in a post-social-media world read more.
Private Live Stream and Discourse: gdelore asked for solutions to host gated video streams, and community members shared insights on Stripe integration and platforms read more.
Bundling more popular plugins with Discourse core: bayardo.rivas and Heliosurge debated how to separate core vs featured plugins in the admin UI for a cleaner install experience read more.
Do not swap Approve / Reject buttons in the spam queue! Laurent pointed out that the spam and flag queues invert the button order, leading to accidental approvals read more.
Topic timeline partially covers reply button: On mobile with Meta Branded theme, NateDhaliwal found the timeline overlay blocking the reply control read more.
Structure and duplication of category contents intra discourse and between discourse sites: philh wanted to clone all topics from one category to another without manual work and title conflicts, and pfaffman pointed to the Administrative Bulk Operations guideread more
Category Banner Stopped Showing: Cate_Soule’s category-banners vanished after assigning more categories and even toggling settings didn’t restore them; NateDhaliwal asked for console errors to debug read more
Hide “Other Notifications”: Cate_Soule asked to remove the confusing extra tabs in the notifications menu, and NateDhaliwal provided a CSS snippet leveraging
Getting Cloudflare 521 Error After Upgrade to 3.5.0.beta8-dev:
LotusJeff helped troubleshoot Cloudflare origin certificate issues and guided LW2333 through switching back to Let’s Encrypt in the app.ymlread more
OAUTH Not Working?: joshhabka encountered a redirect_uri mismatch when setting up LinkedIn OAUTH, seeking confirmation if it’s a bug or misconfiguration read more
虽然全站开启了cdn,但是ssl开启后nginx还是泄露了源站ip,怎么解决?:
Denny_Lu reported NGINX leaking origin IP despite CDN and SSL, looking for nginx/CDN guidance read more
Controlling AI responses in forum discussions:
RBoy noted that setting “Original post only” still triggers the AI on every reply, suggesting the description may need updating read more
TAB key stopped working in markdown editor:
j127 found the Tab key no longer jumps to “Reply” in the markdown composer post-update, while it still works in the WYSIWYG mode read more
Opening PDF after save to iOS home screen:
Halden42 shared a drag-to-right gesture workaround for closing locally hosted PDFs in the PWA, following Ethsim2’s initial bug report read more
Creating events doesn’t respect user’s 12-hour time locale:
justinm bumped the issue where discourse-calendar uses DateTimeInputRange instead of the locale-aware CalendarDateTimeInput element from calendar-and-eventread more
Geo Blocking plugin:
juanjosegzl fixed a moderation caching bug and disabled cache flush on setting changes, resolving post-approval errors read more
‘Force Mobile Homepage’ also stopped working:
Cate_Soule noted that the theme component for forcing the mobile homepage stopped rendering around the same time as banners, likely due to a core or theme update read more
Private Live Stream and Discourse:
gdelore discussed tool choices for hosting private streams alongside Discourse, weighing Zoom Webinars vs. integrated solutions like Discourse Livestream read more
Bundling more popular plugins with Discourse core:
Thomas_Rother struggled with pre-bundling bootstrap failures on external PostgreSQL setups, seeking memory swap and build advice read more
Implementing Discourse via a Technology Partner in GCC / Bahrain:
as_ow looked for regional vendors to integrate Discourse into their portal, and jahan_gagan offered to help via PM read more
Discourse not connected?:
Neumannium’s WP-Discourse sync stopped working, seeing “not connected” errors in logs when fetching API keys read more
#Site Management
AI bot – Personas:
jrgong explored strategies to import Slack history into AI personas efficiently, debating raw dumps vs. pre-processed documents for cost and clarity read more
#Using Discourse: In “Filtering topic lists in Discourse”, chapoi and sam discussed adding in: operators alongside status:new-posts to refine personal filters and avoid confusing “watching first posts” semantics. read more
Theme component: A user reported guest-gate modals vanishing on soft SPA loads in “Guest Gate Theme Component”, leading Don to trace the clash with the Topic Cards component and advise relocating the issue. read more
Bas, sam, and chapoi also touched on themeable site settings history links, dev-news on template overrides, and calendar plugin setup across various threads, ensuring every corner of Discourse runs smoothly.
Thanks to everyone for the amazing collaboration—our bots stayed at bay and no puppies were harmed in the making of these fixes!
In What to do during bot raid?, sam warned about email-change loopholes in post #28 and chapoi proposed limiting changes to TL1 in post #29 to mitigate attacks. read more
Difficulty understanding the enable welcome banner setting saw martin trace a reactive UI glitch via the MessageBus code in post #9 and later dove into theme cache invalidation logic in post #12, post #14 and post #16. read more
Emails are no longer being sent to users prompted PFaffman to note DigitalOcean’s port 587 block in post #2 and itsbhanusharma clarified broader restrictions in post #3. read more
Bulk email without duplicates had EMHmark7 ask how to target overlapping groups/sub-categories without spamming users in post #1. read more
How to properly move my script to the new JS tab in my component? saw Canapin share legacy script code in post #1, chapoi suggest a CSS-based toggle in post #2, and renato recommend restricted tags in post #3. read more
Allow group chat creators to remove others from the group chat kicked off with wings’ use-case in post #1 and lindsey moved it into a dedicated feature thread in post #2. read more
Newly-created “unlisted” Topics send “new topic” Notifications had Richie bump the thread in post #9 after approval settings still triggered alerts. read more
AI-bot header button title doesn’t always match its action featured sam acknowledging Moin’s report and awesomerobot’s ongoing fixes in post #3. read more
Header search disappears on login site settings was reproduced by Moin in post #1, highlighting an unintended hide logic in the login settings UI. read more
Published timestamps incorrect: date shown on topic vs date shown on user activity page saw NateDhaliwal report the mismatch in post #1 and sam confirm the extra date update needed in post #2. read more
People can mention group when mentioning is set to nobody had appeltaartje demonstrate unintended autocomplete in post #1, and Moin dug into visibility vs notification rules in post #5. read more
Chat API: page_size parameter is ignored when direction=past was narrowed to threaded channels by Nima1 in post #4. read more
#Extras
Webhook Telegram Bot – AI-Powered Discourse Notifications introduced by DigneZzZ in post #1, offering an OpenAI GPT-4.1-nano Telegram integration. repository | read more
#Site Management
Immediate actions you can take during a spam attack was refreshed by Moin referencing updated settings for fast typing thresholds in post #13. read more
In Support, sam and hugh discussed how to handle a “bot raid” scenario by adjusting the Allow users to change their email address after registration setting to TL1—sam proposed the change link and hugh confirmed it’s now in the backlog link.
In Bug, seanblue reported that the new rich editor posts “Hide Details” sections open by defaultlink. chapoi and renato noted that matching the Markdown editor UX would be more intuitive link, and lindsey is exploring placeholder tweaks to clarify when details will be hidden link.
In Bug, Moin discovered that clicking a footnote link doesn’t close the footnote pop-up link, and sam traced it to a missing Ember router hook link.
In Bug, supermathie called out a bad inline onebox title for Spotify album shares, showing mismatched baked vs inline previews link.
In Dev, Canapin asked how to move custom JS to the JS tab of a theme component link, and david confirmed it runs identically to <script type='text/discourse-plugin'> and even suggested a pure-CSS selector trick link.
In Dev, NateDhaliwal and joo exchanged code snippets on automating user titles by group and trust level—Nate recommended placeholder tokens like {group_name}link and joo shared a plugin-based solution link.
In Feature, lindsey explained the default composition mode setting for Rich Text vs Markdown, and mcmcclur showed a simple CSS component to hide the toggle switch when enforcing Markdown link.
In UX, Moin reported that the tag dropdown on title edit grows too large when font size preference is small link, and jahan_gagan confirmed the layout glitch link.
In UX, Jagster noted that read topics stay bold in DiscourseHub until a full reload link, Moin speculated it’s a caching hiccup link, and pmusaraj traced it to a mysterious commit in the Ember cache layer link.
In Installation, pfaffman followed up on a letsencrypt runit error during bootstrap, verified the apex→www redirect fix link, and featheredtoast noted the pending PR still needs merge link.
In Installation, pfaffman advised stevejr to spin up a fresh VM and new Postgres 15 instance for a self-host migration from Kubernetes rather than risk in-place upgrades link.
In Plugin, ericathumanmark unveiled Humanmark for Discourse, a hardware-backed verification plugin to distinguish human intent without puzzles or tracking link.
In #Extras, BRINK_Fisher and gilles demoed DisHub, a multi-instance native app for Discourse on iOS/Android, and called for more usage details to troubleshoot login flows link.
# Today on meta.discourse.org...
## Key Stats
- In the last 24 hours, there were **120** new posts and **13** new topics.
- Top users:
- @Bas (8 likes, 4 posts) – engaged in [marketing a new forum](https://meta.discourse.org/t/-/377845/2)
- @Moin (8 likes, 11 posts) – helped with [exporting site texts](https://meta.discourse.org/t/-/350576/6)
- @ondrej (6 likes, 2 posts) – investigated [category logo resizing](https://meta.discourse.org/t/-/377869/2)
- @renato (5 likes, 3 posts) – patched [Rich Text Editor URL bug](https://meta.discourse.org/t/-/377739/4)
- @nathank (5 likes, 4 posts) – debugged [category header styling](https://meta.discourse.org/t/-/148682/142)
- @NateDhaliwal (4 likes, 8 posts) – contributed to [group-based title plugin](https://meta.discourse.org/t/-/377324/10)
- @awesomerobot (4 likes, 3 posts) – refined [Spotify inline Onebox](https://meta.discourse.org/t/-/377753/3)
- @pfaffman (4 likes, 3 posts) – clarified [search API behavior](https://meta.discourse.org/t/-/377818/4)
- @Falco (3 likes, 2 posts) – fixed [GPT-5 Responses API](https://meta.discourse.org/t/-/259214/228)
- @tobiaseigen (3 likes, 4 posts) – triaged [Access Denied site-texts error](https://meta.discourse.org/t/-/377902/5)
## Interesting Topics
#### #UX
- The long-requested ability to return all site texts in the admin panel sparked discussion, with @oldherl highlighting the limit and @tobiaseigen mapping a workaround via Data Explorer [read more](https://meta.discourse.org/t/-/350576/3).
- The proposal for **Featured Categories + Latest Posts** on the homepage gained traction, with @agemo suggesting configurable boxes per category and @nolo pointing to existing components [read more](https://meta.discourse.org/t/-/377859/1).
- Users reported **read topics looking like unread** when paging back to the latest view, leading to CSS debugging and safe-mode checks by @Moin in [this thread](https://meta.discourse.org/t/-/377742/6).
#### #Community
- New forum owners sought **marketing tips** for their freshly deployed Discourse sites; @Bas and @ondrej outlined SEO content strategies and engagement tactics [read more](https://meta.discourse.org/t/-/377845/1).
- The idea of **simulated topics** for an initial SEO boost was debated, with @Bas recommending a limited, staged approach to “seed” a community [read more](https://meta.discourse.org/t/-/377632/13).
#### #Plugin
- **Discourse AI** plugin users asked about GPT-5 support; @sam linked an upcoming PR and @Falco delivered a fix for the new Responses API [read more](https://meta.discourse.org/t/-/259214/226).
#### #Bug
- An **Access Denied** screen appeared when customizing certain site texts; @tobiaseigen and @Moin confirmed replication and flagged a #ux follow-up [details](https://meta.discourse.org/t/-/377902/2).
- Some users encountered errors posting with the **new Rich Text Editor**, particularly after pasting formatted content; @sam and @renato identified an image-optimization issue and landed a fix in core [read more](https://meta.discourse.org/t/-/377800/2).
- A **bad inline Onebox title** for Spotify album links was traced to an outdated Safari UA string, with @awesomerobot and @supermathie clarifying crawler behavior [read more](https://meta.discourse.org/t/-/377753/2).
#### #Theme component
- The **Category Headers** theme component required alignment with recent core style changes, as @nathank and @NateDhaliwal collaborated on PRs to restore proper hiding of core headers [read more](https://meta.discourse.org/t/-/148682/142).
#### #Support
- Questions about the **About page email behavior** led @tobiaseigen to confirm it’s simply a mailto link, pointing to the moderators PM option for staff contact [read more](https://meta.discourse.org/t/-/377903/1).
- Users reported the **Dark/Light Toggle** only appearing for certain theme pairs; @Kartoon and @Moin tested color combinations and sought insights on trigger conditions [read more](https://meta.discourse.org/t/-/377840/1).
#### #Extras
- The community app **DisHub** demoed native iOS UI issues, with user-posted screenshots and login flow feedback from @gilles [read more](https://meta.discourse.org/t/-/377296/10).
#### #Announcements
- A proposal to **bundle more popular plugins** in core sparked debate on filtering and renaming conventions; @Heliosurge and @SkyeDragon discussed “Core Features” vs optional plugins [read more](https://meta.discourse.org/t/-/373574/98).
#### #Migration
- Migrating from **Invision Community 4** stalled on Python conflicts for the converter script; community-provided DigitalOcean image guides offered an alternative path [read more](https://meta.discourse.org/t/-/373181/4).
#### #Feature
- Discourse PWA users sought a way to **jump to topics by ID** without opening another browser, leading to search hacks and deep-link suggestions by @Moin [read more](https://meta.discourse.org/t/-/19084/38).
## Activity by the @team Group
- @Bas shared marketing expertise in [#377845](https://meta.discourse.org/t/-/377845/2), advised on topic simulation in [#377632](https://meta.discourse.org/t/-/377632/13), and flagged AI-crawling defaults in [#377819](https://meta.discourse.org/t/-/377819/3).
- @renato contributed fixes for the composer URL–escape bug in [#377739](https://meta.discourse.org/t/-/377739/4) and resolved RTE formatting errors in [#377800](https://meta.discourse.org/t/-/377800/4).
- @awesomerobot encouraged translations in [#350576](https://meta.discourse.org/t/-/350576/5) and debugged Spotify onebox UA in [#377753](https://meta.discourse.org/t/-/377753/2).
- @sam diagnosed image-optimization failures in the new composer in [#377800](https://meta.discourse.org/t/-/377800/2).
- @tobiaseigen moved the site-texts overflow issue to #ux in [#350576](https://meta.discourse.org/t/-/350576/8), reproduced the “Access Denied” site-texts bug in [#377902](https://meta.discourse.org/t/-/377902/2), and clarified the About page mailto flow in [#377903](https://meta.discourse.org/t/-/377903/1).
- @Falco landed a **Responses API** fix for GPT-5 support in [#259214](https://meta.discourse.org/t/-/259214/228).
- @martin debugged the **welcome banner** caching lag in [#377321](https://meta.discourse.org/t/-/377321/20).
- @supermathie detailed Onebox UA discrepancies in [#377753](https://meta.discourse.org/t/-/377753/3).
- @davidb examined text-contrast logic for category labels in [#363090](https://meta.discourse.org/t/-/363090/44).
- @jordan.vidrine offered a visual on visited link styling in [#377742](https://meta.discourse.org/t/-/377742/12).
---
After 120 posts, 13 new topics, and countless bug fixes (and puppy lives spared), here’s to more Meta adventures—may your site texts be paginated and your playlists oneboxed!
Bundling more popular plugins with Discourse core: featheredtoast outlined how shipping commonly-used plugins by default reduces build times and setup friction, and Andrew_Rowe, pacharanero and Heliosurge shared tips for updating your app.yml. read more
When pasting a link with special characters it will add escape characters, crippling the link: PCPal discovered that URLs containing ~ are escaped as \~, causing ERROR 400 in Chrome’s editor, and Moin pointed to a fix committed yesterday. read more
Access Denied error when trying to customize some site texts: Moin explained how the require change email confirmation setting now broadens recipients beyond staff, prompting debate on whether locking that template still makes sense. read more
Quick Quote Theme Component: donaldsoncd reported that the new Rich Text Composer inserts raw <p> tags when quoting, and merefield noted it predates Rich Text and invited PRs to restore compatibility. read more
Discourse Density Toggle: twofoursixeight tested the new “cozy” density and found inconsistent spacing between topic rows, with stockpile screenshots shared for comparison. read more
Read topics look like un-read, when going back to latest: soegaard and Kartoon found the Categories view doesn’t mark topics as read, while Moin and spdegabrielle discussed commits and safe-mode troubleshooting. read more
Add per-user CSS in a plugin?: NateDhaliwal asked how to apply CSS per-user via plugin settings, and Moin suggested leveraging group-based CSS classes or browser extensions like Stylus. read more
Styling Discourse with variables: A case for simpler semantics: nolo questioned the explosion of CSS variables, sharing lessons from the Canvas Theme Template which organizes them into logical semantic groups. read more
Require LinkedIn or GitHub account to advance from TL0 to TL1: haydenjames explored fast-tracking trust via external logins, pfaffman countered by recommending disabling local logins, and manual approvals filled the gap. read more
Gmail is using our notification email address, not the reply-to email: nathank showed Gmail ignoring the Reply-To header on Discourse notifications, pfaffman confirmed their tests, and Ethsim2 suggested matching SMTP domains and switching to port 587. read more
Linkedin OIDC broken: haydenjames bypassed the UI validator to write the secret directly to the database, restoring LinkedIn login and calling for a core patch. read more
Disable header changes on mobile: alltiagocom wanted a static navbar, and Moin pointed to the Optional Mobile Title Header component which preserves the categories carousel. read more
Don’t mention (@) people in integrated chatrooms?: lilydjwg needs to strip @ from Matrix→Telegram messages, seeking a configuration to output only full names or usernames without mentions. read more
#Sysadmins
Move from standalone container to separate web and data containers: RichardNooooh advised adding an off-site backup system after recalling a dramatic data-loss story, and discussed S3 and multi-provider strategies. read more
An admin API for AI web artifact creation and editing: MachineScholar asked for an ETA on the promised admin API for managing AI Answers artifacts, and sam recommended tracking it in a dedicated Feature topic. read more
featheredtoast highlighted the benefits of bundling popular plugins into core—no more manual JS compiles—sparking a productive thread with multiple self-hosters. see post
All that bundling and tilde-taming has us excited—stay curious, and may your mobile headers never vanish!
# Today on meta.discourse.org…
## Key Stats
- **Total new posts:** 42 ([daily report](https://meta.discourse.org/admin/reports/daily-activity))
- **Total new topics:** 10 ([daily report](https://meta.discourse.org/admin/reports/daily-activity))
- **Top contributors (posts / likes):**
- @Moin: 7 / 6
- @nolo: 1 / 5
- @jahan_gagan: 2 / 4
- @twofoursixeight: 3 / 3
- @Kartoon: 3 / 3
- @RGJ: 2 / 3
- @angus: 3 / 2
- @SubStrider: 1 / 2
- @What_Exit: 2 / 1
- @Andrew_Rowe: 1 / 1
## Interesting Topics
- #Dev **Styling Discourse with variables: A case for simpler semantics**
@nolo kicked off a discussion on adopting CSS variables for component-based theming, and @RGJ countered with a traditional CSS fallback approach to simplify semantics [first post](https://meta.discourse.org/t/-/378001/1) and [RGJ’s reply](https://meta.discourse.org/t/-/378001/2).
- #UX **Read topics look like un-read when going back to latest**
@Moin uncovered a regression where visited topics on the `/latest` and `/categories` pages no longer show a greyed-out state after [the removal of a CSS selector](https://github.com/discourse/discourse/pull/34138), and proposed a theme override as a workaround [read more](https://meta.discourse.org/t/-/377742/21).
- #Bug **Me, a moderator, can see emails when emails are anonymized**
@twofoursixeight reported that anonymized users’ email addresses leak into staff logs by default, and @jahan_gagan pointed out the “Log anonymizer details” site setting as a fix [see discussion](https://meta.discourse.org/t/-/378024/3).
- #Support **How do I get listed on discourse hub app?**
@kenopsia verified their settings but couldn’t find their forum in the mobile app, and @Moin highlighted the need to enable `include_in_discourse_discover` and use the correct URL format in the [Discourse Discover guide](https://meta.discourse.org/t/-/378043/3).
- #Announcements **Bundling more popular plugins with Discourse core**
@Kartoon asked about the rationale behind bundling popular plugins by default, sparking a conversation on footprint, performance, and admin toggle flexibility in the [plugin-bundling decision thread](https://meta.discourse.org/t/-/373574/117).
- #Extras **DisHub – A Modern, Native Mobile App for Discourse Forums**
@fyodorovich detailed initial login hurdles and an unexpected Supabase signup email, and @BRINK_Fisher clarified the app’s browser-based auth flow [read more](https://meta.discourse.org/t/-/377296/11).
- #Support **AP processing dragging forum down?**
@aschrijver1 noted that ActivityPub federation was overwhelming their server, and @angus walked through rate-limiting settings and blocking problematic origins like `mastodon.sdf.org` [see steps](https://meta.discourse.org/t/-/374033/8).
- #Bug **Full name requirement missing on signup form when names are disabled**
@TheNab highlighted that the full-name field vanishes when `enable names` is off, and @kris.kotlarek committed to investigating the issue this week [follow-up](https://meta.discourse.org/t/-/372872/8).
- #Bug **Granting admin rights fails for usernames with special characters when 2FA is enabled**
@Moin surfaced an `UrlGenerationError` when promoting unicode-named users under two-factor auth, complete with console errors and stack traces [full report](https://meta.discourse.org/t/-/378063/1).
- #UX **Hide or grey out the upload icon in the Edit window?**
@What_Exit asked how to remove the media upload button after disabling filetypes, and @Kartoon shared CSS snippets to hide specific toolbar buttons [learn how](https://meta.discourse.org/t/-/378051/5).
- #Bug **UI Bug in Mobile View (RTL Persian Interface) – Time Range Dropdown in Leaderboard**
@serkhelesheyi documented horizontal page shifts and extra taps required on Persian mobile views, complete with a video of the unexpected behavior [reproduce here](https://meta.discourse.org/t/-/378034/1).
- #Bug **Cannot restore own posts on Discourse site**
@twofoursixeight found that self-deleted posts no longer show a restore option, and @NateDhaliwal confirmed the behavior in safe mode with screenshots [see details](https://meta.discourse.org/t/-/378026/1).
- #UX **Don’t display the flag ‘Off-Topic’ option on the first post of a topic?**
@T_Disco asked whether the “Off-Topic” flag should be hidden on opening posts, prompting a dive into UX and moderation boundaries [details](https://meta.discourse.org/t/-/378070/1).
- #Bug **Input for tag groups in the topic filter is broken**
@Moin reported a `TypeError` when entering `tag_group:` filters in the UI, despite URL-based filtering working correctly [error trace](https://meta.discourse.org/t/-/378059/1).
- #UX **‘+xxx more’ box in user card not aligned**
@NateDhaliwal pointed out misalignment of the badge overflow indicator on mobile, suggesting a CSS tweak for the user-card component [view issue](https://meta.discourse.org/t/-/378031/1).
## Activity by the @team Group
- @kris.kotlarek stepped in on the **full name requirement** #Bug (#372872) to commit to a review and keep the OP updated [participation](https://meta.discourse.org/t/-/372872/8).
---
Happy Friday—may your CSS variables stay tidy and your uploads stay hidden! 🎉
After flags flew, breadcrumbs got unstuck, and themes finally showed up without a refresh, it was a thoroughly “meta” day—here’s to more off-topic on-topic adventures tomorrow!
Steve_John reported change detection woes in a Glimmer component’s @tracked array—mutating objects didn’t trigger re-render. Alteras and awesomerobot suggested wrapping items in tracked classes or using trackedObject to solve it. read more
A decade-long self-hosted admin asked why launcher cleanup isn’t part of rebuilds; featheredtoast explained container/image rotation practices and recommended cron-based docker system prune alternatives. read more
lspector found the rich text editor awkward for LaTeX and rediscovered the default composition mode toggle to restore Markdown + preview for math. read more
A recent update caused the BBCode plugin to display raw [color] and [url] tags until the editor is switched mid-post, as discovered in this thread. read more
A community-builder asked how to structure a practitioner directory with form-style intake; solutions pointed to Site feedback’s form templates and topic templates per category. read more
rjmccall reported that the rich text editor breaks macOS/iOS text replacements (e.g. custom adf → links); the workaround is to hit the Markdown toggle. read more
Non-staff members were blocked from creating calendar events due to allowedGroups=trust_level_0; kris.kotlarek removed that filter, restoring public event creation. read more
After a whirlwind of Docker slimming, Glimmer tweaks, and survey launches, may your forums stay smooth and your day be as bug-free as a freshly pruned container!
Categorizing bug and UX issues: Moin questioned the two‐category split, tobiaseigen shared internal docs on UX triage, and sam suggested clearer definitions for “open discussion” vs “clear flaws” in the Categorizing bug and ux issues thread.
Front‐end route troubleshooting: itd-john presented a zip of a test plugin where /jb-test/jbtest.json returns data but the Ember route fails on /jb-test/jbtest, sparking calls for GitHub repos and best-practice sharing in Front End Route.
Glimmer component change detection: Steve_John explored how mutating a @tracked array doesn’t trigger rerenders and asked if libraries like immer could help, prompting discussions on asset inclusion via npm or CDN in Glimmer Component Change Detection Not Working.
Hex input auto-fill issues: attempts to type f2ff32 were overridden by the 3-character auto-complete, so davidb adjusted the hex field validation to trigger only on blur or submit in Can’t type a specific color in the category text.
Mobile theme styling choice: the missing border bars in the Graceful theme’s mobile category list was confirmed as an intentional design by long-time maintainers, with a simple CSS trick to restore them shared in Graceful Theme (Mobile): Missing vertical category color bars. read more
Passkey registration error: whitewaterdeu could register passkeys on Meta but saw timeouts on their own site, igniting compatibility troubleshooting around Edge and WebAuthn extensions in Error when create user passkey in browser.
With 110 new posts, 16 fresh topics, and collaboration at every level, Meta was busier yesterday than an open-office coffee machine during a release week!
Featurereactionsfokx proposed a PR to allow users to select any emoji for reactions, inspired by the retort plugin, confirming mobile support and prompting a mobile-UX question from samread more and tracing back to the original retort discussion read more.
one1 wondered why the Browse Channels action uses a pencil icon, and chapoi clarified that it actually edits your channel sidebar by letting you join channels directly from the panel (Why is "Browse Channels" a pencil icon?).
alltiagocom flagged that the Dashboard’s “Up to date” indicator can contradict the Update panel when one Docker image is outdated, sparking a discussion on aligning UI feedback (Update information isn't accurate).
maiki kicked off a deep dive into running Discourse for educational communities, covering technical setup, social norms, and legal considerations when hosting sensitive school data (Building a Discourse for educational communities).
Support Ethsim2 dove into email backup and migration commands on AWS, outlining snap, aws-cli, and Docker copy steps in the emails not working thread.
NateDhaliwal then explained Mailgun setup in app.yml.
Support nathank experimented with configuring logo and logo_small as code in site settings, but opted to rename Docker volumes for simplicity.
Bugcomposer#mobile: NateDhaliwal found that Rich Text mode on Android traps you in codeblocks, preventing newlines in preformatted text.
Lilly and thoka confirmed platform differences and strange deletion behaviors (post:2, post:3).
Dev mehrdad_rezaee asked whether login/registration can be customized via a plugin or if SSO is required.
pfaffman pointed to the DiscourseConnect SSO setup guide.
#Self-Hosting#how-to: bloomexperiment observed that the #solved: tag is now bundled into core and requested an updated example in the install plugins guide.
alltiagocom suggested adding an Edit Topic/Post option to the wrench menu for quicker inline edits, sparking a debate on keyboard shortcuts and menu placement (read more).
nat proposed showing translated user bios on user summaries and cards to improve content-localization and aid moderation (read more).
justinm urged supplementing or replacing email digests with push notifications to boost engagement, prompting mcwumbly to outline design considerations around nudge defaults and user controls (read more).
Community members flagged fabricated links and inconsistencies in Ask Discourse, with Canapin pinpointing hallucinations and mcwumbly encouraging the use of the button to surface quality issues (read more).
jrgong asked for deletion and archiving options in Ask Discourse chat history, and mcwumbly suggested surfacing search and bookmarking as initial housekeeping steps (read more).
benword announced an early community-built GitHub Sponsors integration plugin, reviving a 2020 Feature request and opening discussion on sustaining open-source funding (read more).
alltiagocom detailed a custom theme component adding emojis to sidebar sections, and mcwumbly endorsed turning it into a native feature now that emoji support for categories exists (read more).
one1 argued that the Browse Channels pencil icon misleads users and suggested a “View All” button for clarity, highlighting the importance of intuitive UX (read more).
In a rare Announcements deviation, Hooksmith critiqued repeated calls to the Discourse Community survey and its placement outside the New Features feed, prompting mcwumbly to revisit the survey notification strategy (read more).
kcahtoor encountered Urdu Noto Nastaliq font shaping and sizing issues, and nat recommended tweaking font-weight variables via a theme component to resolve the render quirks (read more).
Steve_John sought best practices for modeling three levels of subject matter as categories vs. tags, and mcwumbly advised starting with content-type categories and using tags for overlapping topics (read more).
antontruda asked about adding custom <head> code in the latest theme settings, and mcwumbly explained migrating Custom Code to theme components and offered remote vs. core theme workflows (read more).
BuddhistBookClub requested access to logs of unapproved member requests, and mcwumbly probed their current workflow to identify where approvals and group assignments occur (read more).
#Blog: After six months of beta, Unboxing Discourse 3.5 by Discourse introduces the Horizon theme, a streamlined composer, dark mode enhancements, and automatic translations, with more details on bundled plugins.
AnnouncementsDiscourse 3.5 is now live!hugh’s 3.5.0: Major release highlights a visual composer, new core theme, color management improvements, and content translation.
Support Users on iOS 16 & earlier saw missing background colors and font styling in dark mode; TethysPlex’s bug report prompted chapoi to investigate z-index rendering on Meta Branded/Dark.
Bugwings uncovered a Chat Upload Bug where files re-uploaded by non-original uploaders fail without text or lose attachments when sent with text.
#Developer Guides: pfaffman’s advice on Windows 11 WSL2 setup for local Discourse development helped streamline environment fixes after missing dependencies.
#Translations: A big thank you to everyone listed in Thanks to translators for release 3.5!, from Albanian to Chinese, for making Discourse accessible worldwide.
Supportpnzr’s SEO query on pages “Crawled – currently not indexed” by Google led to discussions on sitemap configuration and webmaster console diagnostics.