Quando um usuário em staging existente entra no meu site, os dados dos campos personalizados do usuário preenchidos não são salvos

Tenho alguns usuários potenciais que têm dificuldade em se inscrever. Eles entram em contato com os moderadores por e-mail para obter suporte e, assim, criam uma conta de usuário intermediária.

Geralmente, o problema é facilmente resolvido, eles se inscrevem e preenchem todos os campos. Notavelmente, temos vários campos personalizados de usuário (UCFs) obrigatórios.

Notei que os dados do UCF nunca persistem no banco de dados para esses usuários intermediários. Eles, então, precisam ser contatados e gerenciados manualmente.

Posso contornar isso tendo um Assistente Personalizado coletando os dados em vez disso, mas o problema/bug subjacente provavelmente deve ser corrigido.

5 curtidas

Consigo reproduzir este bug e acho que devemos corrigi-lo.

  1. Crie um grupo que aceite e-mails de qualquer endereço de e-mail.
  2. Crie alguns campos de usuário personalizados.
  3. Envie um e-mail para o grupo configurado em (1) de um endereço de e-mail que ainda não esteja associado a uma conta no site, o que cria um usuário “staged” com esse endereço de e-mail.
  4. Crie uma conta usando o mesmo endereço de e-mail do usuário “staged”.
  5. Quando solicitado, preencha os campos do usuário.
  6. Vá para o perfil do usuário e veja que os campos do usuário não estão preenchidos.

Quando você cria uma conta usando um endereço de e-mail que ainda não está conectado a um usuário “staged”, os campos de usuário personalizados são preenchidos como esperado.

5 curtidas

Estou tentando depurar este problema, mas depois de um tempo, ainda não consigo reproduzi-lo.

Eu testei em uma instalação limpa. As únicas configurações alteradas são:

  • pop3 polling enabled
  • pop3 polling host
  • pop3 polling username
  • pop3 polling password
  • email in.

Eu fiz o seguinte:

  1. Criei um novo grupo, definindo apenas o nome e o “Endereço de e-mail de entrada personalizado”. O grupo permite e-mails de qualquer endereço de e-mail.

  2. Criei vários campos de usuário personalizados. Tentei os tipos “Campo de texto”, “Confirmação” e “Lista suspensa”. Testei campos obrigatórios e opcionais, e campos editáveis e não editáveis.

  3. Enviei um e-mail para o endereço do grupo de um novo endereço de e-mail. Isso cria o usuário em estágio como esperado.

  4. Criei uma nova conta usando o mesmo endereço de e-mail que usei para enviar o e-mail anteriormente, preenchendo os campos personalizados obrigatórios.

  5. O usuário em estágio é convertido em um usuário normal, e os campos personalizados são salvos e presentes em u/user/preferences/profile.

Você ainda consegue reproduzir isso? Se sim, você tem alguma ideia do que pode ser diferente na minha configuração para produzir um resultado diferente?

4 curtidas

A única diferença óbvia é que nossa instância usa e-mail de entrada direto e tem um Mago Personalizado ativado quando eles fazem login pela primeira vez.

Vou testar a nossa novamente, bem como um site mais simples (também com e-mail de entrada direto) e reportar. Pode levar alguns dias, desculpe.

3 curtidas

Ainda consigo reproduzir o problema com os passos que forneci acima. Meu site também usa e-mail de entrada direto. É um site apenas para convidados, então enviei um link de convite para criar a conta. Para confirmar que o link de convite não é o problema, ativei o registro temporariamente para criar a conta. Mesmo problema - sem campos de usuário personalizados.

Você pode seguir os passos de reprodução mais uma vez e ter o máximo cuidado ao usar o modo anônimo ou um perfil diferente do Chrome ao enviar o e-mail e criar a conta de usuário?

3 curtidas

Pode muito bem ser que seja uma interação inesperada com o e-mail de entrada direto. Não me lembro de ter notado isso antes de implementar o e-mail de entrada direto, com certeza.

Se você ainda não consegue reproduzir, por favor, configure isso e tente novamente:

1 curtida

Também consigo reproduzir isso em nossa própria hospedagem, em um teste de plano empresarial. @jancernik procure por um convite em seu e-mail para que você também possa reproduzi-lo lá.

Em nossa hospedagem, você também precisa habilitar a configuração de administrador email in para que a configuração de grupo Custom incoming email address apareça. Isso me confundiu.

Screenshot 2023-05-10 at 7.08.05 AM

Além disso, o texto para esta configuração é confuso em nossa hospedagem porque nenhuma configuração adicional de manual ou polling pop3 precisa ser feita - funciona imediatamente. Eu o atualizarei.

Editar: Atualizei o texto nesta PR para simplificá-lo:

Permita que os usuários postem novos tópicos por e-mail. Após habilitar esta configuração, você poderá configurar endereços de e-mail de entrada para grupos e categorias.

2 curtidas

Para esclarecer, se email in estiver desabilitado, você ainda consegue reproduzir o problema na OP?

Você não pode seguir minhas etapas de reprodução na 2ª postagem acima sem habilitar o email in, pois isso inclui a criação de um usuário em estágio enviando um e-mail para o fórum para criar uma nova mensagem de grupo.

Mas você também pode reproduzir o problema sem o email in habilitado, enviando uma PM para um endereço de e-mail para criar o usuário em estágio, e depois se inscrevendo com esse endereço de e-mail. Acabei de testar.

2 curtidas

Algum progresso com isso?

Pergunto porque estou prestes a adicionar aproximadamente 100 pessoas como usuários em estágio. Elas eram inscritas em um boletim informativo externo existente por meio de uma lista de e-mails, mas pretendemos que este seja entregue por nosso site em vez disso.

Nossa esperança é que muitas delas se inscrevam também, mas isso será bastante complicado se seus UCFs não chegarem!

1 curtida

Está em nossa lista para resolver, mas provavelmente levará algumas semanas para solucionarmos.

3 curtidas

Temos uma correção aqui agora, graças a @daniel, via FIX: Staged user creation loses user custom field data by pmusaraj · Pull Request #22206 · discourse/discourse · GitHub

Você pode testar isso, por favor @tobiaseigen @nathank?

5 curtidas

Eu testei usando meus passos de reprodução acima e posso confirmar que isso foi corrigido! Bom trabalho! Esse foi complicado.

Tive um pequeno susto porque, na primeira vez que olhei o perfil como administrador, os campos não foram exibidos. Mas, após atualizar o navegador, eles apareceram. :sweat_smile:

6 curtidas