'qa-topic-tip' Ember is not defined error

I have Ember problem after the latest update today. Discourse site opens (root and /admin directories in URL), but i see animated Loading picture only. JavaScript console shows error:

Uncaught (in promise) ReferenceError: Ember is not defined
    <anonymous> qa-topic-tip.js:8
    exports loader.js:106
    requireModule loader.js:27
    Ember 8
    initialize component-templates.js:44
    eachThemePluginTemplate component-templates.js:95
    initialize component-templates.js:32
    runInstanceInitializers Ember
    each dag-map.js:191
    walk dag-map.js:120
    each dag-map.js:66
    topsort dag-map.js:72
    Ember 4
    invoke backburner.js.js:280
    flush backburner.js.js:197
    flush backburner.js.js:358
    _end backburner.js.js:798
    _boundAutorunEnd backburner.js.js:523
    promise callback*n/< backburner.js.js:26
    flush Ember
    _scheduleAutorun backburner.js.js:964
    _ensureInstance backburner.js.js:955
    schedule backburner.js.js:648
    Ember 5
    <anonymous> start-app.js:4
    <anonymous> discourse-boot.js:20
    <anonymous> discourse-boot.js:1

When rebuilding without any third-party plugins, i see the message:

warning " > @glint/environment-ember-loose@1.1.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning " > @glint/environment-ember-template-imports@1.1.0" has unmet peer dependency "ember-template-imports@^3.0.0".
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"

I don’t understand what to do with it.

Info on the Ember upgrade can be found here: Preparing for Discourse's upgrade to Ember 5

Have you tried loading your site in safe mode? My guess would be that you have a theme installed which defines a component called ‘qa-topic-tip’.

If you can share a screenshot of the error message and backtrace that would also be useful. The copy/pasted versions of browser console logs are missing a lot of information.

qa-topic-tip is from the old Pavilion discourse-question-answer plugin. That plugin is no longer maintained, so you should remove it from your app.yml file and do a full rebuild.

2 Likes

Thanks for reply.
I have commented all third-party plugins in app.yml, wrote EMBER_VERSION: 5 in ENV section and rebuilt Discourse. Now i have following error in JavaScript console:

Uncaught (in promise) ReferenceError: Ember is not defined
    <anonymous> media-overlay.js:15
    exports loader.js:106
    requireModule loader.js:27
    Ember 8
    initialize component-templates.js:44
    eachThemePluginTemplate component-templates.js:95
    initialize component-templates.js:32
    runInstanceInitializers Ember
    each dag-map.js:191
    walk dag-map.js:120
    each dag-map.js:66
    topsort dag-map.js:72
    Ember 4
    invoke backburner.js.js:280
    flush backburner.js.js:197
    flush backburner.js.js:358
    _end backburner.js.js:798
    _boundAutorunEnd backburner.js.js:523

And the same Loading animated picture. What’s wrong?

UPD: Safe mode with safe_mode=no_themes%2Cno_unofficial_plugins works.

A post was merged into an existing topic: Media Overlay component