El plugin inserta un i-frame en Discourse y puedes encontrarlo aquí
Lo mantengo más o menos actualizado a la última versión, por lo que el cambio drástico ocurrió recientemente. Actualmente estamos ejecutando la versión 3.3.0.beta1-dev.
En la consola obtengo 3 mensajes de error que se ven así:
docuss.js:225 Uncaught (in promise) ReferenceError: Ember is not defined
at docuss.js:225:1
Lo más probable es que este objeto Ember haya sido eliminado de la API de Discourse en una versión reciente de Discourse, por lo que este error aparece después de una actualización de Discourse que afecta a esos objetos.
Aquí están todas las correcciones que hice:
Cambio 1
assets\javascripts\discourse\initializers\docuss.js.es6
línea 232
antiguo:
const afterRender = res =>
new Promise(resolve => {
// @ts-ignore
Ember.run.schedule('afterRender', null, () => resolve(res))
nuevo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Cambio 2
assets\javascripts\discourse\lib\DcsIFrame.js.es6
línea 858
antiguo:
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
})
nuevo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Cambio 3
assets\javascripts\discourse\lib\onDidTransition.js.es6
línea 239
antiguo:
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
nuevo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
Eso eliminó todos los mensajes de error en la consola, pero creó una serie de nuevos:
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
Aquí hay una plataforma en vivo con el plugin activado por si acaso es útil
¿Alguien más se ha encontrado con este problema al tratar con objetos de API de Ember que cambian? Cualquier sugerencia sobre cómo solucionarlo sería muy apreciada.