Erro do Handlebars para 2.9.0.beta2 com o conector above-site-header.hbs

Olá,

Temos dois aplicativos Discourse. Atualizei ambos para a versão 2.9.0beta2. O primeiro ocorreu sem problemas, mas o segundo gerou um erro no console dizendo Uncaught ReferenceError: Handlebars is not defined

A única diferença entre os dois aplicativos é que eles usam temas personalizados diferentes. Parece que o que quebrou tem um conector above-site-header.hbs e o outro não. Parece que o erro de JavaScript estava apontando para o arquivo above-site-header.hbs. É possível que este esteja carregando antes do Handlebars carregar para a versão 2.9.0beta2? Voltei para a versão estável (2.8.1) e funcionou bem para ambos os aplicativos. Alguma ideia?

1 curtida

Se você pudesse compartilhar a URL do tema com defeito e/ou do site com defeito, as pessoas teriam uma chance melhor de ver o que está errado. (Ou talvez ambos sejam secretos e/ou protegidos por senha.)

Receio que o site e o tema sejam ambos privados. O site também está corrigido agora. Alterar a versão em app.yml para stable em vez de manter o padrão de tests-passed faz com que isso implique que esta versão beta é o problema. O arquivo que gera o erro é encontrado em:

connectors/above-site-header/jc-header.hbs (Eu incorretamente anotei que estava em above-site-header.hbs no título. Minha culpa)

Ficarei feliz em executar algumas verificações se isso ajudar, mas não posso compartilhar o site ou o tema, receio!

Atenciosamente,
Quinn Koike

Nesse caso, sugiro que você faça uma cópia do tema e delete as coisas em pequenos passos até que o erro desapareça. Então, o erro foi causado pela última coisa que você removeu.

1 curtida

Se você puder postar algum código do arquivo jc-header.hbs, isso seria útil. Espero que tudo o que seja necessário seja uma pequena atualização de compatibilidade para o seu tema.

Olá, eu também tenho um problema com a versão mais recente e o plugin da barra de menu do cabeçalho.

Acho que terei que reverter para a 2.9.0beta1.

Você poderia me dizer rapidamente como fazer isso?

A

Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)

#version: tests-passed
version: ‘v2.9.0.beta1’

leva a

I, [2022-02-24T09:38:37.878937 #1] INFO – : cd /var/www/discourse & git checkout v2.9.0.beta1
error: pathspec ‘v2.9.0.beta1’ did not match any file(s) known to git

Obrigado!

Não estou no escritório agora, mas postarei isso aqui quando voltar para a minha máquina.

Parece que sua importação do objeto Handlebars está desatualizada ou faltando.

2 curtidas

Olá,

Só para constar, em outra instância privada do Discourse que estamos executando, após a atualização para 2.9.0.beta2, também observamos esse erro no console do navegador.

Isso também tornou a funcionalidade do componente de tema DiscoTOC completamente inoperante.

Após desativar o discourse-knowledge-base plugin desatualizado, o sistema começou a se comportar corretamente novamente, sem erros no console do navegador.

Atenciosamente,
Andreas.

5 curtidas

Olá! Eu também comecei a ter esse problema! Meu site é público, então se você quiser dar uma olhada, ele está aqui: https://forum.simplecraft.us - Vou fornecer uma lista dos plugins que estou usando, mas não há muita personalização, exceto que estou usando o Air Theme com alguns CSS personalizados.

Tudo parece funcionar para mim até que eu clico em uma postagem, como a mais recente em anúncios.

Lista de Plugins
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-saml.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-automation.git
          - git clone https://github.com/discourse/discourse-user-notes.git
          - git clone https://github.com/discourse/discourse-sitemap.git
          - git clone https://github.com/discourse/discourse-fingerprint.git
          - git clone https://github.com/discourse/discourse-perspective-api.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-subscriptions.git
          - git clone https://github.com/Simple-Craft/discourse-steam-login.git
          - git clone https://github.com/discourse/discourse-algolia.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-category-experts.git
          - git clone https://github.com/communiteq/discourse-private-replies.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-oauth2-basic.git
          - git clone https://github.com/discourse/discourse-jwt.git

É algo no seu tema javascript, pois tudo funciona bem com:

Recomendo desativar todos os componentes do tema e ativá-los lentamente para descobrir o que está com defeito.

2 curtidas

Muito obrigado por isso! Parece que meu componente de tema de ícones de tag não estava configurado para atualização automática por algum motivo, atualizá-lo corrigiu tudo!

3 curtidas

Para quem está com dificuldades com isso, tínhamos um plugin personalizado que costumava funcionar e não conseguíamos mais encontrar handlebars. Fizemos uma instalação do yarn de handlebars e o exigimos explicitamente no plugin e ele voltou a funcionar. Não tenho certeza por que agora precisamos exigi-lo explicitamente e anteriormente não, mas isso resolveu para mim.

@HisashiQ você pode compartilhar o código do plugin personalizado? Você certamente não precisaria instalar o handlebars manualmente. Os problemas no tópico acima estavam relacionados à ordem de carregamento do JS, não às dependências do yarn.

2 curtidas