Plugin funcionando na instância local, quebrando na implantação

Olá! Esta é principalmente uma pergunta para o @angus, mas se alguém tiver alguma sugestão, ficaria muito grato!

Eu estava trabalhando em uma variação do @angus Topic Custom Field Plugin e o tinha funcionando como desejado na minha instância local do discourse (versão 3.4.0.beta3-dev). Assim que o instalei em nossa instância implantada do discourse (também versão 3.4.0.beta3-dev), algo estranho está acontecendo. Quando um usuário escreve uma nova postagem e insere um valor no campo personalizado, ele não o salva nem o renderiza quando o usuário faz a postagem. MAS se o usuário editar a postagem e, em seguida, adicionar a entrada, ele a salva e a renderiza. Isso me leva a crer que está quebrando em algum lugar nos conectores (presumivelmente o conector do composer), mas não consigo descobrir por quê, já que funciona perfeitamente na minha instância local. Tenho algumas expressões regulares que filtram as entradas, talvez isso possa ser o culpado? Quaisquer sugestões são muito apreciadas, Obrigado!

1 curtida

É difícil depurar isso de forma abstrata, então vou te dar alguns conselhos. A chave para descobrir a resposta para qualquer problema como este é o foco e o processo de eliminação. Comece descobrindo por que você consegue reproduzir o problema em produção, mas não em desenvolvimento.

  1. Os plugins e os temas são exatamente os mesmos em produção e desenvolvimento?
  2. Você está usando o mesmo tipo de usuário (admin, mod, etc.)?
  3. Você está realizando as ações no mesmo tipo de tópico?
  4. Você está realizando as ações na mesma velocidade?

Comece fazendo tudo o que puder para tentar reproduzir o problema em desenvolvimento, se de fato houver um problema. Concentre-se nisso até obter resultados ou descobrir por que é diferente em produção.

Além disso, parte do motivo pelo qual o plugin Topic Custom Fields não se destina ao uso em produção é que ele não possui testes. Sei que você não vai gostar de ouvir isso, mas você deve escrever alguns testes de aceitação para o comportamento do composer. Isso lhe dará uma resposta definitiva sobre se funciona em cenários específicos ou não.

1 curtida

Não tenho certeza se isso ajudaria, mas parece que o problema pode ser que o campo personalizado não está sendo configurado corretamente ao criar uma postagem.

Certifique-se de que você está atribuindo um valor padrão ao campo quando o editor for aberto.

Você também pode tentar desabilitar seu filtro regex temporariamente para verificar se ele está causando algum problema de validação. Por último, verifique novamente se o campo personalizado está realmente sendo incluído nos dados enviados durante a salvamento inicial.

2 curtidas