pangbo
Abril 17, 2024, 6:18am
1
Como administrador, não consigo criar chats pessoais com outros usuários.
No entanto, de acordo com as configurações do site, os membros da equipe sempre devem ter a capacidade de criar chats pessoais.
Passos para reproduzir:
Defina chat allowed groups para TL0 e direct message enabled groups para moderadores.
Como administrador, tente criar um chat pessoal com um usuário TL1.
Correção
Este problema está relacionado ao 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
Quando um usuário tenta criar um chat pessoal, não devemos verificar se o usuário de destino tem a capacidade de criar chats pessoais. Em vez disso, conforme especificado nas configurações do site, devemos verificar se o usuário atual tem a capacidade de criar chats pessoais.
Desde que o usuário atual seja membro dos grupos habilitados para mensagens diretas ou seja um membro da equipe, ele deverá ser capaz de criar um chat pessoal.
Enviei um pull request para corrigir 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 curtidas
Obrigado @pangbo , acabei de mesclar o PR
Faremos uma revisão mais completa dessas configurações / opções internamente para ver se perdemos alguma outra.
1 curtida