En tant qu’administrateur, je ne peux pas créer de discussions personnelles avec d’autres utilisateurs.
Cependant, selon les paramètres du site, les membres du personnel devraient toujours avoir la possibilité de créer des discussions personnelles.
Étapes pour reproduire :
Définissez chat allowed groups sur TL0 et direct message enabled groups sur modérateurs.
En tant qu’administrateur, essayez de créer une discussion personnelle avec un utilisateur TL1.
Correction
Ce problème est lié au 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
Lorsqu’un utilisateur tente de créer une discussion personnelle, nous ne devrions pas vérifier si l’utilisateur cible a la capacité de créer des discussions personnelles. Au lieu de cela, comme spécifié dans les paramètres du site, nous devrions vérifier si l’utilisateur actuel a la capacité de créer des discussions personnelles.
Tant que l’utilisateur actuel est membre des groupes autorisés pour les messages directs ou est un membre du personnel, il devrait pouvoir créer une discussion personnelle.
J’ai soumis une pull request pour corriger ce problème :
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 « J'aime »
Merci @pangbo , je viens de fusionner la PR
Nous examinerons plus en détail ces paramètres / options en interne pour voir si nous en avons manqué d’autres.
1 « J'aime »