Errore "dt7948 is not defined" sul sito desktop di Discourse

Questo problema si verifica da un po’ di tempo e non ho trovato un modo per risolverlo.

  1. Naviga sul nostro sito web Discourse (privato) tramite un browser desktop.
  2. Viene visualizzata una schermata bianca.
  3. Controlla la console e vedrai i seguenti errori:
> 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)Understand this 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)

C’è un riferimento a dt7948 qui: discourse/spec/lib/discourse_js_processor_spec.rb at 66a23180d4655c0d0312e0a6485b5dbad291952a · discourse/discourse · GitHub

Ho intrapreso le seguenti azioni senza successo:

  1. Disabilitato tutti i plugin tramite containers/app.yml
  2. Verificato la minificazione automatica di Cloudflare (è disattivata da anni)
  3. Aggiornamenti completi multipli.

L’esecuzione del sito web in Modalità Sicura è l’unica cosa che funziona sul desktop, mentre sul mobile funziona bene.

Ecco i plugin della mia 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

Come posso risolvere questo problema?

Se la modalità provvisoria funziona correttamente, potresti voler verificare anche quali temi hai installato, non solo i plugin. (<site-url>/?safe_mode=no_themes).

Puoi confermare che non sia un tema a causare problemi?

3 Mi Piace

È stato un ottimo suggerimento!

Sì, avevamo un tema e sì, aggiungere /?safe_mode=no_themes lo fa caricare correttamente.

È di grande aiuto per la risoluzione dei problemi e mi sto prendendo a calci da solo per essermelo perso!

È difficile dirlo con certezza senza poter vedere il codice del tuo tema. Ma abbiamo già visto questo problema se nel tuo tema è presente \u003cscript\u003e che poi carica il codice di Discourse tramite require().

Se lo cambi in \u003cscript type=\"text/discourse-plugin\" version=\"0.8\"\u003e, allora verrà caricato leggermente più tardi e non dovrebbe avere il problema dt7948.

1 Mi Piace

Penso che ci sia un problema più ampio legato al fatto che il nostro tema personalizzato è stato creato sul tema Simple di cinque anni fa.

Faremo un aggiornamento completo del tema.

Apprezzo molto che @nat e @david mi abbiano indicato la giusta direzione.

Vi farò sapere come procede.

2 Mi Piace

Abbiamo ricostruito il tema utilizzando l’ultima versione di "Simple".

Tutto bene.

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