O plugin insere um i-frame no Discourse e você pode encontrá-lo aqui
Eu o mantenho mais ou menos atualizado com a versão mais recente, então a mudança que quebra veio recentemente. Atualmente estamos executando a versão 3.3.0.beta1-dev.
No console, recebo 3 mensagens de erro que se parecem com isto:
docuss.js:225 Uncaught (in promise) ReferenceError: Ember is not defined
at docuss.js:225:1
Muito provavelmente, este objeto Ember foi removido da API do Discourse em uma versão recente do Discourse, então este erro ocorre após uma atualização do Discourse que afeta esses objetos.
Aqui estão todas as correções que fiz:
Mudança 1
assets\javascripts\discourse\initializers\docuss.js.es6
linha 232
antigo:
const afterRender = res =>
new Promise(resolve => {
// @ts-ignore
Ember.run.schedule('afterRender', null, () => resolve(res))
novo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Mudança 2
assets\javascripts\discourse\lib\DcsIFrame.js.es6
linha 858
antigo:
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
})
novo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
})
Mudança 3
assets\javascripts\discourse\lib\onDidTransition.js.es6
linha 239
antigo:
const afterRender = res =>
new Promise(resolve => {
Ember.run.schedule('afterRender', null, () => resolve(res))
novo:
import { schedule } from '@ember/runloop'
const afterRender = res =>
new Promise(resolve => {
schedule('afterRender', null, () => resolve(res))
Isso limpou todas as mensagens de erro no console, mas criou uma série de novas:
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
Aqui está uma plataforma ao vivo com o plugin ativado, caso seja útil
Essa questão é familiar para alguém que encontrou problemas com a mudança de objetos da API Ember. Alguma sugestão sobre como corrigi-los seria muito apreciada.