Eu li o tópico, Group trust level onde é dito,
Assim como este tópico mais antigo, Should losing group membership unlock trust level?
Onde a situação descrita em grande parte corresponde à minha experiência,
Mas, o que eu descobri na minha própria instância de teste do Discourse é isto…
Com todas as configurações de Nível de Confiança no padrão, tenho uma conta TL1 (U) e um grupo chamado tl3 que concede Trust_Level_3.
- Condições iniciais
- Nível de Confiança:
1: usuário básicoDesbloqueado - Grupos Automáticos:
trust_level_0,trust_level_1 - Grupos Personalizados: Nenhum
- Nível de Confiança:
- Adicionar U ao tl3
- Nível de Confiança:
3: RegularDesbloqueado - Grupos Automáticos:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Grupos Personalizados: tl3
- Nível de Confiança:
- Remover U do tl3
- Nível de Confiança:
2: MembroDesbloqueado - Grupos Automáticos:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Grupos Personalizados: Nenhum
- NOTA: Apesar de ter um nível de confiança 2, o usuário ainda está no grupo automático
trust_level_3. Com o entendimento de que um usuário não pode ser rebaixado para TL1 sem um nível de confiança bloqueado, o resultado esperado aqui é que o usuário perca imediatamente a associação ao grupo automáticotrust_level_2.
- Nível de Confiança:
- Bloquear o nível de confiança de U
- Nível de Confiança:
2: MembroBloqueado - Grupos Automáticos:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Grupos Personalizados: Nenhum
- NOTA: Apesar de ter um Nível de Confiança de
2: Membro, o usuário ainda está no grupo automáticotrust_level_3.
- Nível de Confiança:
- Desbloquear o nível de confiança de U
- Nível de Confiança:
1: BásicoDesbloqueado - Grupos Automáticos:
trust_level_0,trust_level_1 - Grupos Personalizados: Nenhum
- Nível de Confiança:
Portanto, ao cancelar a inscrição de um usuário em um grupo, o Nível de Confiança é recalculado automaticamente e instantaneamente, mas a associação ao grupo automático não é recalculada, a menos que o nível de confiança do usuário experimente um evento de desbloqueio.
Minha suposição é que as associações de grupos automáticos são computadas em todo o sistema para todos os usuários uma vez por dia e as associações de grupos automáticos serão retificadas nesse momento. Mas parece que as associações de grupos automáticos deveriam ser acionadas ao remover um usuário de um grupo com efeito de nível de confiança ou acionadas imediatamente após qualquer alteração no nível de confiança, não apenas em um aumento do nível de confiança.
Então, a chamada da API de backend para,
POST {{site}}/admin/users/{{userId}}/groups
atualiza as associações de grupos automáticos, mas
DELETE {{site}}/admin/users/{{usedId}}/groups/{{groupId}}
não o faz, o que parece um bug, especialmente se você estiver usando grupos automáticos de nível de confiança para controle de acesso.
E, para completar, obviamente as chamadas para,
PUT {{site}}/admin/users/{{userId}}/trust_level
que são invocadas ao alterar manualmente o nível de confiança de um usuário na interface de administração, imediatamente recompilam as associações de grupos automáticos como esperado.

