Le plugin insère un i-frame dans Discourse et vous pouvez le trouver ici
Je le maintiens plus ou moins à jour avec la dernière version, donc le changement radical est récent. Nous utilisons actuellement la version 3.3.0.beta1-dev.
Dans la console, j’obtiens 3 messages d’erreur qui ressemblent à ceci :
docuss.js:225 Uncaught (in promise) ReferenceError: Ember is not defined
at docuss.js:225:1
Très probablement, cet objet Ember a été supprimé de l’API Discourse dans une version récente de Discourse, donc cette erreur survient après une mise à niveau de Discourse affectant ces objets.
Voici toutes les corrections que j’ai apportées :
Changement 1
assets\javascripts\discourse\initializers\docuss.js.es6
ligne 232
ancien :
const afterRender = res =>
new Promise(resolve => {
// @ts-ignore
Ember.run.schedule('afterRender', null, () => resolve(res))
nouveau :
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Changement 2
assets\javascripts\discourse\lib\DcsIFrame.js.es6
ligne 858
ancien :
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
})
nouveau :
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Changement 3
assets\javascripts\discourse\lib\onDidTransition.js.es6
ligne 239
ancien :
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
nouveau :
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
Cela a résolu tous les messages d’erreur dans la console, mais en a créé une série de nouveaux :
Discourse v3.3.0.beta1-dev — https://github.com/discourse/discourse/commits/4c7d58a883 — Ember v5.5.0
app.js:197 Uncaught ReferenceError: Ember is not defined
at s.callback (docuss.js:210:1)
at s.exports (loader.js:106:1)
at requireModule (loader.js:27:1)
at y (app.js:171:18)
at w (app.js:194:19)
at app.js:157:29
at e.start (app.js:51:5)
at HTMLDocument.<anonymous> (start-app.js:5:7)
at discourse-boot.js:20:12
at discourse-boot.js:1:1
Voici une plateforme en direct avec le plugin activé au cas où cela serait utile
Ce problème est-il familier à quelqu’un qui a rencontré des problèmes avec les objets d’API Ember qui changent ? Des suggestions sur la façon de les résoudre seraient grandement appréciées.