هذا الموضوع مرفق بموضوع Granular group-based permissions for anonymous and logged in users ، وهو قيد التنفيذ.
لا تزال هناك بعض الأماكن في قواعد الشيفرة المختلفة للنواة، والإضافات، والسمات التي تشير مباشرة إلى مجموعة everyone أو معرف المجموعة (0) مباشرة، دون مراعاة هذا التغيير القادم، أو دون استخدام user.in_any_groups? أو طرق الحارس المختلفة المستخدمة للتعامل مع هذا.
للاسترشاق السريع، بعض معرفات المجموعات التلقائية:
0-everyone1-admins2-moderators3-staff4-anonymous_users5-logged_in_users
يخدم هذا الموضوع كمكان مركزي لتتبع الإصلاحات الخاصة بهذا النظام مع اقترابنا من النسخة المستقرة. لا يتم تتبع الإضافات والسمات المخصصة لعملاء Discourse هنا، سأكون لدي قائمة منفصلة داخلياً لهذا الغرض.
قضايا ذات أولوية عالية
قضية أثارها Moin:
- النواة
- حول -
apply_excluded_groupsيُستخدم فقط لإخفاء المشرفين والإداريين المحددين من المجموعات فيabout_page_hidden_groups. لا معنى لاستخدام الزائف مجموعات مثل0|4|5هنا، يجب إضافتها إلىdisallowed_groups. نحتاج أيضاً إلى تحديث وصف الإعداد لأنه مضلل.
- حول -
إضافات النواة
- Discourse Templates
-
can_use_private_templates?لا يزال يشير إلىeveryoneمباشرة ولا يستخدم الاختصار_mapفي إعدادات الموقع.
-
- Discourse AI
-
can_see_summary?في امتدادات الحارس لا يستخدمuser.in_any_groups?
-
can_attach?في AiBot::Playground لا يستخدمuser.in_any_groups?
-
addTopicAdminMenuButtonفيai-translation-topic-adminينظر إلىcurrentUser.groupsعلى العميل، وهو غير موثوق، يجب إجراء فحص على جانب الخادم لـcontent_localization_allowed_groupsبدلاً من ذلك
-
- Discourse Assign. هناك العديد من القضايا هنا.
- بدلاً من
user_ids_in_groupsفيAssignmentPermissions، يجب استخدامuser_ids_in_groups - يجب إضافة
0|4|5إلىdisallowed_groupsفيassign_allowed_on_groups، لا معنى لأي منها هنا، فقط المجموعات الملموسة هي التي تهم.
- بدلاً من
إضافات أخرى
- Activity Pub
- إزالة فحص
showStatusToUserعلى جانب العميل لـuser.groupsوفحصeveryone. تغييرactivity_pub_post_status_visibility_groupsليكون افتراضياً4|5.
- إزالة فحص
- Suggested Edits
user_in_suggested_edits_group?يحتاج إلى استخدامuser.in_any_groups?فيGuardianExtensions. إضافة1إلىmandatory_groupsفيsuggested_edits_review_groupsوإزالة الحالة الخاصة للإداري فيcan_review_suggested_edits_in_topic_list- إضافة
0|4|5إلىdisallowed_groupsفيsuggested_edits_review_groupsوsuggested_edits_suggest_groups، هذا الإعداد ليس مقصوداً حقاً لاستخدامه مع هذه الزائف مجموعات
- Resenha
- إزالة حل التلافي
untargetable_group_idsفيpublic_room_message_bus_targetsمنذ أن تم التعامل مع ذلك في FIX: Handle new pseudogroups in message bus group IDs (#42610) · discourse/discourse@699ad46 · GitHub - تغيير الافتراضي لـ
resenha_allowed_groupsمن0إلى4|5
- إزالة حل التلافي
السمات
المكونات
قضايا ذات أولوية منخفضة
- النواة
is_in_edit_topic_groupsفيTopicGuardianيجب أن يستخدم الامتداد_mapلإعداد الموقعRoleable#whisperer?يجب أن يستخدمuser.in_any_groups?ويتخلص من فحص الإداري، إضافة1إلى إعدادwhispers_allowed_groupsكـmandatory_values- إضافة
0|4إلىdisallowed_groupsلإعداد الموقعallow_solved_in_groups، هذا يتعامل مع الرسائل الخاصة فقط - إضافة
0|4|5إلىdisallowed_groupsلـabout_page_extra_groups، هذا مفترض أن يتعامل مع المجموعات الملموسة فقط في صفحة حول - ملاحظة في
can_view?لـPresenceChannelأننا بحاجة إلى إزالة فحصGroup::AUTO_GROUPS[:everyone]عندما ينتقل هذا التغيير القادم إلىPermanent
إضافات النواة
- Chat
- ملاحظة لـ
everyone_allowedفي أماكن مختلفة في منطق الانضمام/المغادرة التلقائي للدردشة وusers_with_unreadsلإزالة فحص:everyoneعندما ينتقل هذا التغيير القادم إلىPermanent - تحديث
chat_allowed_group_idsفيChat::Publisherلإزالة الزائف مجموعة الخاصة، كما في FIX: Handle new pseudogroups in message bus group IDs - Pull Request #42610 - discourse/discourse - GitHub يمكن لـ MessageBus الآن التعامل مع الزائف مجموعات بشكل صحيح
- ملاحظة لـ
- Assign
- التخلص من
add_model_callback(Group)في plugin.rb، إنه غير ذي صلة/شيفرة ميتة تنظر إلى أسماء المجموعات بدلاً من المعرفات
- التخلص من
إضافات أخرى
- Code Review
- فحص
can_review_code?علىcode_review_allowed_groupsلا يستخدم الامتداد_mapولا يستخدمuser.in_any_groups?. إضافة1إلىmandatory_groupsللإعداد والتخلص من الفحص الخاص للإداري في الحارس. إضافة0|4|5إلىdisallowed_groups.
- فحص
- Needs Love
- فحص
can_needs_love?علىneeds_love_allowed_groupsلا يستخدم الامتداد_mapولا يستخدمuser.in_any_groups?. إضافة1إلىmandatory_groupsللإعداد والتخلص من الفحص الخاص للإداري في الحارس. إضافة0|4|5إلىdisallowed_groups.
- فحص
- Staff Alias
- فحص
can_post_as_staff_aliasعلىstaff_alias_allowed_groupsلا يستخدم الامتداد_mapولا يستخدمuser.in_any_groups?. إضافة0|4|5إلىdisallowed_groups
- فحص