Dev: Static pages sync: Allowing specific private categories to be synced – NateDhaliwal prototyped a repo structure (post:13), RGJ questioned the need for extra exclusion logic (post:14), and ultimately recommended an include_private_categories setting over toggling excluded_categoriesread more.
Theme component: Quote Callouts updated to use the new API – RowBro shared the updated component via post:40, and Arkshine teased upcoming Glimmer & rich-editor support in post:41read more.
Theme component: Url Composer Templates are fully operational – Drew-ART confirmed the new template’s feature set in post:4 and outlined initial goals in post:1read more.
Support: Discourse App iOS Zoom Issue pinned as solved – the root cause was iOS/Safari’s minimum font-zoom behavior (report), confirmed by chapoi in post:7 and marked resolved in post:9.
Support: Publish txt file for IndexNow integration – Timelord asked about hosting a root .txt file in post:1, RGJ provided the step-by-step in post:3read more.
Support: New users blocked by invite-only before OAuth2 login – Soumya_Ranjan_Mishra ran into “access by invite only” pre-login (post:1), and jahan_gagan recommended toggling off invite only to restore the flow read more.
Feature: Exploring online multiplayer mini-games on Discourse – tom_eric asked about Go/Gomoku plugins and embedding HTML5 games in post:1, while merefield floated AI-driven game ideas read more.
Bug: Sticky header vanishes post-update – RGJ applied the fix after discovering the ticket misrouting (post:20) read more.
Bug: Custom link removed from user cards – ZeroDean found the header submenu plugin unmounted after the latest rebuild (post:1) read more.
General: Discourse as a personal notebook guide – pacharanero shared a blog post on using Discourse for notes, featuring configuration tips and helpful plugins (post:4) read more.
#Data & reporting: Anonymous views spike debated – Ed_S called it an “arms race” with spammers in post:44read more.
mcwumbly updated the Static pages sync topic’s title for clarity (post:19) and proposed a dual-repo approach for public vs. private content (post:20).
chapoi confirmed the root cause of the Discourse App iOS Zoom Issue is enforced by iOS/Safari zoom rules (post:7) and marked the topic solved (post:9).
It was such a plugin-packed day that even our four-legged friends might start issuing pull-requests!
AWS S3 Integration Tutorial: Jim_Starkweather ran into outdated DISCOURSE_S3_REGION references in the 2020 guide and asked when to rake old data; pfaffman stressed environment-level settings and rerunning the rake task post-rebuild. read more
Comment-Only Forum: apoiata wanted a blog-style category where users can only reply; NateDhaliwal and Moin explained how to remove “create” permissions and grant “reply” rights under category Security.
(Limit users rights - #3 by Moin)
AI Micro-Features: iamcapote sketched out persona auto-greetings and enriched AI composer metadata (taglines, tooltips, docs URLs) for clearer bot discovery.
(AI supporting Micro-Features)
Schema Article Markup: tpetrov proposed adding schema.org/Article to doc-category pages so search engines recognize them as formal content rather than generic posts.
(Doc pages - Schema Article)
Time Registration Deprecation: denvergeeks spotted a registerConnectorClass deprecation warning in the Time Registration plugin, illustrating the shift to modern connector registries. read more
twofoursixeight noticed the removal of the necropost warning and suggested adding a secondary confirmation dialog when replying to topics older than two years read more.
Eria211 called to reinstate bumping when editing the first or last post to keep announcement-style threads visible in the latest feed read more.
nathank reported that PDFs sometimes download instead of opening directly, prompting investigation into consistent inline PDF previews (pdf-previews) read more.
hellekin outlined cases where muted tags still trigger notifications after category moves and proposed delaying or revoking those notifications to respect muted filters read more.
gabriel unveiled a new automation to strip upload markdown from deleted posts and tie orphaned uploads into the cleanup job for storage reclamation read more.
DevTeVe and sam tackled reports that AI-generated posts and automation summaries are being cut off by the UI, tracing the issue to provider endpoints and pending fixes in the latest commit read more.
cvx explained that the d-cakeday migration to core disabled the plugin by default in error and opened a PR to restore the correct enablement heuristic read more.
RGJ discovered that help labels vanish in the Automation plugin when the UI language is set to English (UK), revealing a localization gap in automationread more.
pmusaraj and sam noted that custom profile links disappeared from user cards due to component changes, spurring a review of custom-profile-link compatibility read more.
fuzzyk found that the Lazy Videos plugin fails to embed youtu.be short URLs under strict referrer policies, resulting in error 153 and a need for plugin adjustments read more.
deviantintegral reported the MCP User API Key generator failing on Node.js > 20 with unsupported RSA_PKCS1_PADDING, prompting a switch to OAEP padding read more.
ZeroDean flagged that automation emails silently fail when two emojis appear in the subject and called for explicit error messaging in the UI read more.
Moin shared a CSS workaround to add preview images for themes created via the Admin UI by replacing the default SVG pattern with custom uploads read more.
yuriy requested details to troubleshoot the new Welcome Banner font color issue and guided Joe_F through a custom CSS fix in the Admin UI read more.
darkpixlz released a small update to Pyx’s Modern Theme, introducing a scrapped lightbox background and an enhanced search UI for cleaner, more consistent styling read more.
chapoi tested mobile drag-and-drop for the Kanban plugin on iOS, reporting issues with long-press previews and missing drop modals link.
cvx detailed a fix migration PR for the Cakeday plugin integration in core, restoring the intended enablement behavior based on pre-migration settings link.
sam investigated the AI completion cutoff issue, confirming UI fixes landed and advising on log checks and endpoint configurations link.
yuriy requested additional information to debug the new Welcome Banner font color settings in the Admin UI link.
sam committed to reviewing the disappearance of custom profile links in user cards and tracking down the relevant component change link.
Falco confirmed that Lazy Videos embeds behave the same on Meta and suggested checking environment policies for referrers link.
chapoi clarified the use of the “after user update” trigger for automating welcome posts that tag new members link.
Falco diagnosed the Node.js padding error in the MCP User API Key generator and requested OS, NodeJS, and OpenSSL versions to reproduce the issue link.
tobiaseigen and renato addressed WYSIWYG compatibility warnings and block-level spoiler markup issues in the Composer Button Bonanza component link.
gabriel highlighted the new automation that removes deleted-post upload markdown and ties it to the cleanup uploads job link.
blake pledged to update the REST API docs to include the moved invite-link endpoint at /invites.jsonlink.
sam proposed UI improvements for automation errors when emails fail due to double emojis in subjects and discussed log visibility link.
david guided developers to the new plugin outlets for inserting content after the first post and pointed to the post-stream changes guide link.
Falco confirmed that latest-post is a valid filter parameter in the Topics filter route for the MCP, clarifying a perceived hallucination link.
Falco recommended enabling AI bot debugging to monitor tool calls and refine assistant prompts in the AI Bot support topic link.
Hope your notifications stay silent, your threads stay lively, and no puppies got lost in these notifications!
Use user names in participants list manut suggested that calendar events display full names instead of usernames in the invitees list, sparking debate with tobiaseigen, chapoi, and zogstrip on tying this to the site’s name display settings (link).
Disable the automatic jump to the last post after replying tom_eric requested an option to prevent the view from scrolling to the bottom on reply, leading pfaffman and Falco to discuss modifier-key workarounds and past user preferences (link).
Display number of users’ rejected posts in the review queue kris.kotlarek highlighted that moderators often lack context on authors’ history in the review queue, and the new insights tab now surfaces rejected post counts per user (link).
AI-generated multi-language app.yml comments tom_eric proposed an AI-assisted workflow to translate and publish comment-rich app.yml/standalone.yml templates in multiple languages to help self-hosters worldwide (link).
Invite link API endpoint moved to /invites.json Lou asked for a method to fetch all invite links en masse, and pfaffman pointed to the Data Explorer plugin approach for efficient retrieval (link).
Linting consistency for plugins and core pfaffman encountered mismatched Prettier/Eslint behavior in plugins, and sam and david recommended running pnpm i in plugin directories and shared mass-pr scripts for updating lint-configs (link).
Default AI-AGENTS.md for themes and plugins pfaffman drafted a plugin-specific AI-AGENTS.md with customized QUnit, linting, and path instructions, expanding on the core documentation (link).
#Developer Guides
Objects type for theme settings gabriel announced that type: uploads and type: objects are now available for both theme and site settings, enhancing file and JSON handling in custom themes (link).
Run Discourse AI evals Moin suggested adding the ai tag to the “Run Discourse AI evals” guide, clarifying its relevance to the AI plugin and improving discoverability for newcomers (link).
Bogus Dashboard advice on force_https Paul_King noticed a misleading dashboard warning about force_https, and RGJ referred to existing threads clarifying that this setting is hidden and unnecessary for Let’s Encrypt users (link).
Convert categories into tags in bulk chrisc wanted to repurpose categories as tags, and Moin shared rake tasks for bulk tagging and moving topics to preserve metadata before deleting old categories (link).
Disable hover effect on Sign Up/Log In buttons Cate_Soule asked how to remove default hover styles, and chapoi recommended targeting the .sign-up-button class via custom CSS scoped under d-header (link).
Category reordering and fixed positions not working Paul_King reported that fixed category priorities weren’t overriding /latest sorting, and jahan_gagan explained that muted default categories don’t appear on the latest page (link).
MCP User API Key Generator error on Node.js >20 deviantintegral discovered incompatibility of the Discourse-MCP CLI with Node.js < 24, and Falco opened a PR to update the minimum Node requirement to >=24 (link).
Path for custom template CSS Cate_Soule approached Cloudflare integration and asked which file serves custom CSS; Moin advised using a theme or theme component instead of raw file paths (link).
chapoi reviewed full-name display settings in #390176, provided CSS guidance in #390139, and assisted with category ordering checks in #390136.
j.jaffeux continued stabilizing the iOS composer positioning fixes in #388476 and merged the Chat scroll solution in #389942.
Falco pointed out the Shift+Reply workaround in #390189, updated Node.js requirements for the MCP tool in #390073, and removed deprecated AI rake tasks in #352607.
sam clarified plugin vs. core linting nuances in #390104, diagnosed private-content issues in RAG searches in #389792, and corrected the MCP README in #390091.
gabriel showcased the new uploads field type for theme settings in #305009.
zogstrip suggested centralizing name display settings in #390176 and tested mobile thread scrolling in #389942.
david outlined shared lint-configs usage for plugins/themes in #390104.
tobiaseigen backed the full-name display proposal under the existing enable names setting in #390176.
Restrict chat for certain groups: Shauny highlighted the inability to disallow chat for specific users, and Moin suggested using dynamic groups to control chat permissions read more.
Restrict specific topics in a category to members only: lilydjwg requested tag-based permissions for RSS-imported topics, leading mcwumbly and Heliosurge to discuss workarounds and automations read more.
Auto-complete without mouse: pHneutre called for keyboard navigation in contextual pop-ups, with Canapin confirming core support and chapoi outlining debugging steps read more.
Custom invite email domain for hosted sites: Frankz asked how to swap discoursemail.com for a custom domain, and Moin clarified enterprise-tier limits and support contacts read more.
Discourse ai bot not working: Shin_210 struggled to get chat responses; sam guided endpoint toggles and log-based debugging read more.
Multi-instance activity backup + unified multi-site Discourse reader: tom_eric proposed personal cross-site mirroring and an aggregated reader; chapoi and awesomerobot hashed out scope and existing ActivityPub options read more.
Category Exclusion (Blacklist) for Automation Triggers: DevTeVe suggested a “global except these” filter for Discourse Automation, reducing maintenance when new categories are added read more.
Slightly misconfigured email notification: angus spotted a confusing “announcement” email triggered by category moves; Moin linked to a related discussion on announcement notifications read more.
Bug: reaction and reaction-received fail to load the next page: small-lovely-cat found duplicate entries in reaction pagination; nat and others investigated frontend/backend ID mismatches read more.
Incoming email replies do not share the same topic: hellekin reported each email reply spawning a new thread in email-in, seeking thread-detection fixes read more.
Date range seems wrong: manut uncovered missing calendar events when editing dates in post markdown, while zogstrip could not reproduce on a fresh install read more.
Guidance on implementing display name precedence: manut proposed a unified display_name method in serializers; keegan recommended focusing the PR on calendar participants first read more.
Locked, solved, and new topic adornments are misaligned on longer titles on mobile: JammyDodger shared screenshots of badge wraps, and awesomerobot traced the issue to a recently added tooltip component read more.
#Site Management
Understanding PII storage in Discourse: olivia published a detailed guide on stored PII, access controls, and how SSO via DiscourseConnect can minimize data collection read more.
#Sysadmins
Discourse AI: Discord Bot Integration Guide: DevTeVe outlined a webhook-only architecture for Discord Interactions, streaming edits, and recommended setup best practices read more.
mcwumbly reviewed scope and added pr-welcome to Use user names in participants listlink, triaged the whisper-post bug in Adding an invalid tag to a topic creates a whisper postlink, and advocated for a “back” marker in Add an option to disable the automatic jump to the last post after replyinglink.
sam weighed in on legacy badge defaults in Notify on every like should be the defaultlink and adjusted AI-bot endpoint settings in Discourse ai bot not workinglink.
awesomerobot outlined user-level mirroring options in Multi-instance activity backup + unified multi-site Discourse readerlink and debugged mobile badge alignment in Locked, solved, and new topic adornments are misaligned on longer titles on mobilelink.
chapoi advised on request scoping in Multi-instance activity backup + unified multi-site Discourse readerlink and assisted with keyboard navigation debugging in Auto-complete without mouselink.
keegan refined serializer usage in Guidance on implementing display name precedencelink.
olivia authored the PII storage guide in Understanding PII storage in Discourselink.
pmusaraj clarified profile link settings in Custom link suddenly no longer presentlink.
zogstrip merged the whisper-post fix in Adding an invalid tag to a topic creates a whisper postlink and investigated calendar API issues in Date range seems wronglink.
nat debugged reaction pagination in Bug: reaction and reaction-received fail to load the next pagelink.
Falco confirmed model availability in Discourse AIlink.
Keep your chat rooms in line, your event dates spot-on, and your AI bots chatting—see you tomorrow!
HAWK announced organizational changes in Our Commitment to Your Ongoing Success with Discourse (read more), explaining cost‐structure adjustments for long-term sustainability and responding directly to community condolences.
sam unveiled powerful moderation improvements in Search improvements to make community management easier! (read more), including granular bulk-post deletion and new in:all-posts filters inspired by Shopify’s workflow.
patrickemin proposed hiding recent topics from unregistered users in Encourage new registrations by hiding new topics (read more), sparking debate over extending the Gated Topics component vs. creating a standalone solution.
lilydjwg sought a way to restrict topic visibility without moving categories in Restrict specific topics in a category to members only (read more), and mcwumbly pointed to private-topics plugins and nested subcategories.
A user described mismatched threads when replies come via POP3 in Incoming email replies do not share the same topic (read more), prompting questions about Message-ID headers and mail-receiver settings.
pHneutre reported browser-specific issues with keyboard autocomplete in Auto-complete without mouse (read more), and chapoi confirmed behavior across Firefox and Chrome.
Jonathan5 asked how to persist launcher rebuild output to a file in Save output of rebuild to log file (read more), with tips to use tee and ~/filename.log.
beitmenotyou inquired about adding statuses, follows, and profile boxes in Social Features (read more), and NateDhaliwal pointed to user-status and follow plugins.
A moderator highlighted dangerous placement of “Delete User” in the review UI in Moderation UI: Too Easy to Delete a Valid User (read more), and awesomerobot proposed a two-click dropdown refresh.
panic shared CSS for reducing “Mark as solution” padding in “Mark as solution” button has excessive right padding (read more).
copymonopoly asked why super in PostSerializer#raw triggers a 500 error in Why does calling super in PostSerializer#raw cause a 500 error while calling object.raw works? (read more), and the solution came from using prepend instead of reopening the class.
Gunnar looked for release notes for v2025.12.0 in No release announcement for 2025.12.0? (read more), and RGJ clarified that v2025.12.0-latest is still in development.
small-lovely-cat traced an RSpec failure to a changed data-post-id in Bug: reaction and reaction-received fail to load the next page (read more), and zogstrip added a spec before merging the PR.
ZeroDean noted missing user-field placeholders in emails in Field is blank when received via email (read more), requesting a visual cue or link fallback for email dumps.
“We’re making some organizational changes and we want to be direct with you about our plans.” yuriy shared heartfelt reflections read more and featheredtoast offered solidarity read more.
App interviewer in Feature sparked ideas around custom research pop-ups inspired by Anthropic’s Claude and the potential of integrating interviewer bots read more.
PraiseFelicianoTech posted a heartfelt thank you to the community, praising contributions from developers, support volunteers, and self-hosted advocates. philhechoed the sentiment, and HAWKreflected on the recent tough staffing decisions.
Communitystephtara outlined a detailed category structure for migrating her 8k-member diabetic cats support group from Facebook to Discourse, exploring onboarding gates and group-based permissions read more with NateDhaliwal suggesting a how-to plugin implementation here.
Communitystephtara and others weighed in on member invites to control what newcomers see, comparing Discourse’s invite workflow to Facebook’s group model discussion starts and stephtara’s follow-up is here.
Community In the “Introduction / Welcome Topic” thread, stephtara asked for examples of mega-thread introductions and community members shared best practices for spotlighting new users get inspired and see stephtara’s update here.
FeatureRBoy proposed tracking AI usage per persona to optimize resource allocation, picking up on the LLM metrics thread continuation and presenting his persona-tracking idea details.
Featurestephtara revisited the “7 myths why a blog isn’t needed in the discourse core” discussion, questioning best ways to integrate a blog homepage into Discourse catch up with her latest comments here.
Featurerokejulianlockhart noted Discourse’s override of the browser’s emoji font settings, linking to the prior emojis-update thread background and proposing a native-font fallback proposal.
Devpfaffman and NateDhaliwal collaborated on injecting custom intro text into the subscriptions page via CSS, outlining the pure-CSS approach initial solution and the fully formatted snippet here.
Installationone1 encountered a MaxMind 401 error despite valid credentials, and pfaffman walked through verifying environment variables and container config to resolve the issue problem & troubleshooting.
Bugtyped-sigterm reported the “Powered by Discourse” footer overlapping dropdowns in the Horizon theme bug report, JammyDodger confirmed it’s theme-specific analysis, and the issue was pinpointed to /review/settingsdev notes.
Supportsupermathie demonstrated that replying to a circuit-down alert via email CC correctly threaded into the group inbox topic, helping uncover the right reply-conditions original report & test case.
j.jaffeux enhanced Discourse Rewind by adding a user-toggle in preferences, confirmed at post 3 and showcased the updated UI at post 4.
supermathie validated email reply threading under real-world conditions group inbox test and clarified that DISCOURSE_SMTP_DOMAIN is rarely required in ./discourse-setupinsight.
HAWK chimed into the Praise thread, thanking everyone for their support and reflecting on the difficult decisions that led to recent layoffs see comment.
mcwumbly proposed CSS and setting tweaks to emphasize categories in the homepage layout migration thread and probed the Discourse-GitHub user-association logic in the badges plugin feedback.
Falco explained that GitHub contributor badges rely primarily on email matching and offered manual badge assignments for mismatched cases clarification.
May your servers auto-renew like Let’s Encrypt, your forums purr along as smoothly as a migrated cat community, and your day be filled with as much enthusiasm as our meta discussions!
Communitynat proposed reducing category bloat and leaning on tags in a discussion about structuring an active support community migrating from Facebook, addressing decision-fatigue concerns post 16 while HAWK reiterated the value of a minimal category set and pointed to best practices for tag adoption post 17. read more
UXTeafh kicked off a conversation about renaming the combined New/Unread view—questioning why it’s “new” instead of “unread” post 1—and chapoi and RGJ unpacked the nuances of recency versus user-state across posts and topics post 3post 6. read more
Bug A regression in the iOS full-screen composer caused the page to auto-scroll when opening the reply window, with Thierry_Trégaro reporting flash-scroll glitches post 4 and j.jaffeux confirming the fix was merged and deployed after a rebuild post 11. read more
Bugsam shared a work-in-progress PR to resolve 500 errors and data loss in the Shared Edits plugin, laying groundwork for more robust collaborative editing post 5. read more
PraiseHAWK chimed in to thank Todd for highlighting the value of Discourse’s open-source community edition, emphasizing its impact on healthy forums post 2. read more
UXdajb revisited the year-old username guidance request on the signup form and chapoi committed to follow up on the status of js.user.username.instructionspost 22post 24. read more
Bugsam confirmed that pressing Enter in the account preferences form on Chrome triggers a native form submit and proposed a controller-level preventDefault patch post 8, after manut validated the issue in a clean dev environment post 9. read more
BugMoin flagged an issue where unread notifications persist after users are removed from a personal message, and zogstrip is working on reproduction steps to nail down the bug post 10post 12. read more
BugRGJ diagnosed that the Discourse AI bot’s group-check logic mis-handles the everyone group, and advocated using user.in_any_groups? for proper inclusion post 5. read more
InstallationToddZ reported that clearing out and re-building MaxMind assets fixed the persistent 401 error, likely due to a stale license or account glitch post 8. read more
UXchapoi identified a z-index conflict where the “Powered by Discourse” badge was overlaying dropdowns and suggested lowering the experimental layer to avoid obstruction post 5. read more
Bugsam confirmed that the Tenor GIF search integration was exhibiting a double-scrollbar glitch and promised iterative improvements over the upcoming weeks post 3. read more
Featuresam agreed on the idea to record AI persona IDs in the stats table for more granular usage tracking post 2. read more
Themecvx updated the official Mint theme with .d-compat entries across affected files for compatibility with recent Discourse changes in PR #65 and noted the update in the topic post 71. read more
HAWK guided the Community migration conversation on Facebook-to-Discourse best practices post 17 and contributed to the Praise thread on the community edition’s value post 2.
chapoi unpacked the renamed New/Unread UX nuances post 3 and resolved CSS z-index conflicts in the “Powered by Discourse” overlay bug post 5.
nat shared category vs. tags moderation insights in the migration topic post 16 and clarified tag-group security limitations post 22.
awesomerobot detailed the “consolidated new” setting mismatch and suggested UI text consolidations in the New/Unread discussion post 22.
cvx ensured the official Mint theme stays compatible by adding .d-compat entries upstream post 71.
pmusaraj explained GitHub badge issuance requirements, emphasizing matching email addresses for the #SiteFeedback topic post 5.
j.jaffeux confirmed the iOS chat plugin scroll fix had been merged and deployed post 11.
zogstrip is reproducing the personal-message unread-badge bug to identify root causes post 12.
supermathie highlighted the impact of DigitalOcean’s port-blocking on SMTP defaults and shared feedback on port 587 issues post 7.
Keep your notifications handy—tomorrow promises another round of category quests, z-index puzzles, and “new vs unread” thrillers!
hellekin encountered a censor-blocking error when featuring external links in An error occurred: Featured Link is invalid (An error occurred: Featured Link is invalid), and found a clever workaround by publishing it as a shared draft before going public (read more).
sniper756 also needed to clean up leftover BBCode after import in After migrating from XenForo to Discourse (After migrating from XenForo to Discourse), and ToddZ pointed to the classic Replace a string in all posts technique (read more).
lindsey introduced Starred Channels in Star your favorite chat channels ([390713/1]).
chapoi guided on bulk tag creation via CSV in How to add multiple tags up front ([390796/2]) and refined the UI in Use user names in participants list ([390176/14]).
Falco clarified locale-based title translations in Not sure how to juggle languages… ([390791/3]) and probed AI model parameters in Ai bot 400 error… ([390794/2]).
southpaw updated the search cheat sheet with in:replies and in:all-posts filters in Searching for content effectively ([273328/14], [273328/16]).
sam triaged and fixed the AI bot error in Ai bot 400 error… ([390794/6]).
zogstrip patched the PM cleanup path for removed users in Can’t clear unread notification after being removed from a PM ([311995/13]).
jordan.vidrine investigated the dropdown overlap in ‘Powered by Discourse’ covers dropdown ([390625/7]).
kris.kotlarek explained review queue claim visibility in A new review queue layout with all new features ([388194/43]).
renato diagnosed the embed JSON error in “Show Full Post” button doesn’t work… ([390811/2]).
With images recovered, AI errors resolved, and chat channels formally starred, the meta team blazed through another 24 hours—no puppies were harmed, but a few tags got well-deserved CSV treatments!
Announcementsmartin announced Degauss your screens, Discourse Rewind 2025rewind, explaining how admins can enable Rewind and later refined the sharing opt-in flow to hide Rewind pages if consent isn’t given (390852/1, 390852/6) read more
CommunityWorldIsMine celebrated the return of Google’s Forums filter, sharing screenshots and strategies like ?udm=18 to test visibility across regions (390831/1, 390831/9) read more
Pluginmartin introduced Discourse Rewind as a bundled core plugin, complete with design tweaks and localization hooks, and awesomerobot praised the analogies and stats design (390847/1, 390847/2) read more
UXganncamp reported that the Assign modal’s keyboard workflow regressed overnight, prompting zogstrip to ship a fix PR restoring full keyboard navigation (assign) (PR #36596) read more
Bugguzhimin reported a freeze on the register button after installing on Ubuntu 24, with troubleshooting around password length and site settings (read more)
BugFalco confirmed that the AI-bot PDF support is now working and 400 errors are resolved in the 2025.12.0-latest build (aiai-bot) (read more)
SupportCate_Soule asked how to prevent downtime during frequent updates, exploring 503 responses vs. UI builds and SEO concerns (read more)
Supportwenqin reported that the [grid] auto-filling feature isn’t working on fresh installs, with guidance to enable the Experimental auto grid images setting (read more)
SupportToddZ and Canapin dove into adding multiple tags up front, blending mind maps and AI tools to bulk-assign tags to new topics (read more)
Migrationstephtara and HAWK continued planning a community migration from Facebook to Discourse, clarifying how topic templates live independently of categories (HAWK’s insight) read more
#Self-Hosting:philh troubleshot AWS S3 uploads via CloudFront with support from pfaffman, isolating bucket configuration issues in DISCOURSE_USE_S3 setups (cdnconfiguring) (read more)
martin provided core plugin guidance in Discourse Rewind, ensuring localization support.
From Rewind rollouts to revived search filters and swift bug squashing—Meta’s been buzzing! Here’s to keeping the momentum (and the dropdowns) in perfect alignment.
Live Pull Request Status on GitHub Oneboxes – zogstrip unveiled live pull request status indicators with color-coded icons and hover titles for GitHub PR oneboxes (read more).
Degauss your screens, Discourse Rewind 2025 is here – Moin detailed the new Rewind plugin now included in core, shared CSS tips for custom logos, and discussed translation fixes for negative readability scores (read more).
Unlock All Discourse AI Features with Our Hosted LLM – keegan announced free hosted, open-weights LLM access for all Starter through Enterprise customers—no third-party provider needed (read more).
Webinar: Year-End In Your Community – Danielle invited everyone to join the December 17 webinar on reflecting, celebrating, and planning for 2026, with tips drawn from our own Rewind data (read more).
Discourse Rewind – martin shipped fixes for negative readability scores and added translation support to make Rewind shareable via user profiles (read more).
What plugin or feature powers the “Community Highlights” section on the n8n forum? – boblee asked about the horizontal carousel on n8n’s homepage and Moin pointed to theme components like Featured Topics and Showcased Categories (read more).
Linking “static” information about a member to topics – stephtara explored using custom user fields, portfolios, and signature plugins to attach diabetic-cat profiles to support requests (read more).
Inserting Watcher’s Username in Email Notices – trader sought code to embed the recipient’s username into forwarded emails, and pfaffman offered direct assistance via email (read more).
#Site Management
Native PDF and attachment support in Discourse AI – sam released vision-enabled document handling for Anthropic, Google Gemini, and OpenAI models in AI bot chats (read more).
Inadvertent flood of emails/notifications when silently moving topics – nathank reported that silent bulk-edit options weren’t suppressing notifications for watched destination categories; zogstrip traced a silent-flag propagation issue and fixed it (read more).
Missing sentiment pages for moderators – putty noted that sentiment report links were hidden from the moderator sidebar; awesomerobot added the missing entries in minutes (read more).
Autofocus on reviewable note form – Moin highlighted that the review queue’s automatic focus on the last note field causes unwanted keyboard pop-ups on touch devices (read more).
Sort order of Templates in the composer – soeren-1 requested a sortable template list in the composer toolbar to speed up insertion of pre-written responses (read more).
Discourse Chat: group multiple channels into categories – smallmirrorkey proposed grouping chat channels into collapsible categories for better scalability as channel counts grow (read more).
Google brings back the Forums tab/filter! – eisammy cheered the global return of Google’s “Forums” filter in search results, giving Discourse sites a visibility boost (read more).
zogstrip: kicked off live PR status oneboxes and refined hover labels (#390900/1, #390900/3), then debugged and fixed silent bulk-edit notifications (#390993/10).
sam: launched native PDF and attachment support in AI bots (#391007/1) and clarified Qwen3-VL-8b image errors in AI contexts (#391017/2).
Danielle: announced the final 2025 webinar on year-end community planning (#391036/1).
Falco: confirmed that the CDCK Hosted Small LLM is not available via API for self-hosted instances and recommended alternatives (#390985/3).
martin: shipped core fixes for Discourse Rewind translations and readability issues (#390847/9).
keegan: introduced the hosted LLM announcement for Discourse AI across all hosting tiers (#390985/1).
mcwumbly: reviewed silent bulk-edit specs and UX expectations for category-change notifications (#390993/3).
awesomerobot: patched missing sentiment report sidebar links for moderators (#391033/2).
supermathie: troubleshot TLS settings in the emails:test rake task for SMTP configurations (#387286/12).
With all those oneboxes, AI features, and bulk-edit fixes, our community has never been more exciting—time to rewind and rest up for tomorrow!
Current Projects – December 2025 lindsey kicked off the monthly newsletter outlining upcoming Discourse ID flows and site improvements; mcmcclur and zogstrip debated email setup workarounds read more.
Degauss your screens, Discourse Rewind 2025 is here
The rewind feature rollout led to a regression in “What’s New” feeds; martin identified the cause and deployed a fix while sam triaged user reports read more.
Live Pull Request Status on GitHub Oneboxes
After introducing live PR status oneboxes, fzngagan rebaked the affected posts to display correct merge/close indicators read more.
Webinar: Year-End In Your Community
The Discourse Customer Success team announced a December webinar; mcwumbly and others are gearing up to join the year-end community recap details.
Discourse Discover: Linux Communities
The December blog roundup spotlighted vibrant Linux forums; Falco shared links to Manjaro, EndeavourOS, CachyOS, and more read more.
Structuring an active support community migrating from Facebook stephtara outlined a parallel-run approach from Facebook to Discourse; ToddZ and mcwumbly weighed in on chat vs. asynchronous support models read more.
#Site_feedback
Disabling “AI search discoveries” in preferences Moin discovered the UI setting wasn’t persisting in the database; zogstrip and david proposed core valueTransformer enhancements to resolve the issue read more.
Surface in:all as an option in the Advanced Search UI nathank requested a UI control for in:all prefix to include group messages and chat in searches, improving search flexibility read more.
Group chat channels into sidebar categories awesomerobot proposed a new sidebar section type that can mix chat channels, topics, and tags for custom workflows read more.
“Show Full Post” button fails in subfolder installations Thiago_Mobilon and renato tracked down a missing trailing slash causing 404s; Falco helped confirm that bypassing Cloudflare and appending “/” resolves the embed caching bug read more.
Optimization Proposal for Discourse Admin Account Registration QingZ11 suggested inline password-length feedback during admin signup; chapoi collated existing bug reports to streamline the user flow read more.
最新插件开发指南 — 我想开发一个插件
A Chinese user asked for updated plugin docs; zogstrip asked for concrete examples so the core guides can be modernized Pluginread more.
Quotes in full name break quote markdown RGJ showed that display names with quotes disrupt quoting; zogstrip landed a PR to strip or escape these characters safely read more.
Issues with AWS CDN and S3 philh experienced FileStore::ToS3MigrationError; Falco confirmed the hosted sites use S3+CloudFront and guided on certs and CORS settings read more.
DigitalOcean Spaces (S3) “unable to sign request” DavidO’s backup and upload attempts failed without credentials; pfaffman pointed out missing use_s3 settings and YAML syntax corrections read more.
“Regular mode” for admins and moderators stephtara proposed toggling mod/admin privileges on demand rather than juggling separate accounts post #35, ToddZ shared dual-account workarounds post #36 and cautioned that complex friction may outweigh the benefit, suggesting stable separate accounts remain the cleanest approach post #38.
New composer inserts double line breaks when pressing return key mentalstring highlighted that using Shift+Enter or adding two trailing spaces prevents unwanted paragraphs in rich-text mode post #18, echoing renato’s original edit-box UX notes about toggling between editors.
Static pages for things like guidelines? one1 asked about disabling lazy loading for long FAQ posts post #1, ToddZ pointed to the Page Publishing featurepost #2 and the thread revealed that splitting the FAQ across multiple replies caused the loading delay post #5.
How to notify when posts edits via API? putty proposed tagging public groups for edit alerts post #4, pfaffman suggested converting the topic into a wiki post #5 and Moin reminded that edits inside the grace period won’t re-notify post #6.
Upgrade without rebuilding having a good/ready image? lejeczek discovered that pulling a new container image and running rake db:ensure_post_migrations db:migrate applies migrations cleanly post #5, and pfaffman recommended precompiling assets to complete the upgrade process post #6.
Publish txt file Timelord managed to create a static .txt page by entering the container and placing the file at the site root post #7; read more.
无法收到邮件的问题 guzhimin resolved missing admin-registration emails by switching to a brand-new, never-used email address post #6; read more.
iOS 26 bugs still persist on 26.1
After updating to iOS 26.1, jollyhat confirmed the cursor misplacement remains in the Discourse app post #13 and in Safari for some users, as noted by Richiepost #14.
I love the public JSON API of Discourse (creating a map) AquaL1te praised the JSON API for powering a community events map post #1, and ToddZ applauded the mapping project in reply post #2.
#Site feedback
Topic Voting enabled for our Feature category! ToddZ compared filtered views for likes-only vs. votes-only post #32, mcwumbly sketched out a personalized stack-rank roadmap proposal post #40 and ToddZ later suggested distinguishing Likes from Votes for clearer signaling post #41.
Composer positioning issues in iOS mentalstring verified that iOS 26.2 finally fixes the off-cursor typing bug in both the Discourse app and Safari post #27; read more.
Error is not highlighted when username is correct, but password too short zogstrip implemented a fix and added a system spec in PR #36672 after spotting missing validation coverage post #11.
The web page continuously loads previous posts and auto-scrolls up Teafh demonstrated a looping load on long topics when scrolling up post #1, and awesomerobot suggested safe-mode testing to rule out theme/plugin conflicts post #6; the bug repros on Meta and user forums across browsers.
Reviewable insights stale data Moin reported that the “Insights” panel shows today’s date and zero post count for established users when reviewing flags post #1, then noticed that IP info fails to update when switching between reviewables post #1.
Canapin resolved a rebake failure by expanding swap space and asked about memory monitoring; Ed_S recommended using vmstat to track RAM and swap peaks during rebuilds (see read more).
philh made progress on AWS S3 and CloudFront setup, flagged confusing docs, and called for a consolidated AWS S3 CDN & backups guide in Issues with AWS CDN and S3.
# Today on meta.discourse.org...
## Key Stats
- **New posts:** 163
- **New topics:** 12
- **Top users:**
- @Moin: 14 posts, 18 likes
- @stephtara: 12 posts, 14 likes
- @awesomerobot: 5 posts, 12 likes
- @zogstrip: 7 posts, 9 likes
- @pfaffman: 12 posts, 7 likes
- @alltiagocom: 10 posts, 5 likes
- @martin: 4 posts, 5 likes
- @chapoi: 4 posts, 5 likes
- @manut: 2 posts, 5 likes
- @ToddZ: 2 posts, 4 likes
## Interesting Topics
### #Community
- In the [Discouragement of the First-Time Discourse Admin](https://meta.discourse.org/t/-/391379/1), @stephtara laid out her overwhelm over category design and onboarding flows, with @patrickemin and @awesomerobot offering step-by-step setup advice ([reply](https://meta.discourse.org/t/-/391379/5)).
- In [How exactly do I get people to use my forum?](https://meta.discourse.org/t/-/374916/23), @ToddZ stressed clear, descriptive titles (TL3+ users can edit them), and @tvavrda floated an AI-driven naming assistant to convert loose ideas into searchable threads.
### #Support
- The [Editing a post pushes it to the top?](https://meta.discourse.org/t/-/391322/1) thread confirmed that only replies (not edits) bump topics now, except when a wiki first post is edited—per @Moin’s summary of the September change ([solution](https://meta.discourse.org/t/-/391322/2)).
- On [Post-signup popup form for optional demographic questions](https://meta.discourse.org/t/-/391336/1), @Welsh_Selkie asked about a one-time popup; @Moin pointed to the [User Field Prompt](https://meta.discourse.org/t/user-field-prompt/185214) component and @chapoi cautioned on the UX friction of immediate popups ([comment](https://meta.discourse.org/t/-/391336/3)).
- The [Login Only mode](https://meta.discourse.org/t/-/390994/1) discussion clarified that static assets (CSS/JS) remain publicly cached for performance, even when posts require login, as @agemo demonstrated and @awesomerobot confirmed ([details](https://meta.discourse.org/t/-/390994/4)).
- In [Can’t log in with different account from mobile app](https://meta.discourse.org/t/-/391268/1), @pmusaraj broke down the Safari session and Apple link challenges for DiscourseHub, while @stephtara described the multi-step logout/login workaround ([post #8](https://meta.discourse.org/t/-/391268/8)).
- The feature request [Exclude posts from category by default globally](https://meta.discourse.org/t/-/391320/1) was answered by @Moin: just mute the category via the site setting to keep “digital garden” notes out of your homepage feed ([solution](https://meta.discourse.org/t/-/391320/2)).
### #Feature
- A request in [Use user names in participants list](https://meta.discourse.org/t/-/390176/1) led @manut to volunteer PRs and @zogstrip to confirm no new topics were needed for review ([discussion](https://meta.discourse.org/t/-/390176/18)).
- In [ActivityPub: no user-agent sent with request](https://meta.discourse.org/t/-/391245/1), @pmusaraj submitted a PR to include a user-agent header so federated clients can be created correctly ([PR discussion](https://meta.discourse.org/t/-/391245/2)).
- The [Edit history visible to certain groups?](https://meta.discourse.org/t/-/391332/1) post by @Teafh sparked ideas for per-group edit-log permissions instead of a public toggle.
- A UI polish in [Surface in:all as an option in the Advanced Search UI](https://meta.discourse.org/t/-/391095/1) found @zogstrip merging checkboxes and dropdowns into one multi-select, with `in:all` included in the list ([update](https://meta.discourse.org/t/-/391095/2)).
### #Plugin
- The [Discourse Rewind](https://meta.discourse.org/t/-/390847/1) plugin thread saw @martin and @zogstrip confirm fixes for emoji alignment and note that it remains compatible with the Yearly Review plugin ([fixes](https://meta.discourse.org/t/-/390847/18)).
- In [Calendar RSVP Posts](https://meta.discourse.org/t/-/390058/1), @gilles asked about translating notifications and @mariodsantana explored CSV history exports to download RSVP data ([thread](https://meta.discourse.org/t/-/390058/5)).
### #General
- @vedansh_industries’s query in [Best practices for managing image uploads in product-heavy community discussions](https://meta.discourse.org/t/-/391341/1) drew @pfaffman’s advice: stick with Discourse’s default compression, use S3 for high-volume hosting, and only optimize moderation if problems arise ([guidance](https://meta.discourse.org/t/-/391341/2)).
### #Bug
- The [Wrong join date and post count in reviewable insights](https://meta.discourse.org/t/-/391232/1) report prompted @sam and @kris.kotlarek to dig into discrepancies between public and admin post counts and to pinpoint a date-format bug in the JSON endpoints ([details](https://meta.discourse.org/t/-/391232/4)).
## Activity by the @team Group
- @awesomerobot guided new admins in [Discouragement of the First-Time Discourse Admin](https://meta.discourse.org/t/-/391379/5), unpacked asset caching in [Login Only mode](https://meta.discourse.org/t/-/390994/4), demoed theme outlets for [custom landing pages](https://meta.discourse.org/t/-/148291/13), explained sort logic in [template composer](https://meta.discourse.org/t/-/391010/2), and confirmed emoji fixes in [Discourse Rewind](https://meta.discourse.org/t/-/390847/18).
- @zogstrip tackled UI bugs in the [LLM Usage page](https://meta.discourse.org/t/-/391273/2), unified search filters in [Advanced Search UI](https://meta.discourse.org/t/-/391095/2), improved touch controls in emoji settings ([issue](https://meta.discourse.org/t/-/391181/2)), refined participant naming in [Use user names](https://meta.discourse.org/t/-/390176/18), and reviewed plugin tweaks in [Discourse Rewind](https://meta.discourse.org/t/-/390847/15).
- @chapoi answered donation questions in [请问有可以捐赠的地方么?](https://meta.discourse.org/t/-/391278/5), weighed in on UX for [post-signup popups](https://meta.discourse.org/t/-/391336/3), advised on SEO title removal in [exclude site title](https://meta.discourse.org/t/-/391264/7), and fixed a layout bug in the [Powered by Discourse dropdown](https://meta.discourse.org/t/-/390625/12).
- @martin debugged host misconfigs to restore [Discourse Rewind](https://meta.discourse.org/t/-/390852/57) functionality and confirmed deployment success ([follow-up](https://meta.discourse.org/t/-/390852/58)).
- @Bas clarified the official FAQ on donations in [possible to donate](https://meta.discourse.org/t/-/391278/6).
- @Juan_David_Martínez merged a localization fix for help labels in the [automation plugin](https://meta.discourse.org/t/-/390029/9).
- @sam investigated the infinite-scroll glitch in [continuous scroll bug](https://meta.discourse.org/t/-/391192/9) and flagged post-count mismatches in [reviewable insights bug](https://meta.discourse.org/t/-/391232/2).
- @pmusaraj proposed an ActivityPub header fix in [user-agent PR](https://meta.discourse.org/t/-/391245/2) and demystified multi-account login in [Discourse Hub](https://meta.discourse.org/t/-/391268/8).
- @kris.kotlarek traced post-count sources in [reviewable insights](https://meta.discourse.org/t/-/391232/4).
- @renato confirmed `[wrap]` support in the rich-text automations editor in [composer formatting](https://meta.discourse.org/t/-/391347/4).
Keep your themes fresh and your threads fresher—Meta’s puppies are wagging their tails in celebration! 🐾