Um usuário administrador está enfrentando um erro estranho após atualizar o Discourse. O erro ocorre quando o usuário clica no botão voltar ou no logotipo do site. Parece acionar um JavaScript para ir para a raiz/início do site, mas, em vez disso, os seguintes erros são disparados:
Também descobri que isso acontece com qualquer clique na barra de navegação, como tentar acessar /admin, por exemplo.
Alguma ideia sobre como investigar isso mais a fundo? Não estou vendo erros no production.log ou em outro lugar, então isso tem sido um grande mistério, já que parece estar ligado ao JavaScript.
Ainda tenho encontrado becos sem saída na depuração até agora. Suspeito que o “Modo de Segurança” não esteja desativando completamente o JavaScript por causa disso… Existe alguma outra etapa que possa eliminar ainda mais o JS da funcionalidade para testes?
Seu site é acessível publicamente? Se sim, há alguma chance de você compartilhar um link? (Um MP funciona bem se você preferir não postá-lo publicamente)
Obrigado pelo link, @mreach. Não estou vendo nenhum problema óbvio por aqui.
Você mencionou que isso está afetando apenas um usuário no site. Você sabe se o problema se limita a um único navegador/dispositivo? Ou isso acontece com esse usuário mesmo quando ele faz login usando um dispositivo diferente?
Se for apenas um navegador/dispositivo, isso pode sugerir que um plugin do navegador (por exemplo, um bloqueador de anúncios) está interferindo no código do Discourse.
Se estiver afetando o usuário em todos os navegadores, então a situação é mais complicada. Você tem algum plugin de terceiros instalado no seu fórum? Também seria interessante saber o que o usuário configurou como sua “página inicial padrão” (encontrada nas preferências de “interface” do Discourse).
Obrigado — sim, eu tive basicamente os mesmos pensamentos. Pedi para eles desativarem todas as extensões e limparem todos os dados do navegador. Acabei de receber outro relatório de um usuário com o mesmo problema… E ambos estão usando o Chrome. Pedi para tentarem o Firefox e o Brave, e cada um disse que funcionou para eles lá, mas nada que fizeram parece fazer o Chrome funcionar “corretamente” novamente para eles. Perguntei a eles novamente sobre os resultados no modo Incógnito, e ambos relataram que o Incógnito FUNCIONA. Mais uma vez, tudo isso ocorreu após a última atualização do Discourse, então parece que algo não está sendo limpo no JS de alguma forma… O que realmente não entendo como poderia ser o caso.
Pedi a eles o que têm configurado como página inicial… Vou te avisar. Essa é uma ótima ideia que não tinha me ocorrido…
O usuário que tem o problema tem “Categorias” definido como sua página inicial:
Se ele mudar para outra, como “Mais Recentes” por exemplo, ele CONSEGUE carregar a página inicial clicando no logotipo do site E usando a seta “voltar” do navegador. Se ele mudar DE VOLTA para “Categorias” em vez de “Mais Recentes”, o problema/erro retorna.
Então, esse usuário também é administrador e, se/quando ele clicar no ícone de hambúrguer no canto superior direito e clicar em “Admin”, ele também recebe o erro relatado acima — mesmo quando a página inicial é alterada para “Mais Recentes” em vez de “Categorias”.
Claro, isso é uma informação nova, mas não totalmente útil, dada a minha perspectiva. Hmm.
Haveria alguma possibilidade de obter mais detalhes sobre esses erros? Eles deveriam ser todos expansíveis e, com sorte, incluir um pouco mais de informações sobre o erro.
Pode ser útil saber o que há nos ... ali. Se você clicar no pequeno triângulo à esquerda do log, ele deve se expandir para revelar mais informações. Uma cópia/colagem ou uma captura de tela disso pode ajudar.
Separadamente, você está vendo algum erro no lado do servidor (em /logs)? E você está executando a versão mais recente do Discourse?
Estou supondo que seu site não estava passando por manutenção deliberada no momento do erro? Nesse caso, deve haver algo errado com essa implementação/configuração de proxy. Para descartar isso, você consegue expor o Discourse diretamente nas portas 80/443? (de acordo com nossas instruções de instalação padrão)
Claro, é possível que um erro no Discourse esteja fazendo com que o proxy exiba essa mensagem. Mas é difícil diagnosticar isso sem saber o que o Discourse estava retornando. Talvez seu proxy mantenha registros das respostas do Discourse a montante?