Preparing for Discourse's upgrade to Ember 5

Thanks for your detailed answer :+1: it helps.

You said in the initial post:

On our managed discourse.org hosting, we’ll be doing a staged rollout of the flag over the next couple of months.

With the holidays coming fast, no deprecation will be fixed on my side before the end of January, would you mind getting us a more precise time-frame?

I know my own personal project priorities have nothing to do with Discourse - but in the corporate world we cannot move as fast as we want :frowning:

Anyway, looks like I don’t have a lot of things to fix, only 4 deprec:

[THEME 2 'XXX Theme'] Deprecation notice: controller:navigation/category no longer exists, and this shim will eventually be removed. To fetch information about the current discovery route, use the discovery service instead. [deprecation id: discourse.navigation-category-controller] deprecated.js:54:12

[THEME 2 'XXX Theme'] Deprecation notice: Defining connector classes via registerConnectorClass is deprecated. See https://meta.discourse.org/t/32727 for more modern patterns. [deprecation id: discourse.register-connector-class-legacy] 2 deprecated.js:54:12

DEPRECATION: [THEME 2 'XXX Theme'] Function prototype extensions have been deprecated, please migrate from function(){}.property('bar') to computed('bar', function() {}). [deprecation id: function-prototype-extensions.property] See https://deprecations.emberjs.com/v3.x#toc_function-prototype-extensions-property for more details. deprecate-shim.js:33

[THEME 2 'XXX Theme'] "model:user" has already been initialized and registered as a singleton. Move the modifyClass call earlier in the boot process for changes to take effect. https://meta.discourse.org/t/262064 plugin-api.js:220:14
5 Likes

With the holidays approaching, I think it’s safe to say that we won’t be rolling this out to the standard/business tiers of our hosting before the end of the year. Beyond that, we don’t have any concrete dates right now.

Right now we’re collecting data about how widespread the issues are, and working on strategies to warn admins and help them resolve things. Following the instructions in the announcement here will help, but we can’t rely on everyone to be keeping track of these announcements on Meta.

That’s great! And just looking at these, the only critical one for the ember upgrade is the “Function prototype extensions” one :ok_hand: (but of course, the others will eventually become critical as well, so it’s still worth resolving them)

6 Likes

Thanks David :slightly_smiling_face: I just make a test ride yesterday. Seems everything works great except 2 plugins I use. Fingerprint plugin admin page is empty and Locations plugin user map isn’t load. There is no error in console or /logs. That is a good news I can revert it and there is a lot of time to fix these before it’s be a part of core. Thanks for you work :+1:

7 Likes

I haven’t had time to look yet, but will do soon! My time is spread across a lot of repos and Locations had a big slice of me in the last couple of months, and clearly requires a little bit more :sweat_smile:

Thanks for raising.

7 Likes

Thanks for the heads-up on that! Should be fixed by DEV: Remove use of `render` function for Ember 5 compat (#47) ¡ discourse/discourse-fingerprint@1714da4 ¡ GitHub

5 Likes

Thanks David, that seems works great :slightly_smiling_face: But I have noticed a little odd thing, after I updated now Discourse in admin and the console log Ember change back to :arrow_down_small:

I double checked the app.yml and the EMBER_VERSION: 5 still there. But it seems the admin upgrade is reverted the Ember version. I checked and the Location map is also loads fine. So the console log is correct and it’s really reverts. :thinking:

6 Likes

Nice catch, thanks! This will fix it: FIX: Permit EMBER_VERSION env by davidtaylorhq ¡ Pull Request #200 ¡ discourse/docker_manager ¡ GitHub

8 Likes

I can confirm it works. After I rebuild it is on Ember 5.4.0 again. I made an admin upgrade after rebuild and the Ember version is still the 5.4.0. Thanks :slightly_smiling_face:

6 Likes

Now back to work :slight_smile:

6 Likes

I’ve updated the first post here with a couple of new pieces of information:

  1. We now have an approximate timeline. We intend to make Ember 5 the default in tests-passed next week. On our hosting, it’ll be enabled for ‘standard tier’ sites starting from 15th January, and then Business tier sites starting 22nd January.

  2. We’ve introduced a new UI warning banner to provide a more prominent warning to admins about incompatible themes/plugins in advance of the upgrade. This feature was merged today in 3.2.0.beta4-dev, and is live across our standard/business hosting tiers.

12 Likes

Just got the Raw Post Button theme component as an ember 5 warning, is it possible for that one to be fixed since it’s archived?

4 Likes

Hmm, that theme still has a official topic on Meta:

So I think it must have been archived accidentally. We’ll get it unarchived and fixed up - thanks for the report @Firepup650

Edit: should be fixed via DEV: Modernise and simplify implementation (#3) ¡ discourse/raw-post-button@68e2564 ¡ GitHub

9 Likes

Just checked our site and it was upgraded

Based on this was expecting it in the future.

image

Kudos to the Discourse team; I didn’t even notice the seamless transition.


FYI

For those like me scratching their head over w/c ChatGPT notes

The abbreviation “w/c” stands for “week commencing” or “week of.”

3 Likes

The ‘free’ and ‘basic’ tiers of our hosting have already been migrated, so perhaps your site is in one of those?

:chefs_kiss:

My bad - there’s no need for us to use an acronym there. I updated the table to say ‘week commencing’ :ok_hand:

5 Likes

Thanks for noting that.

The site I referenced is a free site. I am so use to not seeing free sites broken out and instead typically falling under the rules of standard that I should have looked closer.

5 Likes

FYI, this banner appeared on our Discourse but it didn’t specify which theme or plugin needs to be updated.

How do we figure out what needs to be updated?

Here’s a screenshot.

2 Likes

Hey @xJack, unfortunately the system can’t always identify the source of the problem automatically. There should be a little more information in the browser developer console per

Another useful piece of information would be to know whether the banner is always there, or whether it only appears after you visit certain pages or take certain actions?

If your site is on our managed discourse.org hosting and you’d like a hand with the investigation, please do feel free to contact our support team via team@discourse.org

3 Likes

A post was merged into an existing topic: Enhanced category-box display component

The default Ember version has now been updated in main/tests-passed. That means that local development environments, CI, and self-hosted sites will be using Ember 5 unless they temporarily opt-out via the EMBER_VERSION=3 flag :ember:

8 Likes

Hi, after upgrade the new admin menu in the sidebar is missing the upgrade menu link, is this a bug or intentional?

3 Likes