Erro "dt7948 não está definido" no site desktop do Discourse

Isso está acontecendo há algum tempo e não encontrei uma maneira de corrigir isso.

  1. Navegue até nosso site (privado) do Discourse em um navegador de desktop.
  2. Uma tela branca é exibida.
  3. Olhe no console e veja os seguintes erros:
> Uncaught ReferenceError: dt7948 is not defined
>     at number-field.js:10:1
>     at <static_initializer> (number-field.js:10:1)
>     at 65553 (number-field.js:10:1)
>     at n (image-controls.js:109:1)
>     at 23387 (number-field.js:10:1)
>     at n (image-controls.js:109:1)
>     at 54732 (number-field.js:10:1)
>     at n (image-controls.js:109:1)
>     at s.callback (chunk.aa0584e1bdd0fed47ca6.d41d8cd9.js:1:401818)
>     at s.exports (loader.js:106:1)Entenda este erro
> jam-console-devtools.js:1 ℹ️ Discourse v3.4.0.beta1-dev — https://github.com/discourse/discourse/commits/335ab115b3 — Ember v5.5.0
> number-field.js:10 Uncaught (in promise) ReferenceError: Cannot access 'm' before initialization
>     at Module.default (number-field.js:10:1)
>     at c._extractDefaultExport (user-status-bubble.js:11:1)
>     at c.resolveOther (user-status-bubble.js:11:1)
>     at c.resolve (user-status-bubble.js:11:1)
>     at index.js:742:1
>     at f.resolve (index.js:523:1)
>     at f.resolve (index.js:525:1)
>     at o (index.js:237:1)
>     at i.factoryFor (index.js:184:1)
>     at u.factoryFor (container_proxy.js:32:1)
>     at index.js:4343:1
>     at index.js:4350:1
>     at sr.lookupComponent (index.js:4471:1)
>     at opcode-compiler.js:188:1
>     at ie (opcode-compiler.js:2032:1)
>     at u (opcode-compiler.js:1973:1)
>     at opcode-compiler.js:1638:1
>     at _.compile (opcode-compiler.js:410:1)
>     at re (opcode-compiler.js:1976:1)
>     at opcode-compiler.js:1955:1
>     at ee.compile (opcode-compiler.js:1938:1)
>     at Wt.compile (runtime.js:4796:1)
>     at Object.evaluate (runtime.js:1978:1)
>     at Object.evaluate (runtime.js:1052:1)
>     at It.evaluateSyscall (runtime.js:4204:1)
>     at It.evaluateInner (runtime.js:4175:1)
>     at It.evaluateOuter (runtime.js:4168:1)
>     at Wt.next (runtime.js:4999:1)
>     at Wt._execute (runtime.js:4986:1)
>     at Wt.execute (runtime.js:4979:1)
>     at Qt.sync (runtime.js:5046:1)
>     at hr.render (index.js:4672:1)
>     at index.js:4934:1
>     at Nt (runtime.js:4080:1)
>     at gr._renderRoots (index.js:4916:1)
>     at gr._renderRootsTransaction (index.js:4960:1)
>     at gr._renderRoot (index.js:4905:1)
>     at gr._appendDefinition (index.js:4830:1)
>     at gr.appendOutletView (index.js:4820:1)
>     at invoke (backburner.js.js:282:1)
>     at h.flush (backburner.js.js:197:1)
>     at p.flush (backburner.js.js:358:1)
>     at B._end (backburner.js.js:798:1)
>     at B._boundAutorunEnd (backburner.js.js:523:1)

Há uma referência a dt7948 aqui: discourse/spec/lib/discourse_js_processor_spec.rb at 66a23180d4655c0d0312e0a6485b5dbad291952a · discourse/discourse · GitHub

Tomei as seguintes ações sem sucesso:

  1. Desabilitei todos os plugins via containers/app.yml
  2. Verifiquei a minificação automática do Cloudflare (está desativada há anos)
  3. Várias atualizações completas.

Executar o site em Modo de Segurança é a única coisa que funciona no desktop, funciona bem no celular.

Aqui estão os plugins do meu app.yml:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-ai.git
##          - git clone https://github.com/procourse/procourse-memberships.git
          - git clone https://github.com/gdpelican/retort.git
##          - git clone https://github.com/discourse/discourse-chat-integration.git
##          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-subscriptions.git

Como posso corrigir esse problema?

Se o modo de segurança estiver funcionando bem, você também pode querer verificar quais temas você instalou, não apenas os plugins. (<site-url>/?safe_mode=no_themes).

Você pode confirmar que não é um tema que está causando problemas?

3 curtidas

Essa foi uma ótima dica!

Sim, tínhamos um tema e sim, adicionar /?safe_mode=no_themes faz com que ele carregue corretamente.

Isso é de grande ajuda para solucionar problemas e estou me xingando por ter perdido isso!

É difícil dizer com certeza sem poder ver o código do seu tema. Mas já vimos isso antes se você tiver <script> em seu tema que está carregando o código do Discourse via require().

Se você mudar para <script type="text/discourse-plugin" version="0.8">, ele será carregado um pouco mais tarde e não terá o problema dt7948.

1 curtida

Acho que há um problema mais amplo com nosso tema personalizado sendo construído sobre o tema Simple de cinco anos atrás.

Faremos uma atualização completa do tema.

Agradeço muito a @nat e @david por me darem a direção certa.

Manterei vocês informados sobre nosso progresso.

2 curtidas

Nós reconstruímos o tema usando a versão mais recente do “Simple”.

Está tudo bem.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.