Reporting window: 2026-03-08 → 2026-03-15, as reflected across active threads like the FAQ/Guidelines housekeeping discussion (read more) and late-week UX/browser reports (read more).
Webinar announcement: moderator programs (read more)
Interesting Topics
#Announcements
Discourse AI got OpenAI/Azure “service tier” selection, letting admins trade off cost vs latency vs reliability in provider settings (ai, #Announcements) — read more
A new webinar was announced: “Creating & Nurturing a Moderator Program” (with a promised replay for registrants) (webinar, #Announcements) — read more
Hosted AI capacity limits were increased significantly (plus model + throughput improvements), with updated quotas reflected on the pricing page (ai, #Announcements) — read more
The Discourse team published a detailed write-up on the Upcoming Changes system and how it supports gradual rollouts across varied site configurations (blog) — read more
#community-building Building
A fun and insightful thread asked: “How old is your forum?”—prompting migration histories from Yahoo Groups, phpBB, Ning, vBulletin, and more (#community-building Building) — read more
Cross-platform community ops came up again in a “WhatsApp challenges” follow-up: one practical pattern was capturing key takeaways from chat groups into a shared Discourse category (#community-building Building) — read more
Meta’s evergreen “Discourse is great” energy continued, with community members sharing milestones and encouragement (#community-building:praise) — read more
A tricky edge case: after merging topics, one post could no longer be marked as the Solved answer—eventually traced to an existing solved record in the original topic and manually repaired, with a fix planned (solved, Support) — read more
Multilingual admins asked how to localize custom badges and groups; the key takeaway: seeded badges are i18n’d, but custom badges need translation overrides (currently console-dependent) (translation, badges, Support) — read more
A “forum acquisition” question explored how to bring topics from one Discourse into another without full restore, pointing back to established migration workflows (Support) — read more
A clean, low-code customization request: adding explanatory text above /g (groups index) was solved with a tiny theme component using After Header + CSS gating (groups, Support) — read more
Moderator capability boundaries surfaced: moderators can delete users, so the recommended approach for tighter control was Category Moderators + per-category moderator groups (Support) — read more
A self-hosting anxiety post (“install on my VPS”) turned into a practical mini-guide: one-line installer, backup mindset, and hosted-vs-self-host tradeoffs (#Self-hosting, Support) — read more
A Onebox/OpenGraph failure that worked on Meta but not on the user’s site ended up being a certificate chain / server-side fetch trust issue, reinforcing that Onebox generation is server-side and sensitive to TLS setup (onebox, Support) — read more
Admins trying to “require TOS acceptance” used a clever workaround: a required custom user field checkbox to gate saving profile/preferences (Support) — read more
A dashboard UX/data issue: the Site Traffic graph becomes unhelpful when crawlers dominate, prompting a request for smarter scaling or a “rescale” control (dashboard-reports, bug) — read more
A content-localization bug: localized tag names weren’t being cleaned/slugified, breaking body classes and tag display; a fix plus migration shipped (content-localization, bug) — read more
Form Templates: selecting multiple templates per category didn’t persist after refresh due to missing save behavior in a simplified category-creation flow; workaround + merged fix provided (form-templates, bug) — read more
Discourse v2026.3.0 upgrade pain: discourse-subscriptions failed boot due to a route constant load-order/deprecation edge case; a core PR removed the deprecation point (subscriptions, bug) — read more
A scary report: using topic timers + schedule publishing in a draft with a missing destination category could spiral into a heavy, “catastrophic” UI state (topic-timers, bug) — read more
Mobile composer toolbar: when too many buttons exist (often from theme components), later buttons can look “missing”; discussion turned to whether scroll affordances (like arrows) should appear on touch devices (composer, ux) — read more
On some tablets/browsers, the floating search widget produced bizarre input behavior (reversed character order), eventually linked to a floating keyboard feature (search, Support) — read more
A login-page polish issue: top logo alignment shifts when language switcher or theme toggle is present (login, ux) — read more
A notable new plugin: diskuz Call brings peer-to-peer voice/video calls into Discourse using WebRTC (signaling on server, media P2P/TURN) (#customization:plugin) — read more
Another plugin showcase: a Discourse Points Mall prototype (check-in, shop, orders, ledger) with candid notes about current bugs and readiness (#customization:plugin) — read more
A theme-component tooling thread: Tag Style Tool shipped updates quickly after reports of disappearing UI and Font Awesome SVG subset quirks (tags, #customization:theme component) — read more
A no-rebuild alternative to server plugins: Bilibili inline player as a theme component, compared against an existing rebuild-required plugin approach (onebox, #customization:theme component) — read more
“Banner Featured Links” got an update to address htmlSafe deprecation and other cleanup, pinned to 2026.3.0-latest (#customization:theme component) — read more
The terminal-based Discourse client “termcourse” added MessageBus-powered realtime notifications and began aligning shortcut conventions (experimental, #customization:extras) — read more
Falco focused on practical admin fixes and roadmap notes: explained Cloudflare “everyone got banned” IP behavior and the need for the Cloudflare template (read more), confirmed work on a new UI to display full “and N more…” reactions lists (read more), clarified Data Explorer API behavior changes and limits/pagination guidance (read more), expanded hosted LLM capacity limits and model capabilities (read more), and outlined replacements for Google’s discontinued Custom Search integration plus future “native web search tools” support (read more).
nat delivered several “deep internals” clarifications and fixes: corrected the realities of i18n for custom badges and provided the console-based TranslationOverride approach (read more), investigated localized tag output and shipped a cleanup fix + migration (read more), responded to dashboard traffic-graph scaling feedback with “changes coming” context (read more), and pointed users to the experimental tag settings page for managing translated tags after AI translation (read more).
sam shipped and discussed multiple AI/automation developer-facing improvements: announced OpenAI/Azure provider service tiers and how to configure them in LLM settings (read more), advanced the “automation pipelines” idea (trigger → filters → actions, observability, extensibility) (read more), responded to upgrade issues around USERNAME_ROUTE_FORMAT with a core PR to remove the deprecation pressure point (read more), and continued triage on AI Search resource usage expectations vs unexpected CPU pressure (read more).
awesomerobot handled a broad spread of admin UX + bug triage: reproduced and confirmed the multi-form-template persistence bug, suggested a workaround, and followed with a merged fix (read more); investigated toolbar overflow behavior and the “hidden arrow on touch devices” tradeoff (read more); identified a third-party plugin causing “official” components to fail after update and offered safe-mode isolation steps (read more); and suggested structured approaches for gating access via guidelines acceptance using Policy + Automation patterns (read more).
Danielle coordinated community-facing updates: announced the moderator-program webinar and confirmed recordings will be shared after the session (read more), and helped steer a process for reviewing/updating older FAQ/Guidelines documentation references (read more).
supermathie provided crisp diagnostics and user-expectation improvements: tested problematic mobile browsers for text-selection UI issues and concluded the most viable path is recommending supported browsers (read more), documented a temporary email regression caused by a gem update (with break/fix commits) for anyone impacted that day (read more), and proposed a UX hint for multisite “guest” admins who can’t access /sidekiq to reduce confusion (read more).
chapoi engaged on UX polish and dashboard/report behavior: clarified the intent behind the site-traffic Y-axis behavior and agreed it should be smarter in crawler-heavy scenarios (read more), pointed developers to Discourse docs being included directly in the core repo (read more), and confirmed a tablet TOC overlay bug should be fixed by an upstream DiscoTOC PR (read more).
martin worked on both production troubleshooting and product communication: diagnosed why “mark as solution” can fail after merges (a prior solved record in the old topic) and applied a fix while investigating a preventative change (read more), and published the companion discussion topic for the “Upcoming Changes system” blog post (read more).
HAWK kicked off a cleanup thread about FAQ/Guidelines link confusion, which quickly evolved into a documentation and process review effort (read more).
pmusaraj supported Discourse ID troubleshooting: requested backtraces for “can’t alloc thread” signup failures and helped narrow suspicion toward memory constraints / reproducibility via fresh installs (read more), and offered direct cleanup of duplicate redirect-URI credentials as a temporary fix while workflow improvements are in progress (read more).
Thanks for reading, and I’ll see you again next week!
A busy week on Meta (2026-03-15 → 2026-03-22), with lots of energy around experimental UX (nested replies), developer-facing changes (plugin build tooling + deprecations), and a steady stream of admin/support troubleshooting across hosting, auth, and calendars (see the mega test thread: read more).
Key Stats
New posts:644
New topics:82
Most active / most appreciated users (posts + likes received this week):
Discourse added Calendar subscription URLs (ICS feeds) directly in user preferences, including bookmarks-with-reminders and optional event feeds when the calendar plugin is enabled: Calendar subscription URLs for external calendar apps.
March’s “what we’re building” roundup shipped, including AI limit increases and a roadmap-style digest in Current Projects - March 2026.
A new experimental plugin brings a “Wikipedia-style” workflow for post improvements without granting broad edit rights: Discourse Suggested Edits.
Plugin authors got a big modernization with caching, ES modules, and precompile opportunities in Introducing a new build system for plugins, and the compiler was soon enabled by default in latest (read more).
The review-queue prompt “Is this post something else or spam?” triggered a nuanced UX/wording discussion about binary prompts, dropdown semantics, and grammar ambiguity in “Is this post something else or spam?”.
A “dismiss” button that isn’t truly dismissing (because the underlying condition persists) raised the broader question of snoozing vs clearing admin notices in Clearing advice doesn’t actually clear it.
Meta’s own “Guidelines / FAQ” discoverability prompted discussion about static pages vs topics, restricted categories, and search expectations in Guidelines/FAQ not appearing in search results?.
People couldn’t find the releases site, and the community pushed for better IA/link placement — resulting in quick fixes discussed in Where is the link to the releases? (with changes implemented shortly after: read more).
Cloudflare ops folks shared updated real-world WAF/rules guidance and plan limitations (e.g., regex operator availability) in the evergreen guide thread Using Discourse with Cloudflare: Best Practices.
Discourse shipped a very experimental nested/threaded topic view plugin for testing, explicitly framed as feedback-on-feel rather than bug reporting: Testing Nested Replies on Meta.
To reduce “where did the other posts go?” confusion once deep nesting triggers a detached “context view,” a UI clarity pass was proposed and demoed in UX improvements for deeply nested thread view.
People want per-post translation UX that’s less fiddly than highlight→Ask AI→Translate, plus a way to cache/save translations to avoid repeated API spend: Translate post with AI and save translation (building on earlier localization ideas: read more).
أفضل المستخدمين (المنشورات / الإعجابات المستلمة هذا الأسبوع)
Moin — 34 منشورًا / 75 إعجابًا — ساعد في فرز المشكلات مثل علامات ترقيم تصويت المواضيع (اقرأ المزيد) ووضح سلوك تنظيف التحميل بعد الحذف (اقرأ المزيد).
david — 20 منشورًا / 70 إعجابًا — رد على ملاحظات حول ظهور الإصدارات وإعلانات الموقع (اقرأ المزيد)، ونفّذ إصلاحًا لبريد "الإصدارات الجديدة" العالقة (اقرأ المزيد)، وطوّر موقع الإصدارات (حلقة تغذية راجعة لـ RSS والتصميم) (اقرأ المزيد).
Falco — 12 منشورًا / 55 إعجابًا — شرح سياق موجة إصلاحات الأمان (اقرأ المزيد)، ودفع ترقية Patreon API v2 إلى الأمام (اقرأ المزيد)، وناقش أهداف ترجمة الرسائل الخاصة لـ Discourse AI (اقرأ المزيد).
zogstrip — 12 منشورًا / 29 إعجابًا — رتّب سلسلة من الإصلاحات بما في ذلك التحقق من صحة أسماء الرموز التعبيرية البديلة (اقرأ المزيد) وتحسينات تجربة المستخدم للمراجعة/طابور الانتظار (اقرأ المزيد).
merefield — 12 منشورًا / 28 إعجابًا — قدم تحليلًا دقيقًا للمخاطر حول إضافات "تنظيف بقايا قاعدة البيانات" (اقرأ المزيد) ودفع نحو حلول قابلة للصيانة للخصوصية/جلب الروابط (اقرأ المزيد).
R23D_Printing — 21 منشورًا / 28 إعجابًا — طوّر بسرعة تحديات Discourse، مضافًا إليها فترات أسبوعية + وصول المشرفين، ثم بوت تحديات يعمل عبر الرسائل المباشرة (اقرأ المزيد).
awesomerobot — 9 منشورات / 27 إعجابًا — أصلح انتكاسات واجهة المستخدم مثل علامات ترقيم تصويت المواضيع (اقرأ المزيد) واقترح تحسينات على أذونات API لـ about.json (اقرأ المزيد).
darkpixlz — 19 منشورًا / 25 إعجابًا — ساعد في تصحيح تعطل الإضافة بسبب CDN/CORS (اقرأ المزيد) ورفض بشكل صحيح إخفاء لافتات "الأحمر الكبير" للسمات المعطلة (اقرأ المزيد).
RGJ — 8 منشورات / 20 إعجابًا — قدّم شرحًا واضحًا حول متى يتم حذف التحميلات بعد الحذف الدائم (اقرأ المزيد) واقترح طرقًا أكثر أمانًا للبروكسي لجلب الروابط/الخصوصية (اقرأ المزيد).
nathank — 16 منشورًا / 20 إعجابًا — قدم إرشادات عملية للمسؤولين (مثل ظهور المجموعة في صفحة "حول") (اقرأ المزيد) واستكشف نهج الميزات/سير العمل حول الأحداث والدعوات (اقرأ المزيد).
طرح Ed_S مخاوف بشأن الإصدارات "المتخفية" وطلب العودة بنشر الإصدارات إلى قسم الإعلانات؛ david اعترف بالألم وقال إن الفريق يناقش مؤشرات أفضل للعودة إلى الموقع (اقرأ المزيد).
استمرت الحيرة حول استهلاك الإصدارات في موضوع مركز حول إصدارات.discourse.org، مع طلبات لـ RSS وقراءة أفضل—ما أدى إلى إطلاق قناة RSS بسرعة (اقرأ المزيد).
واجهت عملية تسجيل خطة الاستضافة المجانية خطأ "تم تخصيص مواقع كثيرة جدًا"؛ HAWK و pedro تدخلوا للتحقيق وتأكيد المدخلات (اقرأ المزيد).
تعلم مستضيفو Discourse ID الصعوبة المتطلب الأساسي: إذا أخبر موقعك Discourse ID أن عنوان إعادة التوجيه ليس HTTPS، فستحتاج إلى تصحيح force_https / رؤوس البروكسي—تضمنت المناقشة مفاهيم خاطئة شائعة حول عكس البروكسي (اقرأ المزيد).
سؤال عملي حول كيفية إزالة المشرفين من صفحة /about دون إزالة المجموعة؛ حل بسيط عبر "المجموعات المخفية" (ومجموعات ديناميكية اختيارية) (اقرأ المزيد).
سؤال حول "اللافتة الحمراء الكبيرة" تحول إلى تذكير: تنبيهات السمات المعطلة صاخبة عن عمد، والحل الصحيح هو معالجة المكون، وليس إخفاء التحذير (اقرأ المزيد).
سأل مسؤول عن كيفية نقل لافتة/صورة إلى أعلى كل الارتفاع—ركزت الإجابات على أن هذا يتم بشكل أفضل عبر مكون سمة صغير/تعديل CSS بدلاً من العبث بالعلامة (اقرأ المزيد).
إزعاج طويل الأمد—عدم وجود رسائل "إصدار جديد متاح"—تم تتبعه إلى تغيير في مكتبة redis وحصل على طلب سحب رئيسي لإصلاح المهمة المعطلة (اقرأ المزيد).
مشكلة حادة "يبدو وكأنه HTML عادي" في متصفح فيسبوك الداخلي على آيفون تُعزى إلى تصنيف خاطٍ لكشف المتصفح MetaIAB، وفتح طلب سحب رئيسي لتعديل الإعدادات الافتراضية (اقرأ المزيد).
أبلغ العديد من المسؤولين عن فشل الإضافات بصمت بعد الترقية بسبب سلوك CORS من جانب CDN؛ أشار التصحيح الأولي إلى رؤوس BunnyCDN وتوقيت الانتكاسة (اقرأ المزيد).
مشكلة واجهة صغيرة ولكنها حقيقية: مع تفعيل تصويت المواضيع وإخفاء "0 تصويتات"، يظهر فاصلة بعد آخر وسم؛ تم اتهام تخصيص سمة الموقع، وتم تعديلها بسرعة (اقرأ المزيد).
حادث مؤلم في المحرر: رفع صور HEIC تسبب في خطأ + إعادة تحميل، مما فقد مسودة طويلة؛ ركز التحقيق على خطوات الاستنساخ وتفاصيل الخطأ (اقرأ المزيد).
أشار تقرير تجربة المستخدم في الموقع إلى مربعات التحقق الثنائي (2FA) محاذاة لليسار عند تسجيل الدخول عبر تدفق "تسجيل الدخول بالبريد"؛ تم فتح طلب سحب للإصلاح وحصلت صفحة تسجيل الدخول في الموقع على فحص متجدد (اقرأ المزيد).
حصلت دقة الرموز التعبيرية على وقتها: :champagne: غير موجود، لكن اسم بديل جعله يظهر كما ينبغي؛ أضاف المتابعة التحقق لمنع الأسماء البديلة للرموز غير الموجودة (اقرأ المزيد).
طلب ملاءمة للهاتف المحمول: إضافة شريط القبضة إلى ورقة إجراءات المشرف السفلية للمشاركات (مطابقة لواجهة مستخدم إجراءات المشرف للمواضيع) لتحسين الاكتشاف والتعامل (اقرأ المزيد).
طلب ميزة تجربة مستخدم اقترح عارض "توسيع الجدول" بشاشة عريضة (للقراءة فقط) حتى تكون جداول Markdown الكبيرة قابلة للقراءة دون الدخول في وضع التعديل (اقرأ المزيد).
استمرار التجارب في الموقع مع الردود المتداخلة أظهرت كلًا من الحماس وارتباك التنقل، خاصة عند الدخول من الإشعارات أو العرض المسطح (اقرأ المزيد).
حاصلو السمات/الإضافات حصلوا على دفع آخر: .hbs الملفات مهملة (انقل إلى .gjs)، وأبرز الموضوع أيضًا Ask Discourse كمساعد سريع للتحويلات الصغيرة (اقرأ المزيد).
دعم <script type="text/discourse-plugin"> المضمنة تم إزالته الآن؛ تم تحديث موضوع التحديث الشامل مع موعد الإزالة في مارس 2026 (اقرأ المزيد).
تحديث الفريق: تم مشاركة محادثة نظام بناء الإضافات الجديد خارجيًا (اجتماع Ember Europe)، مما يمنح المطورين مسارًا لتعلم سير العمل الجديد (اقرأ المزيد).
#customization:plugin
تحديات Discourse تطورت بسرعة: فترات أسبوعية، وصول المشرفين، ثم ChallengeBot (تأكيدات الرسائل المباشرة، تذكيرات، أوامر مثل status/leaderboard/streak) هبطت بتتابع سريع (اقرأ المزيد).
فكرة إضافة جديدة، Plugin Cleaner، هدفت إلى مسح وإزالة "البقايا" غير المرتبطة من الإضافات المثبتة؛ سلطت التعليقات الضوء على الخطر الكامن في حذف هياكل الإضافات المجهولة/غير المنقولة الآن (اقرأ المزيد).
Discourse Member Application قدم تدفق استقبال منظم /apply للمجتمعات الخاصة/بدعوة، مستبدلاً النماذج الخارجية/جداول البيانات بعملية مراجعة + دعوة داخل Discourse (اقرأ المزيد).
#customization:extras
Dexo، عميل Discourse الأصلي لنظام iOS مبني بـ UIKit/Swift، عرض دعمًا متعدد المنتديات، عرض HTML، تدفقات المصادقة، ونهج واجهة نظيفة (اقرأ المزيد).
#community-building البناء
سأل مالك مجتمع جديد عن ملاحظات حول منتدى Discourse جديد لمجتمع لعبة؛ غطت الردود التصميم، تنقيح تجربة المستخدم، وجعل Discourse يبدو أقل "عامًا" من الصندوق (اقرأ المزيد).
سأل مدير مجتمع باللغة البرتغالية إذا كان منتدى لعبتهم منظّمًا جيدًا؛ شملت الاقتراحات إعادة التفكير في مقايضات الوسوم/الفئات الفرعية وتحسين طرق التوجيه (مثل ربط مباشر بالمحرر مملوء مسبقًا) (اقرأ المزيد).
طلب واسع النطاق بحث عن خبير هجرة phpBB → Discourse لـ ~870 ألف منشور مع RTL العبري ومتطلبات SEO/إعادة التوجيه الصارمة، مع التأكيد على الحد الأدنى من وقت التوقف وخريطة عناوين URL (اقرأ المزيد).
david ركز بشدة على تجربة الإصدارات وإشارات الترقية: تناول مخاوف حول إعلانات الموقع المفقودة والارتباك في لوحة التحكم في موضوع إصلاح الأمان (اقرأ المزيد)، نقل ونظم ملاحظات موقع الإصدارات مع شحن تحسينات مثل RSS بسرعة (اقرأ المزيد)، ورد على أسئلة تثبيت إصدار الاستضافة الذاتية (وصحح أين يتم تعيين version:) (اقرأ المزيد). كما دفع إصلاحات/تحديثات رئيسية تمتد على توصيل بريد "الإصدار الجديد" (اقرأ المزيد) وكشف UA لمتصفح فيسبوك الداخلي على آيفون (اقرأ المزيد)، بالإضافة إلى توثيق إزالة وسوم السكريبت الداخلية القديمة (اقرأ المزيد).
Falco مزج ملاحظات المنتج، التكاملات، والذكاء الاصطناعي: قدم سياقًا لسبب هبوط العديد من إصلاحات الأمان معًا (اقرأ المزيد)، حدّث تجربة التعليقات المضمنة في مدونة Discourse وسلط الضوء على مشكلات التذييل/التباعد في السمة للتكرار عليها (اقرأ المزيد)، وتقدم في هجرة Patreon plugin API v2—إضافة وكيل مستخدم مخصص كما طُلب (اقرأ المزيد). كما أوضح توقعات سلوك Chat/GIF (ميزة مقابل خطأ) (اقرأ المزيد)، وجّه طلبات ميزات التقويم إلى عمل عناوين URL الاشتراك الجديدة (اقرأ المزيد)، واقترح تحسين تحكمات الترجمة بالذكاء الاصطناعي حتى يتمكن المسؤولون من اختيار ما إذا كانت الرسائل الخاصة مشمولة صراحةً (اقرأ المزيد).
zogstrip كان في جولة إصلاح الأخطاء، يربط باستمرار الإصلاحات بطلبات السحب: تمت مناقشة إصلاحات طابور المراجعة/تدفق المحرر بنشاط (اقرأ المزيد)، حصل سلوك رفع الهمسات على خطة تنفيذ (اقرأ المزيد)، تم ترتيب مشاكل onebox (بما في ذلك سلوك x.com المعطل) للتصحيح (اقرأ المزيد)، وتم الاعتراف بحالات الحافة للحذف الدائم مع إصلاح قادم (اقرأ المزيد). كما حسّن خط الأنابيب لاسم الرموز التعبيرية البديل عن طريق منع الأسماء البديلة للرموز غير الموجودة (اقرأ المزيد) واستمر في تنقيح توقعات تجربة المستخدم للمشرف/التقارير حول مفاتيح "التغييرات القادمة" (اقرأ المزيد).
awesomerobot ركز على مشكلات واجهة المستخدم/تجربة المستخدم والتحسينات العملية: تم إصلاح انتكاسة وسم تصويت المواضيع بسرعة في الموقع (اقرأ المزيد)، تم تتبع مشكلة محاذاة 2FA لتسجيل الدخول بالبريد إلى تدفق محدد وترتيبها للتصحيح (اقرأ المزيد)، وتمت إضافة الوضوح حول نتائج البحث الدلالي/الذكاء الاصطناعي مقابل المطابقات الدقيقة (اقرأ المزيد). من جانب API، فتح طلب سحب للسماح لمستخدمي API الدقيقين بقراءة about.json (اقرأ المزيد) وطلب استنساخ أفضل للأخطاء في تقرير HEIC/فقدان المسودة (اقرأ المزيد).
supermathie ساعد في فك الحصار عن مشكلات الهوية/المصادقة المستضافة ذاتيًا: شرح سبب إصرار Discourse ID على عناوين URI لإعادة التوجيه HTTPS (وما يفعله force_https فعليًا) (اقرأ المزيد)، وتابع مناقشات نطاقات API/رسائل الأخطاء حول وصول about.json بالمفاتيح الدقيقة (اقرأ المزيد).
sam تدخل في مشكلات الاستضافة "صعبة الاستنساخ" وتجربة المستخدم الأوسع: شارك في موضوع تعطل git-clone السمة الصعب (مشيرًا إلى انقطاعات GitHub/تقييد المعدل كمرشحة محتملة) (اقرأ المزيد)، دفع لإعادة التفكير الشامل في كيفية شعور "موافقة المشاركة" للمستخدمين النهائيين (شفافية الطابور، الإشعارات، سلوك المحرر) (اقرأ المزيد)، وحدّث الوثائق الأساسية بتنظيف المواد العفا عليها الزمن (مثل دليل "البحث بفعالية") (اقرأ المزيد). كما حدّث وثائق منبثقة المحرر الموجهة للمسؤولين (اقرأ المزيد) ونبّه انتباه الهندسة نحو رابط تكامل Extras الذي يعود بـ 404 (اقرأ المزيد).
pmusaraj حقق في مشكلات التداخل مع ActivityPub: تم تحديد تغيير المعلمة من Mastodon (scope → scopes) واقتراح إصلاح في الأعلى/في الإضافة (اقرأ المزيد)، وتم تضييق مشكلات التحقق من AP Discourse↔Discourse اللاحقة إلى سلوك ممثل الموقع مقابل ممثلين آخرين (اقرأ المزيد). كما أكد تحسينات Discourse ID لتعارضات عنوان URI لإعادة التوجيه في المستقبل (اقرأ المزيد) وتابع سلوك البريد البديل على مواقع الطبقة المجانية (اقرأ المزيد).
manuel قدم إرشادات مباشرة للمستخدم النهائي حول إعدادات الإشعارات (المراقبة/التتبع) عندما أفاد شخص ما بأن "الموقع لن يخطرني بعد الآن" (اقرأ المزيد).
HAWK اعترف برفع خطأ تخصيص خطة الاستضافة المجانية إلى الفريق، مع الحفاظ على حلقة الدعم متحركة بسرعة (اقرأ المزيد).
pedro تدخل في نفس مشكلة التخصيص المستضافة لجمع تفاصيل تشخيصية (قيمة عنوان URL الدقيقة المدخلة) ومساعدة تأكيد الحل البديل (اقرأ المزيد).
تركزت جزء كبير من طاقة الأسبوع حول إمكانيات التفاعل الجديدة (تجربة الزيادات الجديدة: اقرأ المزيد)، وتضمين Discourse كنظام تعليقات كامل (اقرأ المزيد)، والاستمرار في تحسينات سير عمل الذكاء الاصطناعي/التوطين (على سبيل المثال: ملاحظات جودة ترجمة الوسوم في اقرأ المزيد، بالإضافة إلى إصلاحات لاحقة مثل دعم أيقونات الوسوم المترجمة في اقرأ المزيد).
المواضيع المثيرة للاهتمام
#announcements
تجري منصة Discourse تجربة الزيادات (رد مع رسالة قصيرة)، ونوقش في المجتمع التداخل في تجربة المستخدم بين الزيادات والإعجابات، وآثارها على الإشراف، والتسمية (حتى أن "تسمية الأشياء" حصلت على ظهور قصير). اقرأ المزيد
حصل التضمين على ترقية كبرى: الآن يقوم "وضع التطبيق الكامل" بتحميل تطبيق Discourse الكامل داخل الإطار المضمن (iframe) بحيث يمكن للزوار الرد/الإعجاب/الاقتباس دون مغادرة الموقع المضيف، مع مناقشة حول إمكانية اكتشاف شريط التمرير ومكان زر "الرد على الموضوع". اقرأ المزيد
يمكن الآن لوكلاء الذكاء الاصطناعي في Discourse الاتصال بـ أي خادم MCP ("أحضر خادم MCP الخاص بك")، مما يوسع سطح الأتمتة لوكلاء الذكاء الاصطناعي عبر أدوات خارجية. اقرأ المزيد
تحسين دعم صغير ولكنه مهم: المستخدمون الذين يقومون بتتبع/مراقبة المواضيع في فئات تم الحل يتلقون الآن إشعارًا عند تحديد موضوع على أنه تم حله، بالإضافة إلى ملاحظات مبكرة حول حالات الحافة في تفضيلات الإشعارات. اقرأ المزيد
وصل منشور الإصدار الشهري لمarch 2026 مع روابط لسجلات التغيير والإصدارات التصحيحية، وأثار على الأقل تقريرًا سلسًا عن "التبديل إلى مسار الإصدار". اقرأ المزيد
وضح الفريق كيف ستقوم منصة Meta بتنظيم الندوات عبر الإنترنت مقابل ساعات العمل المجتمعية، بما في ذلك مكان وجود التسجيلات والجلسات القادمة في المستقبل. اقرأ المزيد
تسبب تراجع في النسخة المحمولة في أن تظهر بعض صفحات Meta فقط الرأس/العنوان على متصفحات iOS؛ حيث عزا التحقيق ذلك إلى تغيير حديث في مكون سمة (theme) تلاه تراجع عن التغيير. اقرأ المزيد
لافتات الوسوم فقدت مؤقتًا عرض الوسوم (لافتات تبدو فارغة)، وتم تشخيصها بسرعة على أنها تغيير في توفر البيانات، ثم تم إصلاحها في مكون السمة. اقرأ المزيد
حالة حافة للوسوم الرقمية: نمط عنوان URL قديم /tag/#### أنتج خطأ 500 (سيء لمحركات الزحف)؛ أكد الفريق أنهم يراقبون إصلاحًا مع الحفاظ على توافقية /tag/name. اقرأ المزيد
تسبب إضافة خبراء الفئات في انهيار دمج المستخدمين بسبب قيود التحقق؛ تم وضع إصلاح في قائمة الانتظار عبر طلب سحب (PR) للإضافة. اقرأ المزيد
أظهر تراجع في الترجمة تسرب "التفكير/التعليق" الخاص بالذكاء الاصطناعي إلى المخرجات الألمانية؛ تم تحديث الوكيل وتم تنظيف العناوين/المنشورات المتأثرة. اقرأ المزيد
تعطلت النسخ الاحتياطية إلى Cloudflare R2 عند الرفع متعدد الأجزاء مع إصدار أحدث من aws-sdk-s3؛ أدى تثبيت الإصدارات إلى استعادة الوظيفة للإصدارات المتأثرة. اقرأ المزيد
كانت هناك منطق غير صحيح للمواضيع المؤرشفة + التفاعلات: يمكن الرد على بعض المنشورات تحت ظروف معينة؛ تم إعداد إصلاح أساسي. اقرأ المزيد
#feature
اكتسب مكون أيقونة الوسم دعمًا لـ الوسوم المترجمة (مع الإشارة إلى طلب سحب (PR) وصور توضح تسميات الوسوم المترجمة + الأيقونات الصحيحة). اقرأ المزيد
واجه تكامل تضمينات Mistral عدم تطابق متوافق مع OpenAI (dimensions مقابل output_dimension)، مما دفع إلى طلب دعم تسمية المعلمات الخاصة بـ Mistral. اقرأ المزيد
طلب عملي للوسائط: كشف أو رفض تحميلات VP9 في MP4 التي تفشل بصمت على iOS Safari، مع مناقشة حول أساليب التحويل الآمنة والاختيارية. اقرأ المزيد
طلب المشرفون السماح بـ البريد الإلكتروني الوارد للمجموعات التلقائية (لتجنب حلول العمل البديلة مثل "مجموعة مكررة + مزامنة الأعضاء")، مع ملاحظات حول حلول العمل الحالية المتاحة فقط عبر وحدة التحكم. اقرأ المزيد
يبقى زر "إسقاط" أثناء سير عمل التحرير في المحرر محيرًا: شملت المقترحات تغيير نص واجهة المستخدم إلى "إلغاء التحرير" والتنبيه فقط عند وجود تغييرات فعلية. اقرأ المزيد
يمكن أن يؤدي فرض المصادقة الثنائية (MFA) إلى "حبس المستخدمين" في شاشة الأمان مع إرشادات محدودة؛ استكشف الموضوع أنماط تخصيص أفضل (نص الموقع مقابل إدراج مكون السمة فوق منفذ الغلاف). اقرأ المزيد
أظهر تقرير تراجع أن أذونات أمان الفئات يتم إعادة تعيينها عند تغيير علاقات الأب/الفرعية تحت "إنشاء الفئات المبسط"، مع تأكيد الموظفين على إجراء تحقيق. اقرأ المزيد
مشكلة مستمرة في سير العمل: لا يمكن للمستخدمين إلغاء متابعة الحسابات المعلقة/المحظورة دون إلغاء التعليق مؤقتًا؛ تم ربط طلب سحب (PR) للإصلاح. اقرأ المزيد
أثار سؤال "ما مدى بساطة منتداك؟" جردًا ملموسًا لما يختار المشرفون عدم تفعيله (فئات، إضافات، دردشة، تفاعلات، نماذج لغوية كبيرة)، وانحرف بشكل طبيعي إلى مقايضات حول الوسوم ومستويات الثقة. اقرأ المزيد
lindsey أطلقت إعلانين موجهاً للمستخدمين: تجربة الزيادات الجديدة (اقرأ المزيد) وتحسينات إشعارات "تم الحل" للمشتركين/المتابعين في فئات الدعم (اقرأ المزيد). كما راجعت بند حالة "المشاريع الحالية" المتعلق بمكونات تنسيق Crowdin (اقرأ المزيد).
Falco قاد عدة خيوط للمنتج والمنصة: أعلن عن وضع التطبيق الكامل للتضمينات الجديد وتبع ذلك تفاصيل حول تبسيط واجهة المستخدم والسلوك (اقرأ المزيد)؛ عزز سلوك إشعارات الدفع لشاشة الرئيسية على iOS (وأشار إلى السبب الجذري للهشاشة) في خيط إشعارات الدفع (اقرأ المزيد)؛ وأكد أن منصة Meta يمكنها إضافة الأوكرانية/الروسية قريبًا في محول اللغة (اقرأ المزيد)؛ وناقش استراتيجيات التخفيف من تحميلات VP9 مع الإشارة إلى Video Stream كخيار (اقرأ المزيد). كما واصل تحسينات سير عمل MCP والذكاء الاصطناعي (على سبيل المثال، وزن نهج "تفعيل سير العمل" للروبوتات التي تذكر فقط في اقرأ المزيد، وتسليط الضوء على دعم تعديل منشورات MCP في اقرأ المزيد).
nat ركزت بشدة على جودة الترجمة المحلية والذكاء الاصطناعي: نشرت القصة الطويلة حول تعدد اللغات "البناء لكل لغة" (اقرأ المزيد)، وردت بسرعة على ملاحظات "الوسوم المترجمة بالذكاء الاصطناعي تفتقر إلى السياق" وناقشت تحسينات الأدوات/الأوامر (اقرأ المزيد)، وأكدت أن إصلاحًا قادمًا لحالة حافة خطأ 500 لعنوان URL للوسم الرقمي (اقرأ المزيد). كما قدمت/وضعت في قائمة الانتظار تحسينات عبر مجال التوطين، بما في ذلك دعم أيقونات الوسوم المترجمة عبر طلب سحب (PR) (اقرأ المزيد) وإصلاح مستهدف لتسرب "التعليق/التفكير" الخاص بالذكاء الاصطناعي إلى الترجمات الألمانية (اقرأ المزيد). من ناحية الإعداد، رسمت مستقبلًا أكثر تفصيلاً لنطاق ترجمة الذكاء الاصطناعي (بما في ذلك تحكمات ترجمة الرسائل الخاصة) مع خطة هجرة ورابط طلب سحب مذكور في الموضوع (اقرأ المزيد).
awesomerobot كان نشطًا عبر تجربة المستخدم للمنتج والصيانة: أوضح كيف تندرج الزيادات في تسلسل هرمي للتفاعل وأكد أن الميزة ستكون اختيارية، مع مناقشة أيضًا ميزات الأمان مثل الكلمات الخاضعة للمراقبة وإمكانيات مسح الذكاء الاصطناعي في المستقبل (اقرأ المزيد)؛ شخّص وأصلح تراجعًا في لافتات الوسوم مع سرعة في استجابة طلب السحب (اقرأ المزيد)؛ وقدم نهجًا لمكون السمة لإضافة إرشادات فرض المصادقة الثنائية المخصصة عبر إدراج منفذ (اقرأ المزيد). كما فتح/دمج تحسينات سير العمل مثل جعل تدفقات الرفض تنشئ مسودة للتحرير بعد رفض قائمة المراجعة (اقرأ المزيد)، وعدل النص النظامي المحير حول "الرد على هذه الرسالة" عند عدم تكوين مستخدم/مجموعة اتصال (اقرأ المزيد)، واعترف بشذوذات واجهة المستخدم في Ask Discourse مثل رابط "العودة إلى المنتدى" المكرر في الصفحة الرئيسية (اقرأ المزيد).
zogstrip أطلق مجموعة واسعة من الإصلاحات وطلبات السحب عبر الإضافات/المكونات الأساسية والرسمية: عالج أسئلة الزيادات ووضح أن الزيادات لن تعيد ترتيب المنشورات (اقرأ المزيد)؛ أصلح منطق "الإعجابات/التفاعلات في المواضيع المؤرشفة" (اقرأ المزيد)؛ ربط طلب سحب إصلاح لـ إلغاء متابعة المستخدمين المعلقين/المحظورين في إضافة المتابعة (اقرأ المزيد)؛ وتعامل مع عدة مشاكل صغيرة في العمليات مثل سلوك "إشعار المستخدمين" للدعوة الجماعية للمجموعات (اقرأ المزيد) ومشكلة RTL في سلوك أيقونة الرابط الخارجي (اقرأ المزيد). كما أوضح إعدادًا متعلقًا بالتسجيل تم سوء فهمه وقام بتحديث وصفه لتقليل ارتباك المشرفين (اقرأ المزيد)، ووضع في قائمة الانتظار إصلاحًا لمشاكل مخطط acceptedAnswer المكتشفة عبر Google Search Console (اقرأ المزيد).
david قدم دعمًا تقنيًا عميقًا واتصالًا بالإصدارات: شرح سبب ظهور مشاكل CORS بعد الترقيات الأخيرة (نصوص الوحدات + الرؤوس) وأرشد المشرفين عبر متطلبات إعادة بناء NGINX/CDN، بما في ذلك الإشارة إلى مسار الإصلاح الدقيق وسلوك إعادة البناء (اقرأ المزيد)؛ نشر إعلان إصدار مارس 2026 مع روابط سجل التغيير (اقرأ المزيد)؛ وشخّص سيناريو تصادم الهجرة بمساعدة الذكاء الاصطناعي في discourse-ai، بما في ذلك تفاصيل ترتيب الهجرة الأساسي وخيارات التخفيف (اقرأ المزيد). كما دمج وأصدر طلب سحب اعتماد (دعم Sidekiq 8 لـ mini_scheduler) بسرعة بعد تقديمه (اقرأ المزيد).
sam واصل دفع Discourse AI + MCP إلى الأمام: أعلن عن "أحضر خادم MCP الخاص بك" لوكلاء الذكاء الاصطناعي في Discourse (اقرأ المزيد) ونشر دليل المشرف لربط خوادم MCP بالوكلاء (اقرأ المزيد). كما وزن المقايضات حول منطق استجابة الروبوت الذي يذكر فقط (مائل نحو الافتراضات لتقليل انتشار الخيارات) (اقرأ المزيد)، وتفاعل في خيط تصادم الهجرة بأفكار مثل التدقيق/المهارات لفرض هجرات ذات طابع زمني صحيحة عند استخدام أدوات الذكاء الاصطناعي (اقرأ المزيد).
mcwumbly شارك في عدة نقاط اتصال حول "كيف ندير Meta" و"كيف نطلق التغييرات": أشاد بالقصة الطويلة حول تعدد اللغات وأضاف سياقًا لها (اقرأ المزيد)، وناقش نهج "مساحات العمل" النموذجي الذي يربط الفئات بمساحات الفريق (شبيه بـ Slack) (اقرأ المزيد)، وشارك كيف ضبطت Meta حدود TL3 باستخدام مستكشف البيانات، بما في ذلك الإشارة إلى منشور الاستعلام المرجعي الدقيق (اقرأ المزيد). كما اعترف ووضع في قائمة الانتظار تحقيقًا لتراجع إعادة تعيين أذونات الفئات تحت إنشاء الفئات المبسط (اقرأ المزيد)، وواصل العناية بآليات وسلوكيات الشريط الجانبي/الوسوم لخيط تجربة "مركز البستنة المحتوى" (اقرأ المزيد).
davidb حدد السبب الجذري المحتمل لمشكلة صفحة الموضوع "المتضررة" على الجوال على أنها التزامن محدد في مكون discourse-tag-icons، وقام بتراجع مؤقت أثناء التحقيق (اقرأ المزيد).
Bookmarks got a major discoverability improvement with “jump to bookmarked posts” from the topic footer action menu: read more
The Meta Branded theme rebuild shipped (new implementation + early look at the Blocks API), sparking a lot of UI/icon feedback: read more
A wave of quick UX and bugfix PRs landed (RSS exclude tags, calendar/iCal formatting, composer strings, localization edge cases), often with “fixed by PR” replies directly in-topic, e.g. RSS exclude_tag: read more
Interesting Topics
#Announcements
Boosts on Meta (#Announcements) — The ongoing “Boosts” experiment triggered a deep discussion about signal vs. noise, moderation implications, and UI density (especially on mobile), with proposals like folding/expanding boosts and concerns about “negative boosts”: read more
Easier access to bookmarks (bookmarks, #Announcements) — Discourse added quick access to all bookmarked posts in a topic via the bottom-of-topic bookmark control, making “where did I bookmark that?” much easier to solve: read more
Mobile composer in 2026 (composer, mobile, ux) — Canapin kicked off a “mobile-first reality check” on the composer’s growing complexity; replies centered on what to remove, what must remain, and iOS-specific reliability issues: read more
How to close the tag selector on mobile (composer, mobile, tags, ux) — A small-but-daily papercut: the tag chooser doesn’t have an obvious “close” affordance on mobile, forcing users to learn a non-intuitive tap target: read more
Bookmarks UI edge cases on mobile (bookmarks, #contribute:feature) — A nuanced UI/mental-model thread: how should the footer bookmark icon communicate “topic bookmarked” vs “post(s) bookmarked”, and how do you keep actions consistent without hiding “jump to bookmarks” discoverability? read more
Community-building discussions on Meta (#Site feedback) — mcwumbly asked how Meta should better encourage community building / management discussions after category reshuffles (and what behavior/structure changes would help): read more
Feature/bugfix announcement topics and version clarity (#Site feedback) — A practical meta-process request: include versions in announcement topics so admins who can’t realistically run tests-passed daily can still plan upgrades: read more
#Site feedback
Rebuilding the Meta Branded theme + Blocks API (meta-theme-feedback, meta-redesign-2026, #Site feedback) — The new Meta theme rebuild showcased Lucide icons, tighter theme/palette controls, a custom homepage direction, and an explanation of how Blocks differ from PluginOutlets for more stable layouts: read more
Inaccurate plugin availability notes (#Site feedback) — Several official plugin topics still claim “available on all hosting tiers” despite new plan tiers; the thread explored linking directly to pricing tables and reducing “two sources of truth” drift: read more
#customization:theme component
Discourse Lucide Icons (#customization:theme component) — A dedicated theme component topic for Lucide landed, quickly collecting icon mapping feedback (e.g., reply/share confusion, filled heart behavior, missing icons like calendar-heart): read more
Topic Hover Cards (#customization:theme component) — A new component proposes tooltip-style previews when hovering/tapping internal topic links; early feedback asked for clearer screenshots/preview before adoption: read more
Highlight to Search (search, #customization:theme component) — A small productivity boost: highlight any text and immediately search for it, packaged as a new theme component with a live preview: read more
Customizable Print to PDF Button (#customization:theme component) — A new “clean print” topic button component aimed at improving topic export/printing compared to the stock print flow: read more
Unhide composer fullscreen toggle for tablets (composer, tablet, #customization:theme component) — A focused component to restore the fullscreen composer toggle on touch devices with larger screens where it’s hidden by default: read more
OIDC login error on the OpenAI hosted forum (openid-connect, hosted-support, Support) — Users reported OIDC authorization failures; escalation + confirmation of resolution followed shortly after: read more
Private Topics / Ticket System permission scare (resolved) (Support) — A “this might be a security incident” moment turned out to be a configuration misunderstanding in the Private Topics plugin; the fix was to remove a group from “always show topics started by…” so TL0 users wouldn’t see everything: read more
Windows support expectations (Support) — A clear statement emerged: Discourse doesn’t support Windows versions Microsoft doesn’t support, though browser forks may work in practice for legacy systems: read more
New site signup stuck on “Almost there…” (resolved) (free-plan, Support) — New customer onboarding briefly failed; staff confirmed an incident and then a fix: read more
Structured data issue: missing fields in mainEntity.suggestedAnswer (bug) — A schema/microdata regression was investigated and partially fixed; follow-up indicated remaining validator complaints around missing text/datePublished fields: read more
Data Explorer won’t save queries containing semicolons in quoted HTML entities (data-explorer, bug) — A validation rule blocked harmless semicolons inside quoted strings; the request was to only reject actual query terminators outside quotes: read more
Data Explorer output double-escapes HTML (data-explorer, bug) — A confusing display bug: Fish & Chips renders as Fish & Chips in query results, making it harder to work with plain text outputs: read more
Exclude_tag broken in category RSS feeds (rss-polling, bug) — Excluding tags from category RSS didn’t work, but a /latest.rss?category=...&exclude_tag=... workaround did; a core fix was proposed right in the thread: read more
Highlight.js bundles + S3/CDN CORS fallout after upgrade (fixed) (cdn, #Self-hosting) — A subtle “assets loaded from the wrong CDN” bug caused highlight-js failures on codeblocks; a PR corrected highlightjs bundle URL behavior for that S3-only configuration: read more
Falco anchored several “what’s realistically supported?” conversations, including legacy OS access expectations (Windows support guidance), and helped land calendar subscription improvements by implementing a better calendar name field for Google/Outlook via X-WR-CALNAME (webcal name fix PR link in-topic). He also engaged in AI/provider nuance in support threads about model selection and constraints (Mistral translation/images discussion).
zogstrip handled multiple fast-turnaround fixes and polish items: making preview “reading time” localizable instead of hardcoded (“mins” localization fix), fixing ampersand escaping in calendar event sync (& in event titles), addressing RSS exclude_tag behavior (exclude_tag RSS fix), and tackling composer/UX text issues (“discard post” wording) (discard prompt fix).
mcwumbly steered “Meta about Meta” conversations: asking how to encourage community-building discussions after category changes (community-building structure discussion), responding thoughtfully to concerns about developer time and autonomy in the Boosts experiment debate (Boosts philosophy response), and collaborating on reducing confusion around plugin availability callouts (plugin availability notes).
david clarified Discourse’s rationale around deprecations and platform consistency (especially the .js.es6 extension confusion and tooling impact) (deprecation rationale), and diagnosed a self-hosting CDN/CORS issue affecting highlightjs bundles with a concrete fix proposal (highlightjs bundle URL fix).
davidb investigated and merged structured data fixes for missing microdata fields, while identifying edge cases like emoji-only and image-only posts confusing validators (schema/microdata update).
supermathie helped untangle a “private topics” ticketing configuration scare by pushing for clearer problem statements and future-reader usefulness (requesting explanation for posterity), and contributed practical confirmation about calendar name fields across clients (Outlook expectations) (X-WR-CALNAME confirmation).
Thanks for reading, and I’ll see you again next week!
أعدت Discourse تأكيد موقفها من البرمجيات مفتوحة المصدر (ولماذا لا يصمد مفهوم "الأمان عبر الغموض")، في "Discourse لن تصبح مغلقة المصدر" — استجابة في الوقت المناسب للقلق الصناعي حول اكتشاف الثغرات المدعوم بالذكاء الاصطناعي. اقرأ المزيد
#Announcements
شهدت عملية إنشاء الفئات دفعة كبيرة في تجربة المستخدم: يمكن الآن إنشاء "فئات الأفكار" بسهولة أكبر باستخدام تصويت موضوعات Discourse، بما في ذلك تدفق إعداد أكثر وضوحاً وخيارات افتراضية. اقرأ المزيد
يواصل دمج Discourse كنظام تعليقات كامل النضج؛ لاقى موضوع الإعلان مزيداً من الملاحظات الواقعية والمتابعات، بما في ذلك تحسينات مثل ميزة الرد العائمة/خط الزمن. اقرأ المزيد
حصل طرح "تطبيق الشبكات تلقائياً على تحميلات الصور" على توضيح: "مستقر" في التغييرات القادمة لا يعني دائماً أن الإعداد سيختفي؛ أحياناً يكون مجرد تحول في القيم الافتراضية. اقرأ المزيد
#contribute:feature
ظهر جدل قديم في تجربة المستخدم مرة أخرى: تحذير "الرد على موضوع قديم" قد تم إزالته، ويرغب المسؤولون في بديل قابل للتكوين يوجه المستخدم بدلاً من كونه عائقاً مثبطاً. اقرأ المزيد
إرغونوميات قائمة المراجعة: طلب المشرفون تجميع العناصر القابلة للمراجعة حسب المستخدم (أو سياق أقوى) لتجنب إجراءات "حذف المستخدم" العرضية عندما تكون الأعلام والمشاركات منفصلة في القائمة. اقرأ المزيد
وصلت طلبات الميزات للدردشة في خيطين متقاربين: الاستطلاعات داخل قنوات الدردشة وإعدادات القناة الافتراضية (مثل الخيوط المعدة مسبقاً، الأذونات، إلخ). اقرأ المزيد و اقرأ المزيد
حالة حافة مؤلمة في الترقية: لم تستطع الإضافات حفظ إعدادات الفئات عندما كان enable_simplified_category_creation مفعلاً؛ تم توجيه المطورين إلى أنماط ترحيل FormKit ونُصحهم بتعطيل الخيار مؤقتاً عبر التغييرات القادمة. اقرأ المزيد
مشكلة قياس ترجمة الذكاء الاصطناعي: تم تخطي البرتغالية (pt) عند الترجمة إلى عدة لغات في آن واحد، مما أدى إلى التحقيق في فشل الخلفية، والتسجيل المفصل، وسلوك إعادة المحاولة. اقرأ المزيد
كانت أدوات النص المنسدلة للمشاركات الإدارية معطلة/تفتقر إلى تلميحات التحويم؛ تم فتح طلب دمج رئيسي (PR) لإصلاح أخطاء النسخ/اللصق وإضافة العناوين حيثما كان ذلك مفيداً. اقرأ المزيد
عدم اتساق تجربة المستخدم للوسوم: كان المحرر يدعي أحياناً أن وسمًا مسموحًا به وأحيانًا لا، اعتمادًا على إدخال الإكمال التلقائي؛ تطلب الإصلاح منطق إنفاذ "أكثر ذكاءً" حول الحدود. اقرأ المزيد
انحدار التقويم/الحدث + التلخيص: تم تتبع رابط الدردشة المفقود في ويدجت حدث المشاركة إلى تغييرات في نظام البناء وتم إصلاحه بسرعة عبر طلب دمج. اقرأ المزيد
لم يتمكن المستخدمون من رؤية علامات تبويب تفاصيل الدعوات بسبب خطأ في المسار (controllerFor مقابل modelFor); تم شحن إصلاح عبر طلب دمج رئيسي. اقرأ المزيد
أطلق إكمال الوسوم المتصلة أخطاء وحدة التحكم في الوضع الآمن، مع ربط أحد المسارات بمساعدات إنشاء الأيقونات المفقودة؛ تم تطبيق إصلاحات بينما استمر التكرار الأعمق للوضع الثاني من الأخطاء. اقرأ المزيد
تحسين محرر RTL: بقي حقل "عنوان الموضوع الجديد" من اليسار إلى اليمين (LTR) عندما يكون فارغًا؛ تم اقتراح إصلاح قائم على العلامة ودمجه لتبديل سلوك الاتجاه بناءً على ما إذا كان الحقل يحتوي على محتوى. اقرأ المزيد
تحسين نافذة المشاركة على الهاتف المحمول: كان وضع زر نسخ محرجًا على الشاشات الصغيرة؛ أعد طلب دمج المحتوى مع الحفاظ على رؤية تاريخ المشاركة. اقرأ المزيد
تغير شفافية قائمة المراجعة: تم إزالة تفاصيل تصنيف الأعمدة عمدًا بسبب الالتباس، مما دفع النقاش حول ما يجب أن يبقى مرئيًا ولماذا. اقرأ المزيد
استمر نقاش كبير حول قيود التأليف على الهاتف المحمول (اكتشاف شريط الأدوات، ارتفاع المحرر المزدحم، والتوتر بين توقعات الويب مقابل التطبيق). اقرأ المزيد
التباس في رسائل الخطة المجانية: أفاد المستخدمون بـإشعارات إغلاق/قراءة فقط مضللة، مما دفع فريق العمل للتحقيق في وضوح الجدول الزمني وسلوك الأتمتة. اقرأ المزيد
حكاية تحذيرية عن Redis: مسح Redis "أصلح" واجهة مستخدم عالقة "جارٍ التحديث…"، لكن المستجدين أكدوا على دور Redis في الجلسات/وظائف Sidekiq وشجعوا على تشخيص أكثر استهدافًا. اقرأ المزيد
الصور عن بُعد: بدأت موقع مستضاف تنزيل واستبدال عناوين URL للصور عن بُعد بشكل غير متوقع؛ أشار التصحيح إلى تحميلات تم تنزيلها بالفعل (متطابقة عبر التجزئة) وتوقيت التنظيف. اقرأ المزيد
تخصيص نص المسؤول: تم حل تغيير نص "مرحبًا بعودتك" على /login عن طريق العثور على js.login.header_title (وتذكير بالضغط على مفتاح الإدخال في واجهة البحث). اقرأ المزيد
#customization:theme component
تحسين واجهة المستخدم خفيف الوزن: Discourse Dynamic Sidebar Icon يبدل أيقونة الشريط الجانبي بناءً على حالة الفتح/الإغلاق، مع سلوك اختياري للهاتف المحمول. اقرأ المزيد
Wikipedia Lookup تم إطلاقه كمكون سمة، مضافًا تلميحات وأيقونات قابلة للتكوين (يدعم ويكيبيديات بلغات محددة ومجالات ويكي أخرى). اقرأ المزيد
#customization:plugin
إضافة تجريبية جديدة: Buffer — تبسيط مشاركة الموضوعات على وسائل التواصل الاجتماعي، إضافة "مشاركة على Buffer" من نافذة المشاركة/مفتاح إدارة الموضوع لعمليات عمل الموظفين. اقرأ المزيد
حالة حافة دمج WP Discourse: كتيبات WordPress "معرض فقط" كسرت استخراج المعاينة بسبب Readability (خوارزمية Mozilla Reader View)؛ رسم الخيط التخفيفيات العملية وإعدادات تحديد الدمج ذات الصلة. اقرأ المزيد
sam رسّخ أكبر نقاش ميتا هذا الأسبوع ببيان واضح حول سبب عدم تحول Discourse إلى مغلقة المصدر، ولماذا لا يزال الانفتاح يتماشى مع قيم Discourse. اقرأ المزيد كما ساعد في استكشاف أخطاء "عدم ظهور التحديثات في الوقت الفعلي" عن طريق التحقق مما إذا كانت المثيلات خلف وكيل. اقرأ المزيد
Falco قاد نقاشًا عالي الإشارة حول أداء الدمج في العالم الحقيقي مع Tecnoblog، غطى رؤوس التخزين المؤقت، وسلوك تحليلات الدمج، وإصلاحات تكرارية متعددة (الارتفاع الديناميكي، التحميل الكسول، وتقليم استعلامات الدمج المحددة). اقرأ المزيد كما أكد سلوك إعداد اللغة للمشاركات متعددة اللغات في ترجمة الذكاء الاصطناعي. اقرأ المزيد وتابع التحسينات في التعليقات المدمجة (ميزات الرد العائمة/خط الزمن). اقرأ المزيد
awesomerobot نفذ (أو بدأ) إصلاحات جودة UX متعددة: تصحيح تلميحات التحويم لقائمة مشاركة الإدارة عبر طلب دمج. اقرأ المزيد كما شرح السبب الجذري لـ "عدم قدرة الإضافات على حفظ إعدادات الفئات" تحت مسار إنشاء الفئات المبسط/FormKit، بما في ذلك مرجع الترحيل وتخفيف مؤقت عبر التغييرات القادمة. اقرأ المزيد بالإضافة إلى ذلك، أصلح خطأً في رؤية تفاصيل دعوة المستخدم. اقرأ المزيد
pmusaraj قدم تشخيصات عميقة لعدة مشاكل: مساعدة في تصحيح أخطاء "تخطي الذكاء الاصطناعي للبرتغالية" بالانتقال من أسئلة التكوين → فرضيات المعدل/مهلة → تسجيل مفصل وأخطاء الخلفية. اقرأ المزيد كما أطلق إضافة مشاركة Buffer التجريبية لعمليات عمل وسائل التواصل الاجتماعي للموظفين. اقرأ المزيد وحدد خطأً محيرًا "الموضوع غير موجود" عند تبديل اللغات كـ معلمة URL قديمة ?preview_theme_id=. اقرأ المزيد
chapoi ساهم في كل من اتجاه المنتج وفرز الدعم: تفاعل علنيًا مع نقاش موقف مفتوح المصدر وعزز الفخر الداخلي في القرار. اقرأ المزيد كما وجه نقاشات تجربة المستخدم لقائمة المراجعة نحو مساحة واجهة مستخدم قابلة للتنفيذ (توسيع منطقة الرؤى). اقرأ المزيد وجلب الموظفين للتحقيق في تقرير "لا يمكن تعطيل وضع القراءة فقط" للخطة المجانية. اقرأ المزيد
nat بقي نشطًا عبر دعم الذكاء الاصطناعي والإضافات: نصح بشأن تصحيح أخطاء ترجمة الذكاء الاصطناعي (السجلات المفصلة، حدود حجم المشاركة، نوافذ سياق LLM، وملاحظات جودة النموذج). اقرأ المزيد كما تعقب وأصلح مشكلة استعادة/فهرسة فئات المستندات التي ربما تكون ناتجة عن تأثيرات التقويم الجانبية. اقرأ المزيد وأصلح حالة حافة في إضافة Livestream حيث لم تكن مجموعة "الجميع" تتصرف كمجموعة حقيقية لفحوصات الأذونات. اقرأ المزيد
manuel سلط الضوء على تحسينات أدوات النظام البيئي (لا سيما واجهة الإصدارات المحسنة) في خيط مفتوح المصدر. اقرأ المزيد كما أعاد إحياء مشروع مولد أرشيف ثابت عملي لـ Discourse، مشاركًا مستودعًا وأرشيفًا تجريبيًا للتقييم. اقرأ المزيد
jomaxro أوضح بنية المصادقة والقيود حول المصادقة الثنائية مع تسجيل الدخول الخارجي (بما في ذلك معرف Discourse)، مصححًا تفاصيل بروتوكول أولية ومؤكداً أن الإنفاذ يقع على عاتق المزود الخارجي. اقرأ المزيد كما أوضح الموقف الحالي من فترات التجربة المجانية ومتطلبات بطاقة الائتمان، وساعد في حل الالتباس حول الإرشادات القديمة جدًا. اقرأ المزيد
zogstrip نفذ إصلاحات وشرائح عبر سلوك النواة: أقر وأصلح مشكلة تلميح حد الوسوم في المحرر. اقرأ المزيد كما أشار إلى إصلاح إكمال الوسوم المتصلة لمساعد الأيقونة المفقود. اقرأ المزيد وشرح آلية "ميزانية الاختلاف" الداخلية وراء رسالة "الاختلاف معقد جدًا للعرض"، رابطًا مباشرةً بالتنفيذ. اقرأ المزيد
martin أوضح كيف تعمل رسائل حالة التغييرات القادمة (وما يعنيه "مستقر" حقًا)، بما في ذلك الإرشادات لأنواع تأثير "القيمة الافتراضية للإعداد" المستقبلية. اقرأ المزيد كما ساعد في إغلاق الحلقة على خيط "عدم قدرة الإضافات على حفظ إعدادات الفئات" عن طريق الإشارة إلى حيث تم إعلام التحذيرات وتأكيد دمج إصلاحات الإضافات الرسمية. اقرأ المزيد
A few threads that drove a lot of discussion this week (sampling)
The Meta theme homepage got a Blocks-powered refresh, plus follow-up troubleshooting around “why don’t I see it when logged in?” (read more)
Reactions/likes UX changes kept evolving, including fixes and follow-ups for mobile/touch behavior (read more)
Nested Replies testing continued to surface real-world navigation + notification challenges (and feature debate) (read more)
Several admin-focused improvements landed in quick succession: Data Explorer charting (read more), category approval flexibility (read more), Topic Voting UX improvements (read more), and bulk pin/unpin actions (read more)
Internationalization and SEO got tangible wins: localized emoji search (read more) and a canonical/hreflang fix for ?tl= pages (read more)
Interesting Topics
#announcements
Current Projects (April 2026) landed with the latest “what we’re building now” roundup, framing recent deliverables like embedding improvements and ongoing focus areas for the platform (read more)
Data Explorer got more charting options: nat shared how the plugin now auto-selects better chart types based on result “shape”, making queries easier to interpret without exporting data elsewhere (data-explorer) (read more)
Category approvals became more flexible: new category moderation controls allow “everyone except certain groups” or “only certain groups” approval requirements, reducing mod workload while keeping guardrails (#announcements) (read more)
Topic Voting UX improvements shipped: voting access while scrolling, prompts to follow after voting, and improved “Hot” sorting made idea categories feel more responsive and intentional (topic-voting) (read more)
Bulk pin/unpin is here: admins can now pin or unpin multiple topics at once from topic list bulk actions—small change, big time saver for ongoing curation (#announcements) (read more)
Simpler email subject lines: lindsey outlined changes that remove redundant/technical formatting from email subjects to make communities feel less “developer-ish” in inboxes (email) (read more)
Emoji search now works in your language: emoji keyword matching expanded beyond English into 48 locales—a long-standing need for multilingual communities (localization) (read more)
#contribute:site-feedback
Meta’s homepage got a dashboard-style update: derek rolled out a Blocks-based homepage layout (events, hot topics, contributors), with discussion on why educational video content is surfaced and how personal homepage preferences interact with the new “Home” link (meta-redesign-2026) (read more)
Where should “show-and-tell” posts go?mcwumbly suggested a lightweight convention: post in General and tag show-and-tell—then let patterns emerge before adding structure (and the topic itself became a mini show-and-tell) (read more)
Category organization feedback continued: users highlighted friction around long inline category references (e.g. parent/subcategory paths), hashtag completion ergonomics, and discoverability tradeoffs after the Meta category refresh (meta-redesign-2026) (read more)
Restricted/private-ish tags leaking into UX: the “tag cleanup” thread resurfaced questions about whether restricted tags should be discoverable to unauthorized users at all—leading to investigation and a core fix (tags) (read more)
Possible slow rendering with disco-toc + many headings: Moin reported noticeable delays that disappeared in safe mode, raising suspicion that certain components (or ToC generation) may be too heavy on long/structured posts (disco-toc) (read more)
User deletion modal had an absurdly long button label on mobile: Canapin reported the truncation, and awesomerobot proposed a redesigned flow (choose delete type first, then confirm) with a PR already in motion (mobile) (read more)
Event date styling next to topic titles was confusing on mobile: the mobile rendering lacked the visual separation seen on desktop, prompting a quick “make it consistent (and simpler)” fix proposal (calendar-and-event) (read more)
Mobile review queue UI got a cleanup pass: misaligned header elements, spacing issues, and overly tall titles were raised—then awesomerobot followed up with a batch of improvements in core (review-queue) (read more)
SEO + localization bug: ?tl= pages canonicalized incorrectly: multilingual admins flagged that translated crawler pages couldn’t rank because the canonical pointed to the base language; nat agreed and shipped a fix via core PR (seo, content-localization) (read more)
Chat performance: Pitchfork timeouts and “silent threads”: a deep write-up suggested chat reply tracking could bloat over time and cause slow/unreliable loads; sam tested and reported a huge performance improvement via indexing/query changes (chat) (read more)
Mentions reachability check broke with uppercase usernames: thoka found case-sensitivity gaps that prevent “won’t notify” warnings in restricted categories; follow-up discussion led toward smaller, safer endpoint-level fixes (mentions) (read more)
Communiteq Power Tools plugin: RGJ consolidated lots of “small but practical” admin enhancements into one maintained plugin—reducing the need for console access and bundling quality-of-life tweaks (#customization:plugin) (read more)
Serve Discourse content as Markdown: benword released a plugin that outputs “cooked → markdown” via Accept: text/markdown or .md URLs, aimed at cheaper LLM ingestion and simpler downstream processing (markdown, ai) (read more)
Combined login/signup button component: Lilly shipped a header-space saving theme component that merges auth buttons into one dropdown/modal—especially helpful on mobile where signup can be hard to spot (login, signup) (read more)
Show hidden categories component: pfaffman shared a theme component approach to “preview” hidden categories (via a “fake category” linking to group join/request), and compared it to existing options (#customization:theme-component) (read more)
General / #customization:extras (show-and-tell energy)
Domniq: a Discourse-native Android+iOS app preview: nicolsdennis showcased an app build with push notifications, moderation actions, and a polished UI—plus discussion of theme inspiration and chat styling (show-and-tell) (read more)
“I populated my forum with bots” sparked a philosophical debate: the experiment reframed bots as a personal briefing engine rather than simulated community, and the thread explored authenticity, value, and design aesthetics (show-and-tell) (read more)
Discourse Shortlink Router proposed a new way to share “support URLs” cleanly: swap your domain for a router domain to generate clickable admin/settings links, alongside a trust/privacy discussion (#customization:extras) (read more)
lindsey shipped multiple admin-facing improvements and updates this week: the April roadmap newsletter (Current Projects), more flexible category-level approvals (read more), bulk pin/unpin actions (read more), and Topic Voting enhancements (read more). She also continued the “make Discourse feel less technical in inboxes” push with simplified email subjects (read more) and documented new safeguards for permanent deletion settings becoming admin-visible (read more).
Falco advanced multilingual UX with localized emoji search (read more) and pointed translators back to the change when older support topics resurfaced (read more). He also kept driving embed-as-comments improvements and troubleshooting in the Tecnoblog embed thread (read more), helped isolate tracking/analytics issues via PR links (read more), and advised on Ghost integration behavior and expectations (read more). On AI translation operations, he clarified how switching LLMs affects translation progress (read more) and coached on improving AI triage examples/tool-call usage (read more).
nat focused on localization correctness and SEO: she confirmed that translated ?tl= pages should be self-canonical and shipped a fix quickly (read more), plus guided follow-up rollout questions (read more). She also clarified retry/backfill behavior and expectations in an AI translation reliability debate (read more), and closed the loop on multiple content-localization bugs with deployed fixes (read more; read more; read more). Separately, she announced richer Data Explorer charting to make community analytics more accessible (read more).
awesomerobot had a particularly UX-heavy week: he proposed a cleaner deletion flow to avoid giant mobile button labels (read more), addressed mobile event date styling inconsistency (read more), and pushed fixes for mobile review-queue alignment/spacing issues (read more). He also took on tricky mobile modal/viewport behavior with an “add user to list” modal fix attempt (read more) and explained why some “empty space” on topic lists is reserved for live presence UI (read more). On Meta’s redesign goals, he added important context about broadening Meta beyond developers in the homepage refresh thread (read more).
chapoi continued polishing the reactions/likes experience: he shared progress on making “display all reactions” better than the initial fix (read more) and clarified intended “new normal” behavior (reactions on the left) (read more). When users of likes-only sites objected to the new two-heart UI, he confirmed the team was working on restoring the single-like-button layout for reactions-disabled sites (read more). He also chimed in on Meta tag UX expectations around restricted tags (read more) and reacted to the AI-bot “show-and-tell” forum experiment with thoughtful framing (read more).
derek rolled out and supported the new Blocks-based Meta homepage, explaining design intent and tradeoffs (including surfacing educational content) (read more), and then quickly resolved a break caused by a core change interacting with the theme’s custom homepage model (read more).
zogstrip was active across multiple “small but sharp” bugfixes: he investigated restricted tags leaking into tag autocomplete and landed a core fix (read more), reviewed the “double-escaping underscores in image alt text” regression and opened a PR despite it being tricky (read more; read more), and handled draft deletion API inconsistencies with a fix proposal (read more). He also responded to mention-case-sensitivity issues by opting for safer incremental endpoint fixes (read more) and investigated a backups-page breadcrumb race condition (read more).
mcwumbly helped shape Meta’s culture/structure around “sharing builds” by proposing the show-and-tell convention (read more) and then encouraging spin-off topics for deeper feedback loops (read more). He also explored product-design space in a sensitive feature request about “post approval by future self / trusted friends,” including the idea of opt-in just-in-time AI feedback (read more), and apologized/clarified a Meta mishap where a topic became inaccessible due to category privacy changes (read more). Finally, he confirmed Discourse ID username changes are now available directly in user settings after recent work (read more).
supermathie tackled several technical/support edges: he highlighted how “private email” mode makes outgoing emails confusing when the topic link is removed (read more), participated in an older-but-active discussion about automating access to Discourse via external tools and clarified intent vs automation boundaries (read more), and dug into federated 2FA/MFA signaling limitations for Discourse ID (OAuth2 vs OIDC needs) (read more). He also confirmed an MCP permission fix for about.json access was merged (read more) and answered a self-hosting filesystem question with a pragmatic GeoIP symlink suggestion (read more).
pmusaraj stayed deep in Discourse AI and “diagnose + set expectations” support work: he explained token-cost implications and retry behavior in translation failures when upstream LLMs return errors (read more), and followed up with concrete improvements to category-targeting behavior and locale overrides in AI translation tooling (read more). He also encouraged contributions on Onebox behavior for Google Photos albums by tagging it pr-welcome (read more), and praised the “cooked-to-markdown” approach in the new Markdown export plugin thread (read more).
Thanks for reading, and I’ll see you again next week!
General Discourse’s “infinite scroll” sparked a nuanced debate about UI mechanics vs. algorithmic feeds, including accessibility/legal angles and whether “bottomlessness” is inherently addictive in a forum context. read more
Generalshow-and-tellkirupa shared an update on resurrecting a quiet community with bots—now with full source code published for others to learn from. read more
#Announcements
#Announcementstopic-votingbadges New Topic Voting badges landed (Daydreamer → Visionary), plus thoughtful backfill/notification rules to avoid spamming users for ancient vote milestones. read more
#Announcementstrust-levels Defaults for TL3 requirements are being adjusted via an upcoming change, aimed at making TL3 achievable on very active sites without admins needing to hand-tune caps. read more
#Announcementsrelease-notes The April 2026 monthly release shipped, with the canonical changelog linked for the full list of improvements and fixes. read more
#Announcementscalendar-and-event Calendar subscription UX got a real-world nudge: admins reported users grabbing the “wrong” subscription URL first, prompting discussion on re-ordering options to reduce confusion. read more
bugdata-explorer A Data Explorer UI regression limited report results to a cramped, scroll-boxed view—quickly confirmed and fixed for affected sites. read more
bugfixed Plugin/theme compilation logs got noisy and confusing due to missing ember-this-fallback helper modules; the underlying breakage was identified and patched (with a backport planned). read more
bugchat A “phantom ping spam” issue caused duplicate mention notifications from a single message; a fix was merged shortly after reports. read more
bugcomposerai The new docked AI composer got early testing feedback: editing, quoting, sidebar interactions, and mobile scrolling issues were reported, triaged, and iterated on via follow-up fixes. read more
bugfixed After updating to 2026.4, some sites saw “Document tree depth limit exceeded” from crawler-related middleware paths; investigation led to targeted fixes. read more
uxinvites Invites UI oddities: users could create invites from other people’s profiles, which felt misleading because the invite still originates from the clicker—not the profile being viewed. read more
ux Relatedly, an Invite tab appearing on hidden profiles was flagged as a UI leak (even if it didn’t expose the hidden user’s data). read more
uxcategory-badge-styles Category badge text colors became unreadable for some themes due to foundation modernization CSS interactions; a component-level fix was proposed and PR’d. read more
ux Some users reported smaller mobile font sizes on certain hosted communities, with investigation pointing to the modernized Foundation theme being enabled on those instances. read more
uxtagsmobile Long tags (or many tags) can get cut off at the screen edge without clear truncation affordances, raising questions about mobile readability and layout rules. read more
Support The age requirement (13+) question turned into a practical guide on what differs between self-hosting and CDCK hosting, plus how compliance regimes (COPPA / UK OSA / EU DSA) shape obligations. read more
Supportemail A quick clarification on customizing digest/summary email subjects: admins can often do this via site texts like user_notifications.digest.subject_template. read more
Support Enabling Ruby YJIT via template led to a great debugging thread—ultimately boiling down to how environment variables were being checked (and how sudo can scrub env). read more
Supportcomposer Admins asked how to hide category descriptions in the category chooser; a small CSS snippet solved it cleanly. read more
Supportuser-directory Partner-program “directories” came up again, with pointers to the built-in user directory and ways to present it as cards via theme components. read more
#customization:theme component A “pagination-like” workaround arrived fast: Load More Button theme component intercepts auto-loading and requires manual input—useful for admins worried about “infinite scroll” semantics. read more
#customization:theme componentModern User Card work continues: restoring/modernizing the experimental usercard design surfaced deprecations and refactor needs as core evolves. read more
#customization:theme The new Verso theme dropped: lightweight, editorial-inspired styling with soft colors and both light/dark schemes. read more
developmenttheme-guidesblocks A new repo of Claude Code “skills” for Discourse theme + Blocks authoring was shared, including an example theme and patterns for layout frames/outlets. read more
development A candid “case study” write-up on learning plugin development while building a contact-form plugin—useful perspective for aspiring community builders who aren’t full-time engineers. read more
Marketplace A pre-launch community platform build request sparked candid scoping reality checks: “design-layer” tweaks, a custom member portal/profile, and auth-related flows likely exceed a tiny starter budget. read more
blogDiscourse Discover: Hobbyist Edition highlighted communities built on deep, durable expertise—exactly the kind of “slow web” Discourse tends to enable. read more
Falco was everywhere this week: clarified hosting vs self-hosting responsibility in the age requirement thread (read more), fixed a duplicate-notification “ping spam” bug (read more), and untangled YJIT enablement confusion for self-hosters (read more). They also guided composer image resizing configuration—pointing out the difference between “threshold” and “target width” settings (read more), plus continued improvements around embedding Discourse as a full comment system (read more) and crawler middleware fixes (read more).
chapoi helped anchor two high-signal UX debates: the framing of “infinite scroll” vs algorithmic “infinite feeds” (read more) and the practical reality of footers/homepages in topic-list UIs (including a clear “not on the roadmap” answer on pagination) (read more). They also triaged a category badge contrast regression and committed to investigating root cause (read more).
lindsey shipped and enabled new Topic Voting badges, then explained how backfill notifications are intentionally throttled to avoid retroactive spam (read more). They also responded to calendar/event UX threads, including pointing to the newly added “All day event” checkbox (read more) and confirming .ics event descriptions now populate correctly (read more).
manuel published a practical, AI-assisted theming accelerator: theme + Blocks authoring skills and examples, plus follow-up notes on how Blocks shifts theme customization from “inject components” to “define layout frames.” (read more). They also reiterated that Meta’s branded theme isn’t intended for public reuse, while pointing builders to Blocks-based approaches to achieve similar outcomes (read more).
david posted the April 2026 release announcement pointing admins to the canonical changelog (read more) and jumped quickly on the ember-this-fallback deprecation crash report—shipping a fix and planning a backport (read more). They also clarified that OIDC group sync is now available and referenced the updated changelog/docs (read more).
pmusaraj released the Verso theme (editorial styling, light/dark, CSS-only) (read more) and diagnosed an iOS-only horizontal scrollbar issue affecting embedded comments/admin views—linking it to an in-flight fix (read more).
awesomerobot asked for sources and helped steer the “infinite scroll” thread toward evidence-based discussion (read more), and reinforced the practical constraints of hosting providers needing to follow regulations in jurisdictions they serve (read more).
martin announced upcoming default changes for TL3 promotion requirements, confirming how upcoming-change defaults interact with admin overrides and resets (read more).
HAWK provided an important compliance perspective: even self-hosted communities may have obligations (e.g., UK OSA) depending on where users can sign up from, and admins should plan accordingly (read more).
nat acknowledged and rapidly resolved the Data Explorer “5-row” layout regression, confirming when the fix landed for the reporter’s site (read more).
Thanks for reading, and I’ll see you again next week!
Localization & translation UX kept surfacing in different corners of the product — from “what Discourse looks like in Japanese” (read more) to guidance on choosing one translation approach in the Translator plugin thread (read more) and schema / SEO edge cases tied to translated content (read more).
Embedding & comment experiences continued to get attention, including smoother embedded login flows (read more) and practical setup gotchas like cross-domain cookie behavior (read more) plus clarifications on auto-creating topics for embedded comment threads (read more).
AI operational reliability was a recurring thread: token / context sizing confusion (read more), translations getting stuck with “thinking” models (read more), and translation failures due to structured output / reasoning interactions (read more).
Admin UX & reporting: “Site traffic” visibility issues turned out to hinge on hidden settings (read more), and crawler counts differing between reports were clarified as rollout-date related (read more).
“What It’s Actually Like to Use Discourse in Another Language” sparked practical discussion about what doesn’t translate (plugin UI, theme strings), and how quickly missing theme strings can be patched once spotted (read more).
“The Digg Lesson: Why Moderation Infrastructure Matters” revisited a classic cautionary tale and prompted thoughtful reflections on the tools and systems needed for moderation at scale (read more).
#Announcements
Discourse Discover got “Hot Topics”: a new cross-community surfacing mechanism was introduced (starting in DiscourseHub iOS), raising interesting implications for discovery and ranking across the network (read more).
Embedding Discourse as a full comment system got another round of practical Q&A, including confirmation that embedded threads can auto-create their backing topics on first visit (read more).
A plugin author’s “case study” on breakages, deprecations, and documentation turned into a broader conversation about pace, stability, and how docs should be maintained (GitHub PRs vs wikis, deprecation timelines, and expectations) (read more).
bin/lint regressions for non-bundled plugins were quickly reported, reproduced, and fixed, highlighting how linting workflows differ across plugin setups (read more).
#contribute:feature
Chat as “first-class content”: a prototype “single activity view” concept proposed interleaving topics, subcategories, and chat channels by recency — raising big questions about information architecture and discoverability (read more).
Parent categories vs muted subcategories: a high-volume publishing/community hybrid use case asked for better ways to surface “hot” discussions without flooding Latest, while still enabling an aggregated view inside a parent category (read more).
Translated quotes losing context: a feature request argued that translation should preserve the helpful “quoted from topic/post” metadata and dropdown context currently present in non-translated quotes (read more).
Impersonation auto-timeout UX: when experimental impersonation ends automatically, the UI can become misleading — prompting ideas like timers, MessageBus UI updates, and graceful “Stop impersonating” behavior (read more).
Blank /custom page after a theme switch on login: when a logged-out user’s theme has a custom homepage but the logged-in theme doesn’t, users can end up on an empty page — with suggestions to show an actionable “Take me home” fallback (read more).
The missing tag “info” button: a UX regression report noted that non-admin users can’t easily find tag descriptions anymore if the info affordance is gone (only admins see the wrench) (read more).
Full name requirement vs Discourse ID: enabling full-name requirements didn’t behave as expected in a Discourse ID signup flow, and the issue was reproducible enough to be moved into bug for fixing (read more).
OpenID Connect group sync ejecting users from “unsynced” groups: a serious membership-change edge case was described where losing one OIDC group could remove users from unrelated groups, with a fix proposed quickly (read more).
Survey editing error after transferring topic ownership: editing someone else’s survey (after transfer) threw an error, and the plugin fix was shipped promptly (read more).
AI translation failures tied to “reasoning” models and structured outputs: debugging showed how reasoning tokens can consume completion budgets, and how model capability mismatches (e.g., json_schema support) can break translations (read more).
Bootstrap mode removal (“legacy?”): the rationale, what got replaced (admin onboarding panel), and which old “bootstrap niceties” might deserve a comeback (directory refresh cadence, first-admin-as-mod, etc.) made for a very constructive postmortem (read more).
Discourse Splash (“blue dots”) can’t be disabled anymore: the removal of the disable setting was explained, including performance/SEO implications and a practical workaround via an animated SVG replacement (read more).
Excluding a category from Latest site-wide: admins compared “default muted categories” vs plugins and settings for suppressing noisy daily categories from the global feed (read more).
“Site traffic report” missing: the root cause was traced to the hidden use_legacy_pageviews setting — and how that hides the newer report UI entirely (read more).
#Self-hosting
“File too large” wasn’t actually a Discourse build issue: a Russian self-hosting thread ended up being a provider firewall / payload blocking problem (uploads + signups), with a detailed recovery and tuning checklist shared (read more).
Installing Discourse behind a non-routable public IP: the install “connection test” hurdle and HTTPS requirements came up again, with practical workarounds (skip test / dev install / tunnels / cert setup) (read more).
AWS Lightsail + Ubuntu upgrade planning: the thread compared in-place OS upgrades vs “spin up a new server, restore backup, swap DNS” migration playbooks (and TTL prep) (read more).
Safeguarding/reporting workflow needs: a charity asked for a specialized reporting button and emergency-protocol flows; replies clarified the boundary between theme vs plugin work and pointed to built-in flag tooling and components (read more).
#community-building Building
Welcoming new users (especially via Chat): the community explored ways to notify regular users about new signups and how chat/email behavior affects “welcome” flows, especially under hosted constraints (read more).
nat focused on localization and translation expectations — showcasing multilingual UX in the companion blog topic (read more) and advising that communities should pick one translation experience (preferring newer automatic translations over the older Translator UX) (read more).
gabriel announced the new Discover feature “Hot Topics”, outlining how the crawler and subject clustering works and where it’s launching first (DiscourseHub iOS) (read more).
pmusaraj did a deep dive on “Bootstrap mode is legacy?”, explaining why it was removed, what replaced it (admin onboarding panel), and which parts might be worth reintroducing or rethinking (read more). They also clarified TestFlight availability and app UI scope in the Discover Hot Topics announcement thread (read more), engaged with “chat as first-class content” experiments (read more), reproduced and escalated the Discourse ID / full-name requirement issue into bug (read more), and posted a fix for OIDC group-sync membership removal edge cases (read more).
awesomerobot confirmed the removal of the splash-screen disable setting (and why it matters for Core Web Vitals), plus shared an animated SVG approach to replace the dots entirely (read more). They also clarified why crawler values can show as 0 in the newer Site Traffic report for older date ranges (read more), shipped accessibility polish for decorative badge images (empty alt tags) (read more), and continued tightening invites/profile UX by hiding confusing invite UI in unsupported contexts (read more; read more).
Falco was active across embedding, AI, and self-hosting guidance — including cross-domain embed login behavior via same_site_cookies settings (read more), confirming embedded-comment topic auto-creation behavior (read more), and steering AI translation debugging away from reasoning-model pitfalls (read more; read more). They also linked to fixes for ongoing crawler “document tree depth” errors (read more), and recommended a safe “new-server restore + DNS swap” path for Lightsail/Ubuntu migrations (read more).
david engaged on developer experience and maintenance tradeoffs — balancing stability/customization expectations in the plugin-author case study thread (read more) and clarifying deprecation timelines (read more). They also fixed and merged the bin/lint regression impacting non-bundled plugins (read more), explained Markdown link boundary behavior (and the angle-bracket escape hatch) (read more), requested plugin inventories in a self-hosting memory/precompile investigation (read more), and clarified that tests-passed remains a working alias for latest (read more).
derek shipped UI polish and theme-related fixes — quickly resolving a missing theme translation string spotted in multilingual browsing (read more), confirming a merge for category badge color/contrast issues (read more), and acknowledging investigation into the “blank custom homepage after theme switch” login edge case (read more).
chapoi provided context and guidance around constraints and implementation details — adding perspective on why documentation can lag during rapid platform evolution in the plugin-author case study (read more), pointing theme authors to the correct plugin outlet for inserting navigation headers (read more), and troubleshooting notification/trigger ambiguity in a UI-notification investigation thread (read more).
martin took ownership of improving the impersonation timeout experience, outlining a two-part approach (UI updates when time expires + graceful stop behavior), with an openness to PR collaboration (read more; read more).
HAWK drove community strategy discussion via a moderation-history lens in the Digg retrospective (read more) and shared community-building advice focused on intrinsic motivation and Communities of Practice dynamics (read more).
Thanks for reading, and I’ll see you again next week!
إصدارات كبرى تستحق الاطلاع عليها: الردود المتداخلة (اقرأ المزيد)، تحسينات جديدة لتحسين الصور على جانب العميل (اقرأ المزيد)، وإشارة "أنا أيضًا" الجديدة للمواضيع غير المحلولة في الدعم (اقرأ المزيد).
مواضيع مثيرة للاهتمام
#إعلانات
markvanlan قدم الردود المتداخلة للمجتمعات التي تحتاج إلى محادثات متسلسلة بالكامل، بالإضافة إلى نظرة أولية على عرض السلسلة الواحدة وأدوات التحكم الإدارية (اقرأ المزيد).
lindsey أعلنت عن تحسينات "تم الحل": زر "أنا أيضًا" للمواضيع غير المحلولة في فئات الدعم، والذي يشترك أيضًا الأعضاء في التنبيه عند قبول حل (اقرأ المزيد).
Falco أطلق تحسينات جديدة لتحسين الصور على جانب العميل، بما في ذلك تحويل GIF إلى WebP متحرك لتقليل حجم التحميل وتحسين الأداء الملحوظ (اقرأ المزيد).
حصلت الإجراءات الجماعية على تنظيف مع إدارة أفضل للوسوم بشكل جماعي: إضافة/استبدال/إزالة الوسوم أصبحت الآن متاحة في نافذة منبثقة واحدة باسم "إدارة الوسوم" (اقرأ المزيد).
martin شارك سير عمل مبسط لـ إنشاء فئات الأحداث باستخدام مكون الإضافات "التقويم والحدث"، استمرارًا لمبادرة "إعداد الفئات" (اقرأ المزيد).
حصل مستخدمو سمة Horizon على تحديث افتراضي: تم تفعيل بطاقات المواضيع عالية السياق افتراضيًا، مما يعرض إشارات مثل "تم الحل"/"التصويت"/"التعيين" ومعاينات أكثر ثراءً (اقرأ المزيد).
martin قدم مجموعات شبه دقيقة لتوضيح الأذونات: فصل المجهولين عن المستخدمين المسجلين لتقليل الارتباك الناتج عن @everyone في إعدادات موقع قائمة المجموعات (اقرأ المزيد).
إشعارات الدفع لتطبيق الويب التقدمي (PWA) على iOS: قد يفشل إعداد الاشتراك صامتًا عندما لا يكون عامل الخدمة يتحكم في التطبيق بعد، مع اقتراح إصلاح ومناقشته في النواة (اقرأ المزيد).
حالة حافة في أتمتة Discourse: لم تكن الأتمتة المتكررة شهريًا تعمل كما هو متوقع، مما استدعى بحثًا عميقًا في كيفية حساب التكرار الشهري (اقرأ المزيد).
تنقل Lightbox في التحميلات الشبكية: تظهر الصور بالترتيب الخاطئ (مثل 1، 3، 2، 4)، مع تتبع الإصلاح وارتباطه (اقرأ المزيد).
تراجع في صفحات المجموعات: لم يتمكن المستخدمون من رؤية من هو مالك المجموعة، على الرغم من وجود البيانات — مما أدى إلى طلب سحب (PR) لعرضها مرة أخرى (اقرأ المزيد).
آلام النمو المبكرة للردود المتداخلة: إجراءات مفتاح الربط لمسؤولي المنشورات تبدو غير قابلة للاستخدام في العرض المتداخل، مما يتطلب التبديل مرة أخرى إلى الوضع المسطح كحل بديل (اقرأ المزيد).
مشكلة منشئ السمة: تصدير السمات على الجوال يؤدي إلى شاشة فارغة/بيضاء، بينما يعمل سطح المكتب بشكل طبيعي (اقرأ المزيد).
تعثر في تحديث الاستضافة الذاتية: تحطم لوحة تحكم المسؤول (مهلة تجميع كود JavaScript للإضافة) تم التعافي منه بإعادة البناء عبر ./launcher rebuild app (اقرأ المزيد).
فحص أمان إعادة تنظيم الفئات: أوضح النقاش أن إعادة تسمية اسم/مسار الفئة آمن لأن عناوين URL تحل عبر المعرفات، ويتم إعادة توجيه المسارات القديمة (اقرأ المزيد).
التضمين في Salesforce: أدت تحديات iframe + المصادقة إلى توجيهات عملية حول محاذاة نطاق الكوكيز وتعديلات same_site_cookies (اقرأ المزيد).
ارتباك الفوترة/الترقية المستضافة: لم يتمكن مسؤول في الخطة المجانية من رؤية خيار الترقية إلى Starter، وقام الموظفون بالتحقيق والتخفيف من المشكلة (اقرأ المزيد).
الاستضافة الذاتية المدروسة أمنيًا: أسئلة حول Nginx CVE-2026-42945 وما إذا كانت صور Discourse الأساسية/القواعد تتأثر دفعت فريقًا للرد (اقرأ المزيد).
#مكون_السمة
مكون سمة جديد لجعل تسميات زر الرد أكثر وضوحًا (وقابلة للترجمة)، خاصة ذات صلة بتغيير دلالات الرد مع الردود المتداخلة (اقرأ المزيد).
مكون سمة صغير لكنه مفيد لـ إخفاء "التصويت المتبقي" في واجهات تصويت المواضيع (خاصة عند محاكاة تصويت "غير محدود")، بالإضافة إلى نقاش حول إعدادات حد التصويت الجديد (اقرأ المزيد).
markvanlan قاد التوزيع والأسئلة والأجوبة حول الردود المتداخلة، موضحًا سبب كون التسلسل خيارًا إداريًا (وليس تفضيلًا لكل مستخدم) وكيف يمكن عكس التمكين/تعطيله (اقرأ المزيد، اقرأ المزيد).
Falco أطلق وشرح خط أنابيب تحسينات الصور على جانب العميل الجديد (بما في ذلك تحويل GIF إلى WebP متحرك) (اقرأ المزيد)، وتنسيق إصلاحات إشعارات الدفع لتطبيق الويب التقدمي على iOS من خلال طلب نهج تحديث عامل الخدمة (اقرأ المزيد). كما قدم المشورة بشأن قيود تسجيل الدخول عبر iframe/التضمين لنشرات Salesforce (اقرأ المزيد) وورد على حالات فشل التحديث المستضافة ذاتيًا المتعلقة بمهلة تجميع الإضافات (اقرأ المزيد).
lindsey أعلنت ووضحت تجربة "أنا أيضًا" الجديدة للمواضيع غير المحلولة في الدعم، ونقشت كيف يجب أن يتصرف العداد (البدء من 1 ليشمل صاحب المنشور الأصلي) (اقرأ المزيد، اقرأ المزيد). كما قدمت نافذة منبثقة موحدة لـ إدارة الوسوم بشكل جماعي لسير عمل الموظفين (اقرأ المزيد).
HAWK حافظ على استمرار نقاش جاهزية المؤسسات بخيوط متعددة حول التوسع: نقاط الانهيار مع نمو المجتمعات (اقرأ المزيد)، ومخاطر التوسع في وقت متأخر جدًا أو مبكر جدًا (اقرأ المزيد)، والإشارات المبكرة التي تتطلب إعادة النظر في الاستراتيجية (اقرأ المزيد)، ومسودة قائمة تحقق لجاهزية المؤسسات للحصول على تعليقات (اقرأ المزيد).
martin وسّع مبادرة "إعداد نوع الفئة" بجعل فئات الأحداث أسهل في الإعداد (اقرأ المزيد) وتمكين اكتشاف أكثر ثراءً في Horizon عن طريق الافتراض إلى بطاقات مواضيع عالية السياق (اقرأ المزيد). كما قدم دلالات مجموعات أوضح عبر مجموعات شبه جديدة لـ المجهولين مقابل المستخدمين المسجلين (اقرأ المزيد)، وحسن خيارات واجهة المستخدم لـ "التغييرات القادمة" في لوحة الإدارة لتقارير الميزات (اقرأ المزيد)، ووضح كيفية عمل روابط "معاينة" و"ملاحظات" الاختيارية لمداخل التغييرات القادمة (اقرأ المزيد).
awesomerobot أوضح سلوك زر "أنا أيضًا" الجديد مقابل Boost (ولماذا يرتبط بإشعارات الحل) (اقرأ المزيد)، وأصلح احتكاك واجهة المستخدم للجوال حيث تداخل "آخر تشغيل" للأتمتة مع أزرار الإجراءات (اقرأ المزيد)، وتعامل مع مشاكل المنتج الصغيرة مثل "عدم تحديث تسمية LLM الافتراضية" عبر طلب سحب (PR) (اقرأ المزيد). كما استعاد رؤية ملاك المجموعات للمستخدمين غير الموظفين (اقرأ المزيد)، ونقاش إعدادات حد التصويت في تصويت المواضيع في سياق إخفاء "التصويت المتبقي" (اقرأ المزيد)، وحتى قام بتنظيف اختيار نمط سمة رسمي بعد ملاحظة دلالات سلبية محتملة (اقرأ المزيد).
zogstrip قدم تدفقًا ثابتًا من الإصلاحات: ترتيب Lightbox الشبكي (اقرأ المزيد)، نافذة حذف ضيقة جدًا للجوال في Edge (اقرأ المزيد)، عدة حالات تكرار وإصلاحات باللغة الصينية حول سير عمل التحرير/التنقل (اقرأ المزيد، اقرأ المزيد)، وفرز دعم لخطأ 500 في API مرتبط بتسلسل silenced_till (مع إشارة إلى الإصلاح ذي الصلة) (اقرأ المزيد). كما ساعد في توجيه تحقيق خطأ الأتمتة المتكرر "شهريًا" من خلال تحديده للمراجعة (اقرأ المزيد).
chapoi أكد وشرح أخطاء تجربة المستخدم (بما في ذلك مشاكل النوافذ المنبثقة للجوال وغرائب محرر الإشارات المرجعية) (اقرأ المزيد، اقرأ المزيد)، ثم تابع بإزالة تبديل الإشارات المرجعية غير الضروري عبر طلب سحب (PR) (اقرأ المزيد). كما ساعد في استكشاف مشاكل الاستضافة الذاتية الثقيلة الإضافات (شارات/واجهة إدارة) وإرشاد التقارير بشكل متكرر نحو عزل الوضع الآمن (اقرأ المزيد)، ولفت الانتباه إلى مخاوف علامات الاقتباس في الترجمة/التوطين للتفكير الإضافي (اقرأ المزيد).
nat استجابت بسرعة لمشاكل التوطين/الذكاء الاصطناعي: معالجة عدم تطابق اكتشاف اللغة النرويجية واقتراح حلول بديلة قائمة على المطالبة بينما يتم تحديث المطالبة الأساسية (اقرأ المزيد، اقرأ المزيد). كما أكدت حالات حافة الترجمة مثل "العنوان يُترجم لكن المنشور لا يُترجم"، مشيرة إلى عتبات طول الترجمة والتعديلات اللاحقة (اقرأ المزيد)، ونقشت كيف يمكن لعلامات الاقتباس المترجمة أن تفقد بيانات وصفية مهمة (خاصة في الألمانية) (اقرأ المزيد).
sam تعامل مع عناصر قريبة من الأمن وهندسية: تأكيد أن قواعد إعادة الكتابة الافتراضية لـ Discourse ليست عرضة للخطر مع ملاحظة أن تحديثات الصور الأساسية ستُصدر لموضوع Nginx CVE (اقرأ المزيد)، دمج/إصلاح مشكلة تثبيت مجلد فرعي لـ MCP (اقرأ المزيد)، والتحقق من حالة حافة إعداد مزود الذكاء الاصطناعي (ميزانية "التفكير" لـ Gemini) (اقرأ المزيد).
بعض المواضيع التي ساهمت في جذب الانتباه/الإعجابات هذا الأسبوع (عينات):
حققت تحسينات تجربة المستخدم لـ Discourse AI ظهوراً بارزاً من خلال محادثات الذكاء الاصطناعي المميزة (اقرأ المزيد) ومحرر النصوص المثبت لمحادثات البوت (اقرأ المزيد).
أثارت مناقشات المدونة جدلاً حول "الويب المفتوح" و"زاحف الذكاء الاصطناعي": المركزية الأولى للويب (اقرأ المزيد) وDiscourse جاهز للوكلاء (اقرأ المزيد).
أثارت تغييرات واجهة "المستندات كقراءة أولاً" ملاحظات عبر الوضع البسيط لفئات المستندات (اقرأ المزيد).
"Discourse جاهز للوكلاء" (ai) أثار نقاشاً واسع النطاق حول ما إذا كان ينبغي للمجتمعات ترحيب وكلاء/زواحف الذكاء الاصطناعي أو حظرها، بما في ذلك الحقائق العملية مثل تجاهل الزواحف لملف robots.txt والقيمة غير المؤكدة لملف llms.txt. اقرأ المزيد
"Discourse لن تحجبك عن الويب أبداً" قارن موقف Discourse من الويب باتجاهات الإغلاق الأولى للتطبيقات، وأطلق نقاشاً حول نسب المؤلف/الائتمان في مواضيع المرافقة للمدونة. اقرأ المزيد
#Announcements
تمييز محادثات الذكاء الاصطناعي الشائعة (ai) أطلق فوزاً صغيراً ولكن ذا معنى في سير العمل: محادثات البوت المميزة تطفو الآن في أعلى قائمة محادثات الذكاء الاصطناعي الخاصة بك (خيار التغييرات القادمة). اقرأ المزيد
محرر نصوص مثبت لمحادثات بوت الذكاء الاصطناعي (composer، ai، ai-bot) أدخل شعوراً بـ "المحادثة المستمرة" لمواضيع البوت، مما قلل من الاحتكاك الناتج عن فتح المحرر بشكل متكرر. اقرأ المزيد
فئات المستندات: "الوضع البسيط" (doc-categories) أعاد صياغة مواضيع المستندات كواجهة قراءة أولاً حيث تنهار الردود خلف مفتاح تبديل، مع الحفاظ على التوسع التلقائي لروابط الرد المباشر. اقرأ المزيد
الإصدارات المتوسطة (19 مايو 2026) جمعت ملاحظات الإصدار الحرجة لإصلاحات الأمان وروابط الإصدارات للمسؤولين الذين يتتبعون إلحاح التحديث. اقرأ المزيد
تحسين الأحداث: تأكيدات حضور مرنة للأحداث المتكررة (calendar-and-event) أضاف القدرة على تأكيد الحضور للمرة القادمة فقط مقابل جميع المرات المستقبلية، مما يمنع التذكيرات غير المرغوب فيها ويحسن وضوح الحضور. اقرأ المزيد
موضع عدد الردود الجديد للمواقع التي تستخدم التفاعلات (reactions) سلط الضوء على تغيير في التخطيط يهدف إلى محاذاة صف التفاعلات بشكل أكثر اتساقاً عبر المشاركات. اقرأ المزيد
زر الموافقة على ملف المستخدم لا يعمل تصاعد إلى حالة حافة معقدة في موافقة/قائمة المراجعة: لم يظهر المستخدمون غير المعتمدين في المراجعة، وإشعارات موافقة شبحية، وحتى أخطاء 500 عند محاولة الموافقة من واجهة المسؤول. اقرأ المزيد
رسالة "تحديث متاح" في البريد الإلكتروني تربط بملاحظات إصدار معطلة (تفتقد بادئة v في عنوان URL لسجل التغييرات)، مما أدى إلى خطأ 404 حتى يتم إصلاحه. اقرأ المزيد
مكون سمة أيقونات الوسوم: تحويل الشرطات السفلية إلى شرطات كسر الأيقونات بشكل غير متسق بين الشريط الجانبي وصفحات الموضوع/الوسم، على الأرجح بسبب تغييرات في معالجة الشريحة. اقرأ المزيد
الاقتراح التلقائي للرموز التعبيرية + الأحرف الخاصة (مثل ü) أظهر كسراً بسيطاً ولكن حقيقياً في تجربة المستخدم في كل من المحرر والدردشة، بما في ذلك أخطاء وحدة التحكم عند إدراج الرموز التعبيرية بعد استخدام "المزيد...". اقرأ المزيد
خطأ في التفاعلات: نافذة منبثقة عند التمرير فوق "+1" عالقة في التحميل اتضح أنها مشكلة في ترميز عنوان URL (تم تفسير + كمسافة) وتم إصلاحها بسرعة عبر التصحيح المستهدف. اقرأ المزيد
NameError: ReactionsSerializerHelpers أثر على تسلسل تدفق مشاركات الموضوع في بعض التثبيتات التي تستخدم مكون التفاعلات المدمج، وتم فتح طلب سحب (PR) لمعالجة ترتيب التحميل. اقرأ المزيد
الردود المتداخلة + تصويت المشاركة = خطأ 500 أظهر حالة حافة غير متوافقة حيث كانت التسلسلات المتداخلة تتوقع بيانات وصفية غير موجودة، مما أنتج undefined method 'post_number' for nil. اقرأ المزيد
تسليط الضوء على الصياغة لا ينسخ/يلصق بالألوان بشكل موثوق أصبح غوصاً عميقاً في تنسيقات الحافظة، واختلافات المتصفحات (Firefox مقابل Chromium)، وأين يفقد التنسيق (نسخ مقابل لصق). اقرأ المزيد
ملاحظات عبر الثقافات حول ترتيب الردود (الأحدث أولاً مقابل الأقدم أولاً) أثارت قضية قابلية اكتشاف/استخدام مدروسة للمستخدمين الأكبر سناً وعادات القراءة المختلفة، بالإضافة إلى تعقيد الردود المتداخلة (تختلف تجربة المستخدم الزمني). اقرأ المزيد
استعادة مشاركة لا تنشئ إدخالاً في سجل إجراءات الموظفين سلط الضوء على فجوة تدقيق: إجراءات الحذف مسجلة، وموضوع الاستعادة مسجل، لكن استعادة المشاركة لم تكن كذلك — مما دفع إلى فتح طلب سحب (PR). اقرأ المزيد
شريط التعديل المقترح يتداخل مع سجل التعديل/التاريخ في مستندات الويكي أشار إلى تصادم في واجهة المستخدم قد يكون متعلقاً بتنسيق الوضع البسيط للمستندات، مما يقلل من الوضوح حول بيانات التعديل. اقرأ المزيد
الارتباك في الخطة المجانية/التسعير: تقييد مفاجئ للبريد الإلكتروني + أنواع الفئات وثق الاحتكاك الواقعي حيث تستمر الخطة المجانية المستضافة في التطور، بما في ذلك التوقعات حول مصفوفات الميزات ومطالبات ترقية واجهة المستخدم. اقرأ المزيد
توقعات الحد الأدنى للنشاط على المواقع المستضافة المجانية وضحت السياسة الحالية: إشعارات عدم النشاط المبكر عند ~3 أسابيع، وإشعار آخر عند ~6 أسابيع، وإلغاء التكوين عند ~7 أسابيع إذا لم يكن هناك نشاط حقيقي للمجتمع. اقرأ المزيد
فشل النسخ الاحتياطي مع PostgreSQL 18 (تم الحل) استعرض حل عدم تطابق عميل/خادم pg_dump عندما يقوم Discourse بتشغيل النسخ الاحتياطي من حاوية تستخدم أدوات pg أقدم من مجموعة PG18 خارجية. اقرأ المزيد
#support:migration
ضبط سرعة هجرة phpBB → Discourse (phpbb) جمع استكشاف أخطاء أداء الاستيراد العملي (I/O مقابل قاعدة البيانات مقابل Redis)، بالإضافة إلى تذكيرات حول مستوردي الدفعات وتكلفة إعادة تشغيل الهجرات الكبيرة. اقرأ المزيد
#Community_Building
تطبيق عميل أصلي لـ Discourse على iOS وAndroid (show-and-tell) استعرض مفهوم عميل أصلي من طرف ثالث (مع تحذيرات حول دعم المكونات الإضافية وحدود تسجيل الدخول/الدفع اعتماداً على الاستضافة). اقرأ المزيد
توجيه "المجتمع الجديد" + الحدود على Meta مزج بين ملاحظات ترحيبية وتذكير بأن Meta ليس المكان المناسب للترويج/الاختبار الوظيفي — واستخدام try.discourse.org للتجارب. اقرأ المزيد
awesomerobot شارك بشكل مباشر في مناقشة مقايضة "جاهزية الوكيل" لزواحف الذكاء الاصطناعي (بما في ذلك حدود حظر الزواحف) في هذا الموضوع، ثم دفع أيضاً نحو تحسينات المنتج من خلال تأكيد قابلية تكوين نص "أنا أيضاً" الجديد في هذا المتابعة. كما أوصى بمعالجة البريد العشوائي بأفضل ممارسة ("حذف وحظر") في هذا الطلب المميز، ووضح عتبات نشاط الطبقة المجانية في هذا الجواب الداعم.
Falco ساعد في تشخيص فشل التحديثات المستضافة ذاتياً والقيود على الموارد (خاصة تثبيتات 1 vCPU مع المكونات الإضافية غير الأساسية) في تعطل بعد محاولة التحديث، واستمر في تكرار قيود تجربة المستخدم للردود المتداخلة (توفر الجدول الزمني، قرارات التراجع، والفجوات التصميمية) في ملاحظات ترتيب الرد. كما وجه تقرير خطأ 404 لحالة القراءة في الردود المتداخلة إلى المكان المناسب في هذا الموضوع الخاص بالأخطاء، وأشار إلى إصلاحات قيد التنفيذ لإجراءات المسؤول في الوضع المتداخل في هذا التقرير الخاص بالأخطاء المتداخلة.
sam أطلق تحسينات قابلية استخدام الذكاء الاصطناعي مع إعلان محادثات الذكاء الاصطناعي المميزة في هذا الموضوع، وأكد وحدد نطاق مشكلة تاريخ المحادثة العائمة/زر العودة في هذا الخطأ في الدردشة، واستجاب لتقرير تعطل العلم بتشجيع فتح طلب سحب (PR) (وأكد أنه على رادار الفريق) في هذا الموضوع الخاص بالأخطاء.
david نشر مؤشرات الإصدار المتوسط هذا الأسبوع للإصلاحات الحرجة في موضوع ملاحظات الإصدار، وشارك في رأي حول كيفية تصرف الأصول المبنية مسبقاً أثناء تحديثات الويب (ولماذا لا تزال بعض مجموعات المكونات الإضافية/الأجهزة تعاني) في هذا الموضوع الخاص بتعطل التحديث. كما لاحظ أن مفتاح "وضع الهاتف المحمول القائم على إطار العرض" الأقدم مستحق للإزالة (ويمكن أن يسبب أخطاء إذا تم إيقافه) في هذه المتابعة لأخبار المطورين.
keegan قدم تجربة محرر النصوص المثبت لمحادثات بوت الذكاء الاصطناعي (خيار التغييرات القادمة) في هذا الإعلان.
saquetim أطلق الوضع البسيط لفئات المستندات (طي الردود خلف مفتاح تبديل مع الحفاظ على وظائف الروابط العميقة) في هذا الإعلان.
zogstrip كان في كل مكان في المتابعات التكتيكية لإصلاح الأخطاء: أشار إلى تحسين وشيك لسلوك العودة في المحادثات المميزة في هذا الخطأ في الدردشة، وأكد إصلاحاً سريعاً لمشكلة ترميز عنوان URL لـ التفاعل "+1" عند التمرير في هذا التقرير عن التفاعلات، وربط إصلاحات/طلبات سحب (PRs) لعدة مشاكل صغيرة طويلة الأمد — مثل أخطاء 404 في ترقيم صفحات Googlebot في هذا الموضوع الداعم، وتحسينات استعادة المشاركات المرفوعة علمياً في هذا الخطأ، وتحسين رابط تجربة المستخدم لوصف الإعدادات في هذا الموضوع الخاص بتجربة المستخدم. كما حاول (ولم يستطع) إعادة إنتاج مشكلة نافذة منبثقة للتفاعلات على الهاتف المحمول، وطلب خطوات أفضل في هذا الموضوع الخاص بالأخطاء.
HAWK استجاب لنقاط "الكسر" في القياس المؤسسي من خلال تأكيد العمل النشط على التقويم/الأحداث ونية خارطة الطريق لمؤتمرات الفيديو في هذا النقاش المؤسسي. كما قدم نظرة عامة واضحة على قدرات الكلمات المراقبة (وأشار إلى دليل المرجع) في هذا الموضوع الداعم للتدقيق، وشرح سبب التراجع عن الخطة المجانية المستضافة بينما لا يزال ملاءمة المنتج للسوق قيد الاختبار في هذا الموضوع الخاص بالتسعير/الخطة المجانية.
تجمعت الكثير من طاقة الأسبوع حول إطلاق واجهة المستخدم الأساسية، واستقرار الردود المتداخلة، واستكشاف أخطاء المضيفين الذاتيين/المسؤولين، مع ربط عدة خيوط مباشرة بالتغييرات الجديدة/المستمرة في المنصة مثل ردود الفعل الافتراضية (اقرأ المزيد) وضجيج إشعارات "الإجراءات الصغيرة" (اقرأ المزيد).
مواضيع مثيرة للاهتمام
#announcements
تستقبل نواة Discourse نظام بناء JavaScript جديد، حيث تنتقل من ember-cli/webpack إلى rolldown (قائم على Rust، ومتوافق مع Vite)، مما يعد بـ سرعة أكبر بنسبة ~80٪ في عمليات البناء أثناء التطوير مع الحفاظ على استقرار عمليات الإنتاج بفضل الأصول المُعدة مسبقًا (اقرأ المزيد). خلفية ذات صلة: الأصول المُعدة مسبقًا للمضيفين الذاتيين (اقرأ المزيد).
يتم تمكين ردود الفعل افتراضيًا لجميع المواقع الجديدة والقائمة عبر عملية إطلاق "تغيير قادم"، مع شرح martin لسبب تحول الافتراضيات وكيفية التعامل مع خيارات الخروج (اقرأ المزيد). سياق الميزة الأساسية: خيط إضافة Discourse Reactions (اقرأ المزيد).
يتم استبعاد منشورات "الإجراءات الصغيرة" (إشعارات الإغلاق التلقائي، إشعارات التعيين، إلخ) من قوائم المراقبة/التتبع لتقليل رسائل البريد الإلكتروني غير المرغوب فيها للمسؤولين، وهذا ليس اختياريًا وفقًا لقيود التنفيذ (اقرأ المزيد).
حصلت إضافة التقويم والأحداث على تدفق إنشاء أحداث أكثر سلاسة مباشرة داخل محرر النصوص (محرر تفاعلي في النص الغني ومعاينة في Markdown)، مما يقلل من الاحتكاك للمجتمعات التي تنظم الأحداث (اقرأ المزيد). الموضوع الأساسي للإضافة: التقويم والأحداث (اقرأ المزيد).
تم إصدار الإصدار الشهري مايو 2026 (v2026.05) مع روابط كاملة لسجل التغييرات لأي شخص يتتبع الترقيات عبر التثبيتات المستضافة ذاتيًا والمستضافة (اقرأ المزيد).
نشرت Discourse "المشاريع الحالية – مايو 2026"، بما في ذلك ملاحظات التقدم عبر الإضافات المضمنة والمبادرات (لا سيما: تحسينات تصويت الموضوعات وواجهة تجربة إنشاء التقويم/الأحداث) (اقرأ المزيد).
ظهرت مشكلة كلاسيكية "غير مقروء وهمي": رآى المستخدمون Unread (14) بينما كان /unread فارغًا. أقر الفريق بالخطأ وأعمال الإصلاح قيد التنفيذ، بينما تم مشاركة حل عملي عبر rails/SQL لمسح حالة المقروء على مستوى الموقع (مع التحذير المهم بأنه يمسح المقروءات المشروعة أيضًا) (اقرأ المزيد).
استمرت الردود المتداخلة في ظهور حالات حافة: روابط الموضوع المقترح للردود المتداخلة أعطت خطأ 404 (وكانت يمكن أن تترك الرأس في حالة غريبة). تم إصدار إصلاح أساسي، مع مناقشة لاحقة حول إعادة التوجيه ومؤشرات المقروء في المواضيع المتداخلة (اقرأ المزيد).
واجه مستخدمو قوالب النماذج خطأً دقيقًا: حقاقات اختيار العلامات تعطلت عندما كانت أسماء العلامات تحتوي على حالات مختلطة. قام zogstrip بإعادة إنتاج المشكلة وشحن طلب سحب للإصلاح بسرعة، مما حوّل مشكلة تجربة المستخدم المحيرة إلى قاعدة عامة: تطبيع تسمية العلامات (اقرأ المزيد).
أصبحت مشكلة واجهة المستخدم الصغيرة تحسينًا للتحقق من الخلفية: إنشاء مجموعة تتطلب طلبًا فقط بدون مالك أدى إلى رسالة "FAILED" غير المفيدة. لاحظت التحقيق تعقيد النموذج المنقسم وأنماط Ember القديمة؛ استعاد طلب سحب رسالة خطأ وصفية (اقرأ المزيد).
عقبة ترقية صعبة: فشل db:seed_fu بسبب تصادم اسم مع anonymous أثناء إنشاء مجموعات النظام الجديدة. يسلط الخيط الضوء على حالات الحافة للاستيراد (أسماء المستخدمين/المجموعات المسماة anonymous) ويرفع مخاوف حول التسمية/التوافق حول المجموعات التلقائية (اقرأ المزيد).
كشفت المثيلات الفرنسية عن فخ typographer: حولت بعض عمليات استبدال علامات الاقتباس/الفاصلة العليا ' إلى > بسبب إعدادات علامات الاقتباس. حلّ ذلك تعطيل enable_markdown_typographer، ووضع الفريق علامة "انتصارات سريعة" لتحسين التجربة (اقرأ المزيد).
تستمر اختبارات الردود المتداخلة في أن تكون مثيرة للجدل: أفاد أحد المشغلين بتعطل الإنتاج (تغييرات في المسارات، روابط إشعارات معطلة، عدم توافق السمات، ومشاكل في تخطيط الهاتف المحمول) وأوصى بتحذيرات أقوى قبل التمكين، بينما استكشف آخرون استراتيجيات الاختبار وإدارة التوقعات (اقرأ المزيد).
عالج خيط توافق الردود المتداخلة المنفصل صراع تصويت المنشورات + الردود المتداخلة؛ مال الاتجاه قصير المدى نحو تعطيل سلوك تصويت المنشورات صراحةً في السياقات المتداخلة والنظر في ميزة "تصويت" مستقبلية داخل الردود المتداخلة نفسها (اقرأ المزيد).
#contribute:feature
جذب احتكاك التوجيه على الهاتف المحمول الانتباه: يظهر Discourse على الهاتف المحمول "تسجيل الدخول" بشكل بارز لكنه يخفي "إنشاء حساب" خلف التدفق، مما يؤدي إلى ارتباك المستخدم. يستكشف الخيط مقايضات واجهة المستخدم، والمكونات البديلة، وأعمال طلب السحب لتحسين الاكتشاف دون ازدحام الرأس (اقرأ المزيد). فكرة مكون ذات صلة: زر مصادقة موحد (اقرأ المزيد).
مناقشة الأمان مقابل التشغيل: عندما يتم تعطيل "تعديل البريد الإلكتروني بعد التسجيل"، يفقد المسؤولون أيضًا القدرة على تعديل البريد الإلكتروني عبر واجهة المستخدم. الاقتراح هو تحكم أكثر دقة (للمسؤولين فقط مقابل المستخدمين فقط)، على الأرجح مع احتكاك "وضع السudo" مثل تأكيد كلمة المرور/المصادقة الثنائية وتسجيل تدقيق قوي (اقرأ المزيد).
ملاحظات Discourse AI: تم طرح إضافة دعم الويب هوكس/الأحداث لتحديثات عناصر AI (أو تعطيل العزل)، وأشار الفريق إلى إعادة النظر في هذا بمجرد وصول "سير العمل" (نهج أتمتة جديد) (اقرأ المزيد).
قارن المضيفون الذاتيون بين بائعي VPS وواقع SMTP: تحول خيط "Vultr مقابل DO" بسرعة إلى تذكير بأن قابلية توصيل البريد الإلكتروني تتعلق عادةً بـ سياسات المنافذ للموفر والتكوين الصحيح، وليس صورة السوق – وأن مسار التثبيت الرسمي غالبًا ما يكون أسرع من تصحيح إعدادات السوق غير المدعومة (اقرأ المزيد). ظهرت استكشاف أخطاء SMTP ومفاجآت YAML (علامات اقتباس منحنية!) في "إذا تم تعطيل تسجيل الدخول المحلي" (اقرأ المزيد) ودليل استكشاف أخطاء البريد الإلكتروني الأساسي (اقرأ المزيد).
مشكلة تخزين عملية: فشلت الترقيات بسبب ضغط القرص وطبقات الحاويات الكبيرة. يتضمن الخيط إرشادات تنظيف ملموسة (./launcher cleanup) بالإضافة إلى مناقشة حول ماهية الصور الأساسية، ولماذا تتراكم الطبقات القديمة، وكيفية استعادة المساحة بأمان (اقرأ المزيد).
عطل "فشل في التسجيل تلقائيًا مع Discourse ID" تثبيتًا عندما تم تخطي البريد الإلكتروني، وتبين أن السبب الجذري هو متطلبات عنوان URI لإعادة التوجيه HTTPS؛ كان الحل هو إنشاء مسؤول عبر سطر الأوامر وتمكين force_https، ثم إكمال الإعداد (اقرأ المزيد).
اكتشف المسؤولون حاجزًا للتزييف: يوجد إعداد مخفي experimental_impersonation_time_limit_minutes (الافتراضي 15)، يمكن تغييره عبر وحدة تحكم rails (أو عبر إعادة البناء إذا وُضع في التكوين، على الرغم من أنه أكثر تعقيدًا) (اقرأ المزيد).
تمت الإجابة على سؤال "الحاجة إلى إنشاء قنوات دردشة عبر API" بعنوان النهاية ذي الصلة (POST /chat/api/channels) بالإضافة إلى مثال معلمة عام – مفيد للمنصات التي تزود مئات المجتمعات بشكل برمجي (اقرأ المزيد).
لاحظت ملاحظات الموقع أن دليل "إنشاء تقارير الأخطاء" القديم يحتوي الآن على روابط فئات ميتة بعد إعادة هيكلة الفئات؛ الإصلاح المقترح هو استخدام عناوين URL للفئات مع المعرفات حتى لا تؤدي التحركات المستقبلية إلى كسر المراجع (اقرأ المزيد). الدليل المشار إليه: "إنشاء تقارير أخطاء لـ Discourse على Meta" (اقرأ المزيد).
تهدف مكون سمة جديد إلى تقليل الحمل المعرفي للمسؤولين من خلال إلغاء الإخطار تلقائيًا لأنواع معينة من الإشعارات في قائمة المستخدم – مفيد بشكل خاص للمواقع ذات الدعوات الكثيرة أو إشعارات النظام (اقرأ المزيد).
جادل منشور إشادة مفكر بأن حزم الإضافات الشائعة (معطلة افتراضيًا ولكن مثبتة مسبقًا) هي في الواقع فوز كبير: يمكن للمسؤولين تمكين الميزات دون إعادة بناءات مزعجة أثناء العمليات الحية (اقرأ المزيد).
أطلق david عنصرًا رئيسيًا لأخبار التطوير مقدمًا نظام بناء JS جديد لنواة Discourse (rolldown + وحدات ES الأصلية) مع مكاسب أداء كبيرة في وضع التطوير مع الحفاظ على استقرار الإنتاج (اقرأ المزيد). اقترح أيضًا تصحيح أخطاء المتصفحات غير المتوافقة مع Discourse من خلال التحقق من وحدة تحكم المتصفح عن اكتشافات الميزات الفاشلة (اقرأ المزيد)، وحدّث الوثائق حول استراتيجية d-compat/* الجديدة لتثبيت توافق الإضافات/السمات (اقرأ المزيد).
شحن sam/أعلن عن تغيير في جودة إشعارات المستخدم: الإجراءات الصغيرة لم تعد تُحتسب كنشاط تابع للمراقبة/التتبع، مما يقلل من "صفارات الإنذار الإدارية" أثناء الإغلاق الجماعي والمؤقتات (اقرأ المزيد). ربط أيضًا تقارير المقروء الوهمي بمسار إطلاق تغيير الإجراءات الصغيرة (اقرأ المزيد)، ووجّه مستكشبي الأخطاء الذاتيين نحو مجموعات التزامات محددة لحاجز الوسيط (اقرأ المزيد).
بقي chapoi نشطًا عبر خيوط واجهة المستخدم والدعم: الاعتراف بـ خطأ المقروء الوهمي وتأكيد أن الفريق يعمل عليه (اقرأ المزيد)؛ تقديم حجة نموذج ذهني مفصلة ضد تفضيلات العرض المتداخل/الخطي لكل مستخدم (اقرأ المزيد)؛ الإشارة إلى خيارات عملية للتخطيطات المهيكلة (والتوضيح متى تنطبق المقترحات على قوائم المواضيع مقابل نصوص المنشورات) (اقرأ المزيد)؛ ومساعدة متكامل على العثور على نقطة نهاية API لإنشاء قنوات الدردشة (اقرأ المزيد).
أعلن awesomerobot عن تحسين واجهة تجربة إنشاء الأحداث في إضافة التقويم والأحداث، مضمنة محرر أحداث تفاعلي مباشرة في محرر النصوص (اقرأ المزيد). ساعد أيضًا في تصحيح أخطاء إمكانية الوصول لـ JAWS + اختصارات لوحة مفاتيح Discourse (موضحًا كيف يمكن لقارئات الشاشة اعتراض ضغوطات المفاتيح) (اقرأ المزيد)، وتدخل في مناقشة اكتشاف تسجيل الدخول على الهاتف المحمول مع أنماط أوسع لواجهة المستخدم شوهدت عبر المواقع الشائعة (اقرأ المزيد).
أعلن martin عن الإطلاق القادم لتمكين Discourse Reactions افتراضيًا، موضحًا كلًا من المنطق المنتج وكيف تجعل "التغييرات القادمة" عمليات الإطلاق منخفضة المخاطر أكثر جدوى مما كانت عليه في الماضي (اقرأ المزيد).
نشر rishabh تحديث "المشاريع الحالية" لشهر مايو، ملخصًا العمل عبر الإضافات والمبادرات المستمرة (اقرأ المزيد)، وشارك فوزًا كبيرًا في سهولة الاستخدام: تظهر GitHub oneboxes الآن حالة طلبات السحب مضمنة (اقرأ المزيد).
ساهم Falco في عدة جبهات تقنية: تنبيه أخطاء المسارات المتداخلة للتحقيق وتوجيهها إلى المالك المناسب (اقرأ المزيد)؛ مناقشة خيارات الأحداث/الويب هوكس المستقبلية لعناصر Discourse AI (وربطها بسير العمل القادم) (اقرأ المزيد)؛ توضيح سلوك تحسين الصور من جانب العميل والمقايضات حول إضافة المزيد من مقابض المسؤول (اقرأ المزيد)؛ وإرشاد حول تضمين تعليقات Discourse كجزء من نهج تكامل أوسع (اقرأ المزيد).
واصل markvanlan تكرار الردود المتداخلة: نشر إصلاحات لروابط الردود المتداخلة المعطلة وتوقعات سلوك إعادة التوجيه (اقرأ المزيد)، ورسم اتجاه للتعامل مع عدم التوافق مثل تصويت المنشورات عن طريق تعطيله صراحةً في السياقات المتداخلة (مع أفكار طويلة المدى حول التصويت المدمج في الردود المتداخلة) (اقرأ المزيد).
قدم zogstrip إصلاحات سريعة متعددة الدوران: حل خطأ اختيار مجموعة العلامات في قوالب النماذج (اقرأ المزيد)، شحن إصلاح لـ رؤية "من صوت" في سياقات تصويت المواضيع المغلقة (اقرأ المزيد)، وتكرار حول حالات الحافة لصحة الموافقة/الإشعار (اقرأ المزيد).
نشر loic المؤشر الرسمي لـ الإصدار الشهري مايو 2026، موجهًا المسؤولين إلى سجل التغييرات الكامل (اقرأ المزيد).
Composer redesign (alpha): unified “Post Type” actions dropdown (#Announcements) — jordan.vidrine introduced a new composer actions menu behind enable_new_composer_actions, including moving whisper/no-bump/unlist toggles into the same dropdown for less “mode switching whiplash.” See details.
Nested replies: SEO, controls, and layout tradeoffs (#Announcements, nested-replies) — questions ranged from crawler behavior and canonical URLs to whether “view as flat” should remain available. markvanlan confirmed “view as flat” was removed after internal testing (read more).
“Small post actions” change (and its knock-on effects) (#Announcements) — the change to suppress “small actions” continues to surface implications for what gets tracked/watched; sam confirmed it applies broadly (including unlist/list actions) in the announcements thread (read more).
Events UX gets simpler… but mobile pain points remain (#Announcements, calendar-and-events) — “easier than ever to create events” is being tested hard in the wild, with reports about mobile discoverability and long descriptions in the events announcement topic (read more).
Enterprise: first iteration of a Discourse AI getting-started guide (#Enterprise) — fsasaki shared a structured, toggle-by-toggle guide to Discourse AI for enterprise stakeholders (read more).
Unread count says “Unread (14)” but the unread list is empty (bug) — a regression affecting the /unread experience (and sometimes showing phantom or missing unreads) was triaged, linked to the “small actions” tracking change, and fixed via a commit referenced by sam (read more). Related report: “Unread” tab is not listing all thread with unread messages.
Nested replies + Horizon: old replies “stick” when navigating via related topics (bug, nested-replies) — Andry_Osminin reported intermittent UI state leakage that only cleared after a full reload; the diagnosis pointed to “instant navigation” not resetting state, and markvanlan flagged an upcoming PR to address it (read more).
Topic cards: “likes” broke after a linting update (bug, topic-cards) — RGJ spotted that refactors removed/changed getters but left code calling them, breaking likes; a PR was merged quickly (read more).
AI Helper suggests tags that aren’t allowed in a category (bug, ai) — AI-assisted tag suggestions ignored category/tag-group restrictions and allowed selecting invalid tags (then failing on submit). zogstrip shipped a fix via PR (read more).
Chat thumbnails bypass s3_cdn_url and leak raw bucket URLs (bug, cdn, chat) — Lilly traced broken thumbnails (notably with Cloudflare R2) to serializers not applying the CDN URL; sam rebaked content on Meta while the fix discussion continued (read more). Related R2 migration pain surfaced again in Cloudflare R2 image URL display issue.
Passkey login: “security key is not owned by the user” (bug, passkey) — a cross-site pattern (Meta + several other communities) suggested either a Discourse regression or an upstream platform change; pmusaraj investigated but couldn’t reproduce reliably and asked for more Windows-based data points (read more).
Upgrade failure: db:seed_fu group/user namespace conflict (bug) — name collisions in the shared user/group namespace caused upgrade failures; martin produced and merged a fix (and clarified the underlying conflict pattern) in the original report (read more).
Odd bot signup/spam “attacks”: what to do when spam is at the account-creation layer (Support) — admins compared patterns (fake custom fields, “FirstLast1234” usernames), mitigation tactics (approve TL0, Data Explorer queries, Cloudflare rules), and tradeoffs of IP blocking vs VPN collateral damage. The thread includes a call for better built-in automation (read more). Helpful adjacent resources mentioned in-thread: the official hCaptcha plugin, a request for Cloudflare Turnstile support, spam-response playbooks like immediate actions during a spam attack and tips for preventing spam, and Cloudflare guidance in best practices.
“Registration challenge” without plugins on free hosting (Support, spam, signup) — on constrained plans, the discussion focused on what can still be done (must-approve-users, AI spam detection, and operational triage) even when you can’t install additional plugins (read more).
How to approximate Meta’s design on your own forum (Support) — the “how did Meta do that?” question brought together the custom homepage feature, the Blocks API work, and practical theming components (including hiding the sidebar by default) (read more). Related reading: Using the new custom homepage feature and the broader Meta theme rebuild notes in Rebuilding the Meta Branded theme.
Sidebar UX: “nest” group links under a collapsible parent (Support, sidebar) — while true nesting/collapsing isn’t available, the thread converged on restructuring via built-in custom sections, which solved the immediate need (read more).
Why can’t I install plugins “locally” in /var/discourse/plugins on production? (#Self-hosting) — the answer: it’s not blocked so much as “not how the production container build is wired,” so use app.yml (or spin up a dev environment and restore a backup locally). See the discussion (read more) and the related docs for installing plugins on a self-hosted site plus creating/restoring backups.
Webhooks suddenly firing ~24 minutes late (user_added_to_group) (Support, webhooks) — the key debugging path was Sidekiq latency/queue pressure (especially the low queue), with guidance to inspect /sidekiq for live queue health (read more).
Discourse install: port 443 “not accessible” connection test (and when to skip it) (Support) — a tricky install experience ended up using the --skip-connection-test flag once DNS/ports were verified; the thread also turned into a mini runbook for Virtualmin environments (read more). Related install edge case: skip connection test does not work.
Homepage topic links suddenly got smaller (Foundation modernization side-effects) (Support) — admins traced unexpected font-size changes to the Modernize Foundation theme upcoming change and toggled it off while awaiting further refinement (read more).
Review queue cognitive trap: “Yes” sometimes means “remove spam,” sometimes means “approve” (ux, review-queue) — a UX consistency report highlighted muscle-memory risk when processing large queues; discussion centered on reframing prompts so “Yes” consistently confirms a problem (read more).
Theme import: “branch: main” is a placeholder (not a default), leading to wrong branch pulls (ux, fixed) — an admin-side form subtlety caused real-world update confusion; chapoi shipped a copy/UX fix after clarifying the intended “nil means auto d-compat branch” behavior (read more).
“New Topic” button still appears where users can’t create topics (and why that’s controversial) (ux) — a debate between reducing friction (“let users open composer and post elsewhere”) and avoiding confusion (“don’t show a primary CTA that can’t complete”). The thread also surfaced workarounds and a newly added hidden setting restoring old behavior (read more).
Modernizing the Foundation theme: accessibility feedback and follow-through (#Announcements) — a tense but constructive accessibility thread led to acknowledgment of delayed feedback and a set of targeted WCAG-related fixes landing via PRs referenced by jordan.vidrine (read more).
markvanlan helped set expectations and steer nested replies implementation details, including confirming the removal of “view as flat” (it was intended for internal comparison/testing only) in Introducing nested replies, and flagging an upcoming fix for Horizon-specific nested navigation state issues in posts staying rendered after navigation.
A preview of the redesigned admin dashboard (dashboard, #Announcements): lindsey shared an early look at a more modular dashboard (highlights, pin-able reports/Data Explorer, traffic, engagement), and the thread quickly turned into a discussion of which KPIs should be customizable per community (e.g. internal vs public support use-cases). read more
Introducing the unified new view for the topic list (#Announcements): martin announced “unified new” as an upcoming default, combining the mental model of New vs Unread into clearer subtabs (Topics / Replies / All). awesomerobot clarified default behaviors and why this should be easier to explain to members. read more
GIFs are moving to Discourse core! (#Announcements): davidb announced the GIF picker is moving from a theme component into core (now via Klipy), with migration notes for hosted/self-hosted and follow-ups around edge cases like domain download restrictions and translation overrides. read more
Livestream is now part of the Events plugin (calendar-and-events, discourse-livestream, #Announcements): lindsey shared that livestream functionality has been folded into the Events plugin (single system, migrated settings, and plan availability on hosted tiers). read more
Boosts testing on Meta paused (for now) (#Announcements): martin confirmed Boosts have been disabled on Meta temporarily while the team considers how boosts/likes/reactions might evolve into a more cohesive system later. read more
Solved improvements keep evolving (solved, #Announcements): lindsey posted updates making the “I’m experiencing this issue too” interaction configurable per-category and easier to relabel in category settings. read more
Ads need a lot of space on topics with nested replies (nested-replies, bug): Moin reported that topic-list ads become visually intrusive (and sometimes broken) inside nested replies layouts; Falco tracked it to the custom topic list ads component and shipped fixes in component PRs. read more
Localization bug in recurring events (calendar-and-events, bug): a missing %{weekday} interpolation caused recurring events to render as “Every [missing…]”. awesomerobot pointed to a recent fix and the reporter confirmed an update resolved it. read more
Regression: PDFs download on click instead of opening (pdf-previews, bug): nathank reported PDFs attempting download rather than opening in a new tab when previews are enabled; zogstrip linked a fix for inconsistent display behavior between S3 vs local storage. read more
Trouble searching user custom fields in the directory (bug): pfaffman reported /u directory search didn’t respect custom fields even though global search did; zogstrip made the code paths consistent via a core fix. read more
SVG badge icons not displaying after import (badges, bug): AkarinLiu hit a Font Awesome SVG edge case (no dimensions → renders at 0px). awesomerobot added a Discourse-side fix so these icons display correctly. read more
Right Sidebar Blocks: Tags block conflicts with tag dropdowns (right-sidebar-blocks, bug): a repro on try.discourse led to a plugin-side fix; martin linked the PR resolving the behavior. read more
Try Discourse demo sending “account no longer on hold” PMs (Support): users noticed repeated automated PMs and an “empty” demo state; david linked the fix and noted it was deployed to try.discourse.com. read more
Delete category button is more prominent than Save (categories, ux): chapoi suggested moving “Delete category” into a clearer “Danger zone” and restricting it to an appropriate tab; lindsey agreed the placement felt odd across every tab. read more
Nested replies: root post is too narrow on mobile (nested-replies, Support): feedback that the OP becomes cramped when rendered with the same left-avatar indentation as replies; Falco agreed the author block should shift above (flat-topic style) for readability. read more
Tags & Tag Groups deserve a more visible place in the admin menu (tags, tag-groups, ux): RGJ argued that tags/tag groups feel “accidentally discoverable” and should be surfaced more directly in the new admin navigation under Content. read more
Why does the Reply button have a background transition effect? (ux): a deep-dive into a subtle hover animation inconsistency; awesomerobot explained it’s a legacy behavior intended to draw attention to the hovered reply control and is now “up for debate.” read more
Category “new content” indicators (“pastille”) (Support): gilles asked why categories don’t always show a “new/unread” marker on category-focused homepages; awesomerobot noted it exists in some UI surfaces (like the sidebar) but not others. read more
Hide admin user from user-directory and top contributors (user-directory, Support): a nuanced thread on why /u?exclude_groups=admins behaves differently for anon users when group membership is hidden; david explained the security model tradeoff, and the OP shared CSS workarounds to hide specific rows for anon. read more
AI Translation setting changed: “Translatable categories” → “Excluded categories” (ai, dynaloc, Support): Sara_Carmona_y_Lladó asked how scope and costs are determined; Moin explained the migration logic and suggested Data Explorer queries to audit translation volume. read more
Secondary Email Address missing (Support): JDParker couldn’t add a second email; the resolution was that email_editable (or auth overrides) can hide the UI entirely. read more
Change “click here” in email digest footer (Support): newbit1337 couldn’t find the string; awesomerobot pointed to the specific i18n key (user_notifications.digest.click_here) and where it is composed into the final digest template. read more
TooManyRecipientsError when emailing a group alias (email, Support): pHneutre found inbound mail rejected when a group alias expands beyond default recipient limits; chapoi connected it to anti-abuse settings and the relevant site setting threshold. read more
Matrix protocol bridge for chat (revived with an LLM-built prototype) (chat, #contribute:feature): pmusaraj shared a proof-of-concept Discourse↔Matrix chat bridge; testing quickly surfaced TL0 chat access defaults and federation/room visibility gotchas. read more
Extending chat message blocks (plugin API request) (chat, plugin-api, development): Anton_Akhmerov proposed making chat “blocks” extensible so plugins can register new structured card types (instead of hacking internals or relying on Markdown). read more
AI Tools Test Runner: HTTP/HTTPS port behavior (rest-api, ai, Support): Falco clarified current behavior: only HTTP→80 stays HTTP; other ports default to HTTPS, which can surprise when testing http URLs. read more
Theme import UX: misleading “branch” input (ux): david added clarity so admins can see both the installed branch and the resolved target branch during theme updates, reducing d-compat vs main confusion. read more
Avatar frame plugin effort (frames like Discord Nitro) (Support): an old “where can I find avatar frames?” question turned into a new plugin share—asa built and published a WIP avatar frames plugin and offered to share it with the community. read more
Modernizing the Foundation theme continues (#Announcements): Moin posted a dense set of UI consistency observations (borders, spacing, truncation). jordan.vidrine confirmed what’s intentional and linked a PR that will address the remaining items. read more
Shared an early, highly experimental preview of the redesigned dashboard and collected feedback on which admin KPIs should be configurable per community (admin dashboard preview, plus follow-up questions in post 4).
Confirmed livestream is now integrated into Events (with hosted plan notes and migration behavior) in the formal announcement (livestream merge).
Backed a UX improvement proposal to move destructive category actions into a clearer “Danger zone” section (delete category UX).
Helped explain the reasoning and definitions behind “unified new” and the New / Unread / Unseen confusion, including how the new labels aim to reduce cognitive load (unified new explanation).
Shipped multiple quick UX/bugfix responses across core and official components, including:
Clarified gaps in Events reminder behavior and discussed what “email reminders” could look like if aligned with notification-email preferences (event reminder email feature discussion).
Flagged that discobot’s answer about “censored usernames” was incorrect, clarifying that watched/blocked/censored words do not apply to usernames and reserved usernames is the current option (with admin exemptions) (censoring names clarification).
Investigated odd behavior on try.discourse daily restores after reports of repeated “account no longer on hold” PMs (try.discourse restore suspicion).
Provided structured troubleshooting guidance for a “notifications not happening” report and emphasized updating a very out-of-date install as a likely fix path (notifications troubleshooting).
Helped a free hosted customer regain admin access by re-authing via Discourse ID (free plan admin access).
Announced “unified new” becoming the default topic-list behavior via Upcoming Changes, including screenshots and rollout mechanics (unified new announcement).
Disabled Boosts on Meta temporarily and set expectations that it will return after more cohesive design work across likes/reactions/boosts (Boosts paused, and later reassurance in post 90).
Fixed an issue in the Right Sidebar Blocks plugin by linking and merging the relevant PR (sidebar tags block fix).
Confirmed an “Upcoming Changes notification for a hidden change” is a bug and agreed it should be fixed (upcoming changes notification bug).
Redirected “when will Foundation update everywhere?” support traffic to the canonical modernization thread and described the lifecycle from Upcoming Change → stable → permanent (Foundation rollout guidance).
Shared implementation nuance around group permissions in themes/components, noting currentUser?.groups is not reliable because it only includes visible groups (group visibility nuance).
providing the fix PR for an events sidebar label regression (“New Topic” vs “New Event”) in Horizon (events sidebar label fix).
Assisted with admin automation and email guardrails by diagnosing why group aliases can trigger TooManyRecipients rejections and pointing to the site setting involved (TooManyRecipients deep dive).
Supplied a working SQL pattern to tie SQL-triggered badge grants to a specific topic/post (post_id), solving the “link badge to a topic id” question (badge SQL pattern).
Started a thoughtful discussion on enterprise community ownership models—whether community should sit under Marketing/Support/Product or be autonomous—and engaged replies about mandate, boundaries, and member-first decision-making (community ownership models).
Explained the strategic rationale behind Discourse’s free plan as a freemium acquisition tier that often behaves like an indefinite trial and a pathway to retention (free plan rationale).
Answered “what’s the point of primaries?” by quoting canonical purposes (styling, flair, identity, default title) and linking to a reference explanation (primary groups purpose).
Noted weekend timing expectations on a nested replies support thread (“you caught us on the weekend”) while the report awaited deeper technical follow-up (nested replies support timing).
Teased upcoming “Workflows” as a major leap for automations (triggers/actions/flows) in a community building automation discussion (workflow hint).
Announced the migration of GIF support into core using Klipy, with clear instructions for hosted vs self-hosted customers and a roadmap for improving migration scripts over the next couple weeks (GIFs to core announcement).
Followed up on migration details like mapping provider settings (Giphy → Klipy) and potential updates to handle disabled_image_download_domains and translation overrides (migration follow-up).
Responded to nested-replies ad layout issues and documented why prior attempts didn’t fully solve it, then provided the concrete PR links that address spacing/placement in the correct component (ads + nested replies).
Confirmed content localization language switching requires cookie-based locale selection (per the docs) when a user reported the switcher “does nothing” (content localization cookie requirement).
Agreed the nested replies mobile OP layout should be adjusted so author info moves above (not beside) the opening post (OP width on mobile).
Clarified current limitations/behavior in the AI Tools Test Runner around protocol/port assumptions (HTTP only on port 80; others default to HTTPS) (AI tools runner behavior).
Engaged in the dashboard redesign thread (and GIF-based levity) while signaling that KPI customization is on the horizon but not immediate (dashboard thread participation).
Confirmed improvements to AI-generated tag translations on Meta after a thorough report, noting that the provided list made it straightforward to fix quickly (tag translation improvements).
Acknowledged a tricky content-localization edge case where interface language and translated content language can drift across tabs, and indicated it may be a quick fix (language mismatch report).
Confirmed the team is looking into broken category links/mentions resulting from category/subcategory structure changes and rebakes (category link breakage acknowledgement).
Confirmed a bug report about translated post links not using the translated language is on the team’s radar (translated links bug).
Helped clarify the security model behind hiding group membership and why anon users can’t reliably use exclude_groups without leaking membership data—while also acknowledging configuration realities (open registration vs invite-only) (exclude_groups explanation).
Delivered the fix that stopped try.discourse from spamming “account no longer on hold” PMs and confirmed deployment (try.discourse fix + deploy note).
Investigated CI bootability test failures with SKIP_DB_AND_REDIS and worked through reproduction attempts and environment knobs with reporters (CI bootability troubleshooting).
Improved theme import UX by adding visibility into what branch is truly installed vs what branch will be targeted during update checks (theme branch UX PR).
Confirmed Discourse hosted Free is available and pointed users to the official pricing page when asked whether free hosting exists (free plan confirmation).
Fixed RSVP/calendar behavior where “My events” could show every upcoming occurrence even when only RSVPing to the next one, and linked the PR for the correction (My events calendar fix).
Addressed a PDF preview regression by identifying inconsistency between S3 and non-S3 storage and linking the PR that standardizes behavior (PDF regression fix).
Fixed user-directory search inconsistencies for custom fields by aligning the relevant code paths, after a regression report (directory search fix).
Pointed to a just-landed fix for the recurring events localization string issue and advised updating to pull it in (recurring localization fix pointer).
Thanks for reading, and I’ll see you again next week!
Support communities seeing a “drastic drop” in engagement? A thoughtful thread on whether LLMs are displacing peer-support patterns, and how communities might shift toward belonging, events, and human-to-human value — read more
Forums that forbid AI/LLM-generated content: what policies actually work? Practical moderation patterns emerged (policy clarity, case-by-case enforcement, and where “AI content” overlaps with spam) — read more
Triggering UX/help based on a search keyword (theme vs workflows)? A discussion about whether search terms could become workflow triggers (with performance considerations) — read more
#Announcements
AI Helper suggestions moved inline in the composer (ai, ux): category/tag suggestions now integrate directly into the chooser UI to reduce “ask → wait → choose” friction — read more
Redesigned admin dashboard: testing + early feedback (dashboard): guidance on previewing via Upcoming changes, plus questions on custom Data Explorer chart formats and traffic/country calculations — read more
Unified topic list view: parity/edge-case UI feedback (ux): an issue noted where a “New” link opened the wrong tab in the new topic list layout — read more
Hover-to-preview larger emoji (especially custom emoji) (emoji): a request inspired by Discord interaction patterns, with a “totally unofficial” theme component prototype shared — read more
Event (calendar) UX issues: link targets, composer extensibility, and advanced settings quirks (calendar-and-events): a detailed list of friction points (including missing plugin outlets) — read more
Event email notifications feel “too lean” without the description (email, calendar-and-events): request to include event description in notification emails (not just post body) — read more
More recurrence options requested for events (calendar-and-events): “every 3rd week” and “xth weekday every other month/quarter/etc.” suggestions — read more
“Delete category” button more prominent than “Save” (now fixed) (categories): UI polish to reduce foot-gun risk — read more
Feedback wanted: sidebar topic-feed userscript → theme component/plugin/core? (chat, ux): a compact topic feed inside the sidebar to reduce tab overload and resource usage — read more
#contribute:feature
Android share target support for Discourse PWA (pwa): revisiting an older feature request now that Chrome supports PWAs as share targets, including UX expectations and a prototype PR — read more
Optionally allow other groups to open/close topics: a request aimed at delegating timer workflows without granting full mod/admin permissions — read more
“Simple mode” in doc categories: show all replies after posting (doc-categories): a UX request to avoid the “flash then hide under ‘Show comments’” effect — read more
Site setting type: group implemented (after being “never really implemented”) (completed): a neat example of docs/expectations mismatching reality, resulting in a quick core improvement — read more
Large polls: users can’t return to amend votes (polls): a bug affecting large/long-lived polls where the “< Vote” button misbehaved; fixes landed in two parts — read more
Who closed the poll? (audit trail + UI attribution) (polls): poll closure is now stored/logged and shown directly on the poll for accountability — read more
Event custom fields: dashes/periods crash advanced settings, uppercase fields don’t persist (calendar-and-events): field name normalization and validation fixes — read more
Error creating events due to a “trust_level_0” edge-case (calendar-and-events): an unusual collision between a test username and event group-name validation; guard added — read more
Transparent PNG uploads getting a background (bug): PNG→JPG conversion side effects and workarounds, with follow-up improvements to avoid the workaround in future — read more
Backup restore fails due to duplicate rows blocking a unique index rebuild (backups): deep debugging guidance (cleanup + reindex) helped unblock a multi-year upgrade path — read more
Login dialog offers auth providers that “aren’t enabled” (tabs UI gotcha): a self-host admin confusion resolved by finding the right “Social logins” tab/scroll location — read more
S3-compatible uploads failing with Cloudflare R2 (s3): troubleshooting endpoint/CDN URL formatting and bucket naming — read more
Search misses words split by inline HTML tags (e.g., <strong> + <sub>) (search): an example where indexing tokenization breaks expected queries after WordPress imports — read more
ActivityPub plugin disabled on Meta (maintenance mode elsewhere continues) (activitypub): rationale shared (low usage + UI confusion), alongside a reminder to update for security fixes — read more
Connected a sharp user-visits dip to Google Search’s May 2026 core update (helpful for anyone debugging “sudden drops”) — read more
Clarified how to opt into the redesigned dashboard via Upcoming changes (dashboard) — read more
Noted improved date-range chart heuristics (with credit to community feedback) (dashboard) — read more
southpaw reignited and shaped a long-requested mobile workflow:
Reopened the Android share-target discussion with concrete UX flow ideas (new topic/reply/PM options) (pwa) — read more
Bas helped steer early diagnostic questions in the engagement decline thread:
Asked for specificity on which metrics were actually falling (pageviews/topics/active users), keeping the discussion grounded (Community Building) — read more
pmusaraj provided a key platform decision update and nudged mobile work forward:
Announced that ActivityPub is disabled on Meta (while plugin support continues elsewhere), citing confusion/low usage (activitypub) — read more
Confirmed PWA share-target support could extend to the Discourse Hub app (separate process, but on the radar) (pwa) — read more
Thanks for reading, and I’ll see you again next week!
Discourse shared a monthly roadmap update in #announcements with Current Projects - June 2026: nested replies progress, theme “blocks” work, and more read more
Chat got a new UI for reaction attribution (hover / long-press to see who reacted) in #announcementsread more
Livestream creation in Events got simpler: it’s now a toggle + URL (no more livestream tag) in #announcementsread more
Multiple calendar/event fixes landed quickly, including unlisted-topic events leaking into calendars (now fixed) read more
AI + localization feedback kept rolling in: translation progress reporting concerns read more, plus questions about fallback locale behavior read more
Interesting Topics
#announcements
rishabh posted Current Projects - June 2026 covering what Discourse is building next (including theme “blocks” work and ongoing nested replies refinements), with early questions about documentation and experimentation entry points read more
davidb introduced a new chat reactions popup so you can see all users who reacted (and filter by reaction type), currently rolled out as an experimental upcoming change read more
awesomerobot announced that Livestream is now an optional toggle on event creation (URL-driven, with migration for existing livestream-tagged topics) and outlined the developer-facing API changes read more
#self-hosting
A surprisingly heated thread on installing plugins without third-party hosts ended with practical options: mounting host volumes into /plugins for local deployment, or copying code via rsync/cp instead of git cloneread more
A self-host admin asked if they could disable Discourse updates after plugins broke; the core takeaway was that ./launcher rebuild appis the update mechanism, and pinning requires using a fixed ref (branch/tag/commit hash) with real support/security tradeoffs read more
After migrating avatars to S3-compatible Cloudflare R2, Lilly dug into why avatars could take 3–4 seconds to load, including on-the-fly resizing vs. avatar_proxy behavior that can bypass CDN expectations read more
A Business-plan misconception got clarified: Discourse is GPL and self-hostable without a plan, and core features like SSO + gamification are available self-hosted too read more
A self-hoster trying to use internal AI endpoints (LiteLLM) ran into SSRF protections (FinalDestination::SSRFDetector::DisallowedIpError) and explored the subtlety of DISCOURSE_ALLOWED_INTERNAL_HOSTS needing hostname vs. IP depending on the URL used read more
A French-language report said Ask Discourse responses felt worse recently; staff confirmed a model switch to a locally-hosted open-weights model (“DeepSeek v4 flash”) optimized for troubleshooting rather than development use cases read more
“Mail jobs are failing” turned out to be a CSS-in-email issue: pseudo selectors like a:visited can break CSS inlining (Nokogiri errors), so email CSS must avoid selectors that can’t be inlined read more
A “Where did banner topics go?” question was solved: banner topics still exist, but can’t be used in non-public categories since banners are global to all users read more
A Discourse Embed configuration confusion boiled down to definitions: discourseUrl is the forum, discourseEmbedUrl is the host page where the embed lives (and must be a real canonical page) read more
A regression where the “New Topic” button doesn’t re-expand its text label after resizing between desktop/mobile views was quickly reproduced and patched via core PR read more
UI polishing: the Dismiss dropdown had weird spacing/cutoff behavior across themes, likely related to modernisation changes impacting an intentional design choice read more
Multiple reports landed about AI title/icon overlap when editing topic details (stacked icons / mispositioned title-suggest button), with cross-links to the underlying composer AI integration work read more
#feature
A hosted Pro customer asked for external video storage (Mux/Vimeo/YouTube); the conversation mapped the constraints (no custom plugins on Pro) and explored possible workarounds, including brokered uploads via Workers as a secure token-hiding layer read more
A request to bring “Flag post” into Full-App Embed got a positive response: embed mode intentionally hides actions to fit diverse host sites, but flags may be worth restoring (possibly configurable) read more
Localization admins asked for better control over fallback locales (e.g. “serve English to unsupported languages even if default is Finnish”), and staff confirmed fallback locales aren’t supported yet read more
Nested replies + email replies initially looked like posts were “missing” or mis-threaded; updating resolved the observed behavior, reinforcing how fast nested replies is evolving and how version labeling can mislead admins read more
A long-post editing bottleneck (timeouts saving ~100k-char edits due to diff complexity) is now mitigated by a “diff too complex” fallback, preventing hard failures while preserving revision behavior read more
A subtle encoding regression: the Oops page displayed HTML entities like ’ in popular-topic titles instead of proper punctuation read more
Calendar privacy bug: events from unlisted topics were still visible on the calendar; a fix was shipped promptly after the report read more
#data-and-reporting
AI translation admins asked why the translation progress graph looked “stuck” or misleading; caching was introduced due to timeouts on large sites, and the two-stage process (language detection → translations) is creating real onboarding confusion read more
#site-feedback
Meta discussed whether Contribute > Feature should remain a mixed space (open-ended product discussion and vote-driven proposals), or whether conversation should move/expand into other categories like UX to reduce “close-as-done” pressure read more
A localization rendering bug: avatars in quotes break in translated posts, with an example thread showing the issue across multiple languages and quote-heavy topics read more
#plugin (and #theme-component)
Feedback on Discourse Reactions focused on reducing friction: “click to join an existing reaction like Slack/Discord”, better discoverability for emoji categories, and whether “frequently used” should be per-account rather than per-browser read more
Theme component maintenance continues: Topic List Thumbnails received a fix update, and users shared CSS approaches for hiding fallback thumbnails on mobile for image-less topics read more
Helped close the loop on “no third-party plugin hosting” by pointing to volume mounts into the container’s plugins directory as a viable local workflow read more
Clarified that Discourse doesn’t auto-update itself—./launcher rebuild app is the primary update path—and discussed the realities of pinning Discourse while keeping plugins compatible read more
Continued troubleshooting around internal AI endpoints and SSRF protections by emphasizing correct allowed-host configuration (hostname vs IP expectations) read more
Explained why the AI translation progress graph can mislead early on (caching + language-detection stage not shown) and suggested tuning backfill rates according to budget read more
Answered why topics translate “faster” than posts given similar batch sizes and post volume per topic, and how to adjust max-age/backfill rate to reduce the gap read more
Confirmed self-hosting + feature availability: SSO and gamification are core and available without paid plans when self-hosting read more
Set expectations for SEO + nested replies: crawler rendering recently returned to flat content, but a nested-aware crawler view isn’t prioritized yet read more
Marked an AI summarize edge case as #wontfix: HTML comments can be included in summaries, and preprocessing tradeoffs aren’t worth it (admins can tweak prompts instead) read more
Resolved confusion about embed configuration by clearly distinguishing discourseUrl vs discourseEmbedUrlread more
Shipped a quick fix for the responsive “New Topic” button label not returning after viewport changes read more
Explained composer behavior around post voting: category “Ideas” controls defaults, but post voting remains sitewide, and provided a theme-component snippet to hide the toggle outside Ideas categories read more
Solved a support mystery: banner topics still exist, but they require the topic to be in a public category (no restricted group permissions) read more
Diagnosed Sidekiq email failures as an email-style CSS pseudo-selector issue (a:visited) that breaks CSS inlining read more
Steered translation users toward Discourse AI as the preferred path going forward (translator plugin is maintained for bugs/security, but no longer the recommended approach) read more
Posted fixes-in-flight for Event UX issues (image behavior + consistent advanced-mode toggles) read more
Clarified how to identify/disable various install app / PWA banners, including the native_app_install_banner setting in the relevant case read more
Announced two notable product improvements: chat reaction user list popupread more and Livestream as an event attributeread more
Updated and maintained theme components such as Topic List Thumbnailsread more
Jumped in early on the “local-only plugins” thread with pointers, then later called out tone drift and encouraged de-escalation while still keeping the thread solution-focused read more
Helped clarify confusing version labeling around nested replies (“2026.6.0-latest” not necessarily matching the changelog head), encouraging updates to resolve disappearing-thread issues read more
Investigated a Foundation modernization visual regression impacting button display, linked the core fix, and provided a workaround via Upcoming Changes toggles read more
Responded to UI feedback about the Dismiss dropdown spacing, noting it was originally intentional but possibly broken by modernisation work read more
Assisted with hosted-plan UI confusion around “upgrade options” and suggested alternate admin paths while awaiting the owning team’s follow-up read more
Confirmed Ask Discourse changed models recently (to a locally hosted open-weights model) and promised validation on quality regressions read more
Engaged deeply with translation reporting feedback and indicated improvements are planned, including better Data Explorer guidance read more
Discussed interface/content language settings direction, suggesting interface improvements and targeting near-term implementation read more
Helped explain fallback behavior for content localization (no fallback if disabled; “use English” implies setting default to English) read more
Asked for targeted diagnostics on an anonymous-access oddity on / when categories lead the top menu (status codes + safe mode + plugin elimination) read more
Addressed hosted video-upload constraints candidly (Mux integrations exist but aren’t planned for lower tiers) and pointed to storage add-ons as an alternative to tier upgrades read more
Pushed nested replies forward by discussing future configuration needs, like per-category settings for depth/capping to fit different discussion styles read more
Opened an important meta-level process discussion: where “open-ended product discussion” belongs now that Contribute > Feature is increasingly vote/closure oriented read more
Responded to requests around embed UI actions (e.g., reintroducing flagging), asking for rationale and constraints so embed can remain clean but functional read more
Adjusted category UX on Meta by changing Contribute > Feature default sort away from Votes to Activity to reduce disorientation read more
Continued iterating on nested replies, including clarifying how “in reply to post number” affects nesting and asking for better reproduction details when reports involved email replies read more
Announced a change to nested reply default settings (depth reduced, cap enabled) and discussed the longer-term direction (including eventual per-category customization) read more
Confirmed a long-post edit timeout scenario is addressed by the “diff too complex” fallback behavior, reducing server timeouts while keeping editing possible read more
Prioritized and merged a long-standing fix so word limits don’t break IME composition, improving usability for IME users read more
Marked a Shared Edits improvement as done (enabling broader access), linking to the shipped PR read more
Thanks for reading, and I’ll see you again next week!
بعض السمات المتكررة هذا الأسبوع (مع الأدلة): حالات الحافة في تخزين الكائنات/CDN (مثل توجيه الرموز التعبيرية المخصصة في #Bug)، تحسين تجربة المستخدم للمسؤولين (مثل رسائل التغييرات القادمة في #UX)، وإعدادات الذكاء الاصطناعي والحوكمة (من حدود التكلفة في #Announcements إلى "أخطاء" الترجمة في #General).
مواضيع مثيرة للاهتمام
#Announcements
حصل Discourse AI على حواجز مبنية على التكلفة (ميزود بالدولار، وليس فقط الرموز)، مما يسهل التحكم في الإنفاق عبر المزودين — انظر المزيد.
تم نشر إعلان إصدار يونيو 2026، مع روابط إلى إصدارات 2026.6 وإصلاحات التصحيح (2026.1.5 / 2026.4.2 / 2026.5.1) — المزيد.
يمكن للمسؤولين الآن مراجعة وإيقاف الحسابات "غير المفعّلة بعد" بشكل جماعي، مما يحسن الاستجابة لموجات التسجيل والتسجيلات المشبوهة — المزيد.
استمر تطور عرض قائمة المواضيع الجديدة الموحدة (وأثرها على DiscourseHub)، بما في ذلك النقاش حول قواعد الترتيب ومواءمة التطبيق/الواجهة — المزيد.
استمر الانتقال طويل الأمد للدعامات المتحركة (GIFs) في النواة في توليد أسئلة عملية للمسؤولين (ما الذي يمكن تكوينه، ما الذي مخفي وراء التغييرات القادمة، ولماذا يبدو الأمر محيراً) — المزيد.
أدى التحقيق الدقيق في تجاوز عناوين URL للرموز التعبيرية المخصصة لتوجيه CDN عند استخدام S3/R2 إلى إصلاح مدمج؛ كما كشف الموضوع عن أخطاء تكوين واقعية لـ Cloudflare R2 + CDN — المزيد.
أظهر تقرير أن الردود المتداخلة لم تحترم عرض "لون الموظفين / الرسمي"، مع تأكيد إعادة الإنتاج وتقييده لقوالب الردود المتداخلة — المزيد.
اكتُشف أن محرر النص الغني كان يزيل علامات الاقتباس داخل [wrap=theme-install-button ...] (مما يكسر التثبيت)؛ وتبع ذلك إصلاح سريع للنواة — المزيد.
كانت مقارنات مواقع الإصدار تضلل الناس بشأن عدد إصلاحات الأمان؛ تم شرح المشكلة كخلل في المقارنة وإصلاحها عبر تغيير في موقع الإصدار — المزيد.
واجهة Composer: يمكن أن يظهر قائمة "نوع المنشور" المنسدلة الجديدة خلف محرر Composer في تخطيطات الأجهزة اللوحية باللمس؛ تم مشاركة حل مؤقت لـ z-index وإصلاح مقصود — المزيد.
مآلات تغيير النطاق: يمكن أن تفشل شهادات Discourse ID بعد نقل اسم المضيف في الاستضافة الذاتية، مما دفع إلى نقاش حول تحسين تجربة المستخدم للمسؤولين وما يمكن أتمتته بأمان — المزيد.
واجه مستضيف ذاتي يغير النطاق discourse remap تصادمات مفاتيح مكررة في التحليلات + topic_links؛ تضمن الحل عمليات حذف SQL مستهدفة لإزالة الصفوف المتصادمة قبل إعادة تشغيل إعادة التعيين — المزيد.
حلقات تغذية راجعة AWS: حل موضوع واحد تنسيق نقطة نهاية webhook AWS SNS الصحيح بعد التجربة والخطأ (/webhooks/aws) — المزيد.
أبلغ مستخدمو Theme Creator عن انقطاع الخدمة (500 "Oops"); تم تتبع الحادث وتأكيد عودة الخدمة بعد دمج الإصلاح — المزيد.
سأل المسؤولون عما إذا كان Discourse يتصل بمزودي الذكاء الاصطناعي في الخلفية؛ الإجابة: نعم، اعتمادًا على الميزات المفعّلة (ملء الفجوات في الملخصات، التضمينات، المشاعر، إلخ) — المزيد.
#Self-hosting
أوضح دليل تقني عميق حول نشر عنوان IP للعميل الموثوق كيفية تفسير nginx داخل الحاوية للرؤوس وسلاسل الثقة، ولماذا يمكن أن يكون "تمرير XFF فقط" خطيرًا إذا تم تكوينه بشكل غير صحيح — المزيد.
تقارب عدة مواضيع حول معالجة "عنوان IP الحقيقي" بعد التغييرات في المنبع: ربط نقاش تراجع Cloudflare/IP بتقرير سلسلة الثقة والإعدادات الافتراضية الأكثر أمانًا — المزيد.
سؤال عملي "كيفية": تحرير تكوين nginx داخل Docker (خلف HAProxy) حصل على إجابة واضحة "لا تعدل الحاوية مباشرةً؛ استمر عبر app.yml"، بالإضافة إلى أمثلة set_real_ip_from عاملة — المزيد.
مخاوف أداء تخزين الكائنات: استكشف المستخدمون الذين ي-debug بطء تحميل الصور الرمزية بعد الانتقال إلى S3/R2 سلوك التخزين المؤقت، التوليد في الخلفية، وإشارة إلى إرشادات محدثة لتقديم الصور الرمزية — المزيد.
عُزيت فشل إعادة البناء إلى نقص ملفات tsconfigs/الحزم إلى حذف ملفات الإضافات الأساسية؛ كانت العبرة هي "تتوقع النواة وجود الإضافات الأساسية"، جنبًا إلى جنب مع PR لتقوية بحيث تفشل خط الأنابيب بشكل أقل كارثيًا — المزيد.
تم الإبلاغ عن إشعار المسؤول المعروض عندما يصبح التغيير القادم رسميًا بأنه مضلل؛ تم تحديد السبب الجذري ("تخطي إلى دائم كشف خطأ ارتباط") وإصلاحه — المزيد.
تجربة المستخدم للحواشي: يمكن كتابة ملاحظات التمرير المتداخلة ولكن لا يمكن الوصول إليها فعليًا؛ كان التخفيف المختار هو إزالة الحواشي المتداخلة لتجنب واجهة المستخدم المضللة — المزيد.
ملاحظات لوحة التحكم: لا تزال لوحة تحكم المسؤول المصممة حديثًا تظهر تحميلًا أوليًا بطيئًا مُدرَكًا ونقصًا في اللمسات النهائية حول مخرجات Data Explorer المثبتة مقابل الرسوم البيانية — المزيد.
#Theme component
حصل "الهوية الموسمية" على دفعة: تم اقتراح (ونمذجة) نهج مكون مصغر جديد لجدولة تغييرات الشعار باستخدام محولات قيم home-logo-image-url — المزيد.
أصدر Don Post Score، وهو مكون موضوع لعرض مقاييس التفاعل على المنشورات (مع طلبات لتوثيق الإعدادات) — المزيد.
أصدر Don أيضًا مكون YouTube PiP + مشغل قائمة تشغيل الموضوع؛ تبع ذلك نقاش حول التوافق المحتمل مع حالات استخدام البث المباشر/الفعاليات — المزيد.
حصل مكون Homepage Feature الرسمي على تحديثات حديثة، بما في ذلك تجارب مع أحجام الصور المتجاوبة—ثم عكس سريع بسبب طوابير مهام الصور المصغرة الضخمة، بالإضافة إلى إرشادات التنظيف — المزيد.
\n
حصل Versatile Banner على تحسين صيانة/أمان: الابتعاد عن اعتماد مستضيف صور خارجي طويل الأمد (imgur) نحو أصول مستمدة من الموضوع — المزيد.
sam طور حوكمة الذكاء الاصطناعي مع حواجز الذكاء الاصطناعي المبنية على التكلفة (المزيد)، وشارك في نقاش حول سلوك القائمة الموحدة في عرض New الموحّد (المزيد)، وأشار إلى قيود الأمان حول عرض العناوين في صفحات الأخطاء (المزيد).
loic نشر إعلان الإصدار الشهري ل يونيو 2026 ومؤشرات سجل التغيير (المزيد)، ثم تابع الارتباك حول بحث CVE وتوقيت الانتشار (المزيد).
nat شارك نصائح مكتشفة بشق الأنفس حول ترجمة الذكاء الاصطناعي + الفهرسة/SEO (وربط مقالًا من التجربة المباشرة)، بالإضافة إلى إصدار إصلاح لـ "خطأ" إعداد الترجمة (المزيد).
supermathie كتب دليل استضافة ذاتية مفصل حول معالجة سلسلة الثقة لعنوان IP الحقيقي (المزيد) وطبق هذا التفكير لمساعدة المتأثرين بتغييرات ثقة الرؤوس بعد الالتزامات الأخيرة (المزيد).
Falco ساعد في فك تشابك افتراضات التوجيه بين CDN والبرميل في موضوع الرموز التعبيرية المخصصة + S3/R2 (بما في ذلك تفاصيل تكوين "CDN مزدوج") (المزيد)، أوضح توقعات الدعم حول الإضافات التجريبية مقابل ESR في Resenha (المزيد)، واقترح كيفية تصحيح أخطاء ميزات الذكاء الاصطناعي من خلال استعلام ai_api_audit_logs (المزيد).
awesomerobot أجرى "مسح صيانة" واسعًا عبر نظام UX والموضوع: تم شرح منطق مقارنة إصلاحات الأمان في موقع الإصدار على مستوى عالٍ (المزيد)، تم فرز وتحليل تحليل سمات الالتفاف في ProseMirror/RTE وتوجيهه للإصلاح (المزيد)، تم توضيح أولوية إجراءات الكلمات المراقبة (المزيد)، وتم إصدار تحديثات متعددة لمكونات الموضوع (مثل تكرارات Homepage Feature: المزيد؛ Versatile Banner: المزيد).
chapoi قدم إرشادات تنفيذ عملية لعدة أسئلة تتعلق بالمسؤولين/التخصيص: بناء مُغير شعار مجدول عبر محولات القيم (المزيد)، التوصية بالنهج الحديث للصفحات الرئيسية المخصصة بدلاً من المسارات القديمة (المزيد)، التخفيف من سلوك الحواشي المتداخلة عن طريق إزالة الملاحظات المتداخلة (المزيد)، وإصدار إصلاح لتثبيت زر عنوان الذكاء الاصطناعي (المزيد).
mcwumbly أصدر أدوات المسؤول لمراجعة/إيقاف الحسابات غير المفعّلة (المزيد)، ناقش الإعدادات الافتراضية للاستضافة الذاتية للتغييرات القادمة ومقاييس تمكين التغييرات مبكرًا (المزيد)، ووضع توقعات حول جهد "التحميلات الآمنة في الدردشة" الذي لم يتم إعطاؤه أولوية بعد بينما يجمع تفاصيل التأثير الواقعي (المزيد).
martin استمر في الدفع على نظام "التغييرات القادمة": توضيح مكان وجود التغييرات "الدائمة" وتحسين الإرشادات حول /whats-new (المزيد)، الرد على تحذيرات "دائمة" محيرة متعلقة بـ GIFات ونوع البيانات الوصفية (المزيد)، والاستمرار في التكرار على سلوك قائمة المواضيع الموحدة ومواءمة DiscourseHub (المزيد).
pmusaraj ركز على صحة المنتج وعقلية المسؤول: تأكيد/إعادة إنتاج فجوة تنسيق الردود المتداخلة (المزيد)، وضع توقعات حول أعداد DiscourseHub ومقاييس البساطة (المزيد)، واقتراح تحسينات لسلوك حدود "اليوم الأول" في وضع Bootstrap عبر PR (المزيد).
Reporting window: 2026-07-12 → 2026-07-19 (7 days), based on the same kind of activity snapshot you can now explore via the redesigned admin dashboard discussions (see read more).
Key Stats
Total new posts:446 (last 7 days) — context: discussion around measuring/seeing these kinds of metrics continues in the redesigned dashboard thread (read more).
Total new topics:71 (last 7 days) — and “what belongs where” in admin continues to evolve, e.g. category tooling and admin UX changes (read more, read more).
Workflows gets a first look (workflows): lindsey shared a preview of a new visual builder designed to go beyond Automations for multi-step logic, delays, conditions, and external/AI actions — with docs evolving in parallel (read more, read more).
Admin category management page lands: A new /admin/config/category-management directory makes category type/visibility/relationships easier to audit, with quick follow-up UX tweaks discussed and PR’d (read more).
Inviting admins gets a safer + clearer flow (invites): keegan introduced a single-step admin invite path that grants moderator first, then admin after email confirmation — and the thread immediately explored “invite moderator vs admin” ergonomics (read more).
Solved badges now default-on for new communities (solved): A small but meaningful nudge toward recognition/healthy support loops, including answers about backfill behavior for existing solved posts (read more).
Email login codes (not magic links) arrive (login, signup): Discourse introduced a passwordless code flow that avoids in-app browser magic-link pitfalls and sets the stage for future passkey nudges (read more).
Discourse Free Plan announcement discussion: The companion thread for the Free Plan blog post captured early reactions and context around what’s included and what isn’t (read more).
#Hosted-Customers
What is “CDCK/MoM” in AI settings? (ai): Falco explained the hosted “Mixture of Models” router that picks open-weight models per task (summaries, embeddings, assistant actions) using AI credits (read more).
#Self-Hosting
Self-hosting vs managed hosting: the terminology trap (server-resources, hosting): A newcomer asked the “what does self-hosting actually mean” questions, and got a surprisingly thorough set of answers on VPS vs home hardware, maintenance expectations, and trade-offs (read more).
“After the update… forum not functioning properly”: A classic post-upgrade failure mode (migrations/theme cache) was diagnosed quickly with rebuild + migrations guidance, and the OP confirmed success (read more).
Real IP handling changed through proxies (solved): A reverse-proxy setup stopped attributing real client IPs correctly, and the fix shifted toward set_real_ip_from / chain-of-trust configuration (read more).
A beginner’s VPS install “process with FAQs” (live thread) (install, domains, email): A step-by-step build log is forming around ordering DNS/SMTP/domain decisions, with warnings about trying to solve SSO too early and reminders about backups/responsibility (read more).
Wix logins + Discourse: “what are my options?” (openid-connect, discourseconnect): The thread hit two constraints at once — Discourse Free plan auth limitations and Wix SSO availability — pushing the discussion toward realistic integration paths and hosting plan choices (read more).
#Feature
Make inline PDF previews actually readable (pdf-previews): A request to improve the default embedded PDF usability turned into a wider discussion about click-to-open vs forced downloads, regression timing, and preview ergonomics (read more).
Exclude groups in /filter (topic-filter): A small but powerful enhancement request got a rapid core PR + merge, extending existing filter patterns cleanly (read more).
Per-category control for “who can accept solutions” (solved): A practical multi-tenant pattern emerged: public categories need strict “OP/mod/admin only”, but client-only categories may want “anyone in the client group can mark solved” (read more).
AI bot Retry duplicates posts in public topics (ai, ai-bot): The report highlights how “Retry” should regenerate in-place (like DMs), not flood topics with new bot replies — with a fix already underway (read more).
Translated/localized cooked HTML skips post_process_cooked hooks (affiliate, content-localization): A deep plugin-integrations bug: affiliate rewriting works on original cooked HTML, but not on translated cooked content — meaning lost commissions/rewrites per locale (read more).
Deleted posts still show full content when translation is enabled (ai, dynaloc): A serious “privacy/expectation” issue where translated views could continue rendering content after the author deletes the post in the original language (read more).
Numeric tags conflict/ambiguity in older URL forms (tags): An odd edge case where a numeric tag name like 2013 can collide with an existing tag’s ID-based route and resolve incorrectly (read more).
Keeping rebuilds running after SSH disconnects (nohup vs tmux): A pragmatic ops thread recommending tmux/screen over nohup so rebuilds survive session drops and can be reattached (read more).
Composer paste includes <span lang="…"> fragments (composer): A very niche (and very real) “pasting from rich scripture sites” problem: spans show up in the composer, and spacing/rendering becomes tricky — with core changes being evaluated carefully to avoid stripping intentional markup (read more).
Support forums seeing activity drops (AI + SEO + gating trade-offs): A wide-ranging thread debated “private-by-login” vs discoverability, the shift from “library value” to “coffee shop value,” and how to measure success in a world where AI consumes answers without sending clicks back (read more).
“Message from the future”: advice you’d send to your first-time admin self: A reflective prompt produced lots of “KISS principle,” “read the docs,” “don’t over-customize,” and “hire expertise when needed” wisdom (read more).
What’s the record for “most posts in a single topic”?: A fun (but performance-relevant) question revisited megatopic limits, real-world examples, and why Discourse defaults to auto-closing around 10k posts (read more).
#Plugin
Resenha voice rooms: SFU via LiveKit + QoL upgrades: The Resenha plugin continues maturing with optional SFU scaling, device pickers, mentionability, and layout controls — moving it closer to “serious community voice” territory (read more).
lindsey drove multiple product announcements and defaults: the early look at Workflows (read more), the official Workflows plugin topic + enablement detail (read more), and enabling Solved badges by default for new communities (read more). She also extended the “default-on badges” approach to Topic Voting badges in the ongoing improvements thread (read more).
Falco focused on AI and hosted-customer clarity: explaining CDCK/MoM routing and credit usage (read more), addressing the AI-bot “Retry duplicates replies” bug with a fix PR linked from the report (read more), and clarifying Gemini embeddings compatibility (AI Studio vs Vertex/Enterprise endpoints) in a solved support thread (read more). He also posted substantive Resenha plugin updates around SFU scalability (read more).
awesomerobot shipped fast iterations across core and theme components: implementing exclude groups support in /filter with a quick PR + merge (read more), explaining trade-offs in the support-forum activity debate (SEO visibility vs gating) (read more), and taking on the mobile breakage in Custom Top Navigation Links with refactoring work (read more). He also triaged upstream dependency constraints for FullCalendar icon font warnings (read more).
martin continued the “admin information architecture” push: announcing the new Category management page for visibility and type-based filtering (read more), and implementing improvements to granular group-based permissions (including follow-up PRs) in the longer-running permissions announcement thread (read more, read more). He also engaged in cleanup and communication around the GIFs-to-core transition and related admin warnings (read more).
chapoi landed multiple UX and standards-alignment improvements: merging the Horizon theme mobile padding fix for PM small-actions (read more), giving a clear CommonMark-based explanation for <div> HTML block parsing (and why blank lines matter) (read more), and improving “First reaction” badge copy so admins can reduce confusion (read more). He also continued to defend the dashboard/navigation trade-offs with admins who want “version info” front-and-center (read more).
david tackled developer-facing maintenance churn: improving how Discourse handles theme-component compatibility metadata and warnings (read more), providing clear guidance on end-of-life theme components (e.g., “desktop/mobile view” switching no longer being a thing) (read more), and publishing deprecation timelines for .hbs and .js.es6 in themes/plugins (read more, read more). He also helped diagnose a nasty “everything broken after upgrade” theme compiler issue with a console-based cache reset (read more).
zogstrip pushed a steady stream of “small but sharp” fixes: repairing Topic Voting’s notification prompt when vote limits are disabled (read more), fixing upcoming-events behavior around subcategory filtering (read more), addressing tracking/watching regressions around small post actions (read more), and fixing localized/translated cooked processing so plugin hooks (like affiliate rewriting) apply consistently (read more). He also explained the practical limit of “fixing” IMDB oneboxes when a WAF blocks scraping, focusing instead on improving the user-facing error message (read more), and queued a fix for S3 multipart backup upload failures (read more).
pmusaraj supported signup/login and admin-facing bug triage: clarifying why email code login flows avoid in-app browser issues (and teeing up future passkey nudges) (read more), reproducing and fixing the avatar selector crash with selectable avatars (read more), and outlining the “why” behind Discourse ID (reduced admin auth maintenance, future centralized account controls) (read more).
mcwumbly leaned into product direction + configuration granularity: probing the real-world use case for per-category “who can accept solutions” and affirming the broader move toward category-level building blocks (read more, read more). He also validated the usefulness of excluding groups in /filter from a UX standpoint (read more) and pushed on URL semantics that would avoid numeric tag ambiguity for backward compatibility (read more).
keegan delivered the improved admin-invite experience and explained the onboarding/security rationale behind “moderator first, admin after confirmation” (read more).
Thanks for reading, and I’ll see you again next week!