Tentando acessar /tags gera um erro devido a conflito de palavras-chave

Quando tento acessar https://discourse.threejs.org/tags, recebo um erro:

No entanto, as tags estão habilitadas e funcionando, e consigo acessar tags individuais como https://discourse.threejs.org/tag/geometry sem problemas.

Alguém sabe o que está acontecendo aqui? Será que desabilitei a página de tags por engano?

2 curtidas

Existem algum addon ou plugin que valha a pena?

Na página de tags (no navegador), você tem muitos erros.

TypeError: o.setProperties não é uma função...

Erro ao processar rota: tags.index o.setProperties não é uma função TypeError: o.setProperties não é uma função

A situação persiste com o safe-mode.

Atualizei minha instância há um minuto e não há erros. Talvez algumas extensões (plugins) estejam interferindo?

1 curtida

Estamos usando a versão comunitária de código aberto, então temos uma limitação considerável em termos de plugins.
Veja como é a página de plugins:

Também instalei alguns temas e alguns componentes:

No entanto, tentei desativar os componentes e atualizar os temas, mas nada mudou.

Olá @looeee,

Sinto muito em saber que você está enfrentando esse problema.

Acessei seu site e dei uma olhada rápida para você, encontrando vários erros de JavaScript no console; porém, não consegui rastrear o erro do console até uma linha específica no código Ember/JS.

Para confirmar que se tratava de algo relacionado ao JavaScript, o que é bem fácil de fazer, visualizei seu site (a página de tags) com o agente de usuário definido como GoogleBot e consegui acessar a página:

Isso é um “tiro no escuro”, algo “só para ver”, mas pode levar você a algumas pistas.

Considere “desativar as tags” temporariamente nas configurações do seu painel de administração:

Screen Shot 2020-08-15 at 5.28.30 PM

Em seguida, navegue até sua página de tags como antes e atualize a página. Você deverá receber o erro padrão 404 do Discourse:

  • Oops! Essa página não existe ou é privada.

Se você não vir a mensagem “Oops! Essa página não existe ou é privada” após desativar as tags de tópicos, será uma surpresa interessante; mas acho que você verá.

Depois, volte às configurações de administração e reative as tags de tópicos, e atualize a página de tags novamente.

Estou apostando que você ainda verá a mensagem “Algo deu errado”, mas é fácil desativar e reativar, e ver se algo novo ou interessante aparece, o que poderia ser uma pista.

Espero que ajude.

1 curtida

Olá @looeee,

Você está enfrentando um problema raro devido a uma das suas tags constructor e algum código JS.

Vou implementar uma correção na segunda-feira. Enquanto isso, se for urgente para você, pode renomear a tag constructor para outra coisa ou excluí-la. /tags/constructor deve permanecer acessível.


Para uma história mais longa e técnica: em algum lugar do código, fazemos algo como:

const obj = {};
obj['constructor']

E, em vez de retornar undefined, isso na verdade retorna o método construtor do objeto Object.prototype.constructor - JavaScript | MDN, o que, obviamente, nosso código não esperava :sweat_smile:

6 curtidas

Doh! Haha, não posso dizer que nunca fiz coisas semelhantes antes. Obrigado por investigar isso para mim.

Parece que “constructor” foi um erro de digitação de qualquer forma — deveria ser “construction”. Só estava em um post, então eu o removi e, com certeza, a página /tags voltou a funcionar.

Obrigado pela ajuda rápida, muito apreciado :slight_smile:

EDIT: agora que consigo acessar as tags novamente, quero organizá-las e consolidá-las. No entanto, isso me lembra por que nunca faço isso. Assim que edito as tags de um post, mesmo que seja de vários anos atrás, ele volta para o topo da lista. Se eu editar várias tags de uma vez, o que quero fazer a cada poucos meses, isso interrompe completamente todas as discussões ativas, pois elas ficam soterradas pelos posts re-tagados.

Existe alguma maneira de eu, como administrador do site, editar as tags ou, de outra forma, editar um post que afete sua posição na lista?

2 curtidas