error "dt7948 no está definido" en el sitio de escritorio de Discourse

Esto ha estado sucediendo por un tiempo y no he encontrado una manera de solucionarlo.

  1. Navegue a nuestro sitio web de Discourse (privado) en un navegador de escritorio.
  2. Se muestra una pantalla blanca.
  3. Mire en la consola y vea los siguientes errores:
> 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)Entender este error
> 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)

Hay una referencia a dt7948 aquí: discourse/spec/lib/discourse_js_processor_spec.rb at 66a23180d4655c0d0312e0a6485b5dbad291952a · discourse/discourse · GitHub

He tomado las siguientes medidas sin éxito:

  1. Deshabilité todos los plugins a través de containers/app.yml
  2. Verifiqué la minificación automática de Cloudflare (ha estado desactivada durante años)
  3. Múltiples actualizaciones completas.

Ejecutar el sitio web en Modo Seguro es lo único que funciona en el escritorio, funciona bien en dispositivos móviles.

Aquí están los plugins de mi 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

¿Cómo puedo solucionar este problema?

Si el modo seguro funciona bien, es posible que también quieras comprobar qué temas tienes instalados, no solo los plugins. (<site-url>/?safe_mode=no_themes).

¿Puedes confirmar que no es un tema el que causa problemas?

3 Me gusta

¡Ese fue un gran consejo!

Sí, teníamos un tema y sí, añadir /?safe_mode=no_themes hace que se cargue bien.

¡Eso es de gran ayuda para la resolución de problemas y me doy de golpes por habérmelo perdido!

Es difícil decirlo con seguridad sin poder ver el código de tu tema. Pero hemos visto esto antes si tienes <script> en tu tema que luego carga código de Discourse a través de require().

Si lo cambias a <script type="text/discourse-plugin" version="0.8">, entonces se cargará un poco más tarde y no debería tener el problema dt7948.

1 me gusta

Creo que hay un problema más amplio, ya que nuestro tema personalizado se basa en el tema Simple de hace cinco años.

Vamos a realizar una actualización completa del tema.

Agradezco mucho a @nat y @david por haberme guiado en la dirección correcta.

Les informaré cómo nos va.

2 Me gusta

Hemos reconstruido el tema utilizando la última versión de “Simple”.

Todo está bien.

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