بصفتي مسؤولاً، لا يمكنني إنشاء محادثات شخصية مع مستخدمين آخرين.
ومع ذلك، وفقًا لإعدادات الموقع، يجب أن يتمتع أعضاء هيئة التدريس دائمًا بالقدرة على إنشاء محادثات شخصية.
خطوات إعادة الإنتاج:
قم بتعيين chat allowed groups إلى TL0 و direct message enabled groups إلى المشرفين.
بصفتك مسؤولاً، حاول إنشاء محادثة شخصية مع مستخدم TL1.
الإصلاح
هذه المشكلة مرتبطة بـ PR #26010
# frozen_string_literal: true
module Chat
class ChatableUserSerializer < UserWithCustomFieldsSerializer
attributes :can_chat, :has_chat_enabled
def can_chat
SiteSetting.chat_enabled && object.guardian.can_chat? && object.guardian.can_direct_message?
end
def has_chat_enabled
can_chat && object.user_option&.chat_enabled
end
end
end
عندما يحاول المستخدم إنشاء محادثة شخصية، لا ينبغي لنا التحقق مما إذا كان المستخدم المستهدف لديه القدرة على إنشاء محادثات شخصية. بدلاً من ذلك، كما هو محدد في إعدادات الموقع، يجب علينا التحقق مما إذا كان المستخدم الحالي لديه القدرة على إنشاء محادثات شخصية.
طالما أن المستخدم الحالي عضو في المجموعات التي تم تمكين الرسائل المباشرة فيها أو عضو في هيئة التدريس، فيجب أن يكون قادرًا على إنشاء محادثة شخصية.
لقد قدمت طلب سحب لإصلاح هذه المشكلة:
main ← pangbo13:fix/staff-cannot-create-personal-chats
opened 05:57AM - 17 Apr 24 UTC
As an admin, I am unable to create personal chats with other users.

However, according to the site settings, staff members should always have the ability to create personal chats.

## Steps to reproduce:
1. Set `chat allowed groups` to TL0 & `direct message enabled groups` to moderators
2. As an admin, attempt to create a personal chat with a TL1 user.
## Fix
This issue is related to PR https://github.com/discourse/discourse/pull/26010
https://github.com/discourse/discourse/blob/df373d90fe9460b49aaa771e138aebf3f768c803/plugins/chat/app/serializers/chat/chatable_user_serializer.rb#L8
When a user attempts to create a personal chat, we should not verify whether the target user has the ability to create personal chats. Instead, as specified in the site settings, we should verify whether the **current user** has the ability to create personal chats.
As long as the current user is a member of the direct message enabled groups or is a staff member, they should be able to create a personal chat.
4 إعجابات
شكراً @pangbo ، لقد قمت للتو بدمج طلب السحب
سنقوم بمراجعة أكثر شمولاً لهذه الإعدادات / الخيارات داخليًا لمعرفة ما إذا كنا قد أغفلنا أي شيء آخر.
إعجاب واحد (1)