Como administrador, no puedo crear chats personales con otros usuarios.
Sin embargo, según la configuración del sitio, los miembros del personal siempre deberían tener la capacidad de crear chats personales.
Pasos para reproducir:
Establezca chat allowed groups en TL0 y direct message enabled groups en moderadores.
Como administrador, intente crear un chat personal con un usuario TL1.
Solución
Este problema está relacionado con el 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
Cuando un usuario intenta crear un chat personal, no debemos verificar si el usuario de destino tiene la capacidad de crear chats personales. En cambio, como se especifica en la configuración del sitio, debemos verificar si el usuario actual tiene la capacidad de crear chats personales.
Siempre que el usuario actual sea miembro de los grupos habilitados para mensajes directos o sea miembro del personal, debería poder crear un chat personal.
He enviado una solicitud de extracción para solucionar este problema:
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 Me gusta
Gracias @pangbo , acabo de fusionar la PR
Haremos una revisión más exhaustiva de esas configuraciones/opciones internamente para ver si nos hemos saltado alguna otra.
1 me gusta