Discourse Admin Notice: Ember 5 Core Changes

[Admin Notice] One of your themes or plugins needs updating for compatibility with upcoming Discourse core changes (more info). Identified plugin: 'discourse-legacy-forum-info-c1e176d296463439205e32c8ff6fbe460a330f3ea7b01134050e2f918049102b'

Reference:

1 Like

Yes... And?

1 Like

So far, All I did was add this default env variable to the build files:

EMBER_VERSION: 3

Will look at plugin changes required later....

1 Like

My 2 cents... If ts just a warning and nothing has changed on our site, why bother?
I have looked in meta, and all I found was that they were migrating/forcing to migrate to ember v5, but reading, I understand ( but I may be wrong...) that depending your type of Discourse, you may already be in 5 ( the rascals....) in other words, after dev and rec done, I understand they have upgraded the Basic an Free versions, now its the standard followed by Business a bit later and last, enterprise: In other words those who pay nothing have no choice, and will be the true Guinea pigs, depending on the result, the Business class will go through, and from that experience, normally at this stage, they should have ne real big surprise when trying to migrate the Enterprise folk

If you only added/modified that env variable, then just comment it out and see what happens...
Of course the best would be to know what version of ember we are using, and anticipate issues... now we know what they are planning

1 Like

All self-hosted sites currently default to Ember 3.

We are running Ember 3 now which is the default for self-hosted sites; but I added the env variable to specify the version.

According to:
Upgrade Date
|Basic|2023-12-07 :white_check_mark:|
|Free|2023-12-12 :white_check_mark:|
|Standard|w/c 2024-01-15|
|Business|w/c 2024-01-22|
|Enterprise|(case-by-case basis)|

It's for this month, no?
And we have (just?) one plugin that may cause issues, is that a home-made plugin?

1 Like

The above are plans hosted by Discourse. We are not hosted by them.

1 Like

I think we have 2 plugins which may be effected.

We have many plugins that we developed but I think only 2 have UI (Ember) related code.

.

1 Like

Anyway, I just set EMBER_VERSION: 5 and tried to rebuild, but it failed miserably, but not because of plugins.

  EMBER_VERSION: 5

Example

warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "ember-source@5.5.0" is incompatible with requested version "ember-source@~3.28.12"
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > ember-source@5.5.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning "ember-source > @babel/plugin-transform-block-scoping@7.23.4" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "ember-source > babel-plugin-debug-macros@0.3.4" has unmet peer dependency "@babel/core@^7.0.0".
warning "ember-source > router_js@8.0.3" has unmet peer dependency "rsvp@^4.8.5".
warning "ember-source > ember-auto-import > babel-loader@8.3.0" has unmet peer dependency "webpack@>=2".
warning "ember-source > ember-auto-import > css-loader@5.2.7" has unmet peer dependency "webpack@^4.27.0 || ^5.0.0".
warning "ember-source > ember-auto-import > mini-css-extract-plugin@2.7.6" has unmet peer dependency "webpack@^5.0.0".
warning "ember-source > ember-auto-import > style-loader@2.0.0" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "ember-source > @glimmer/component > ember-cli-typescript > @babel/plugin-transform-typescript@7.5.5" has unmet peer dependency "@babel/core@^7.0.0-0".
warning "ember-source > @glimmer/component > ember-compatibility-helpers > babel-plugin-debug-macros@0.2.0" has unmet peer dependency "@babel/core@^7.0.0-beta.42".
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse > ember-router-service-refresh-polyfill@1.1.0" has incorrect peer dependency "ember-source@^3.4 || 4".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse-plugins > ember-this-fallback@0.4.0" has incorrect peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-b902eb4a-90ab-4c9b-9db9-6fe953f1fee3 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
error /var/www/discourse/app/assets/javascripts/node_modules/discourse: Command failed.
Exit code: 1
Command: ../run-patch-package
Arguments: 
Directory: /var/www/discourse/app/assets/javascripts/node_modules/discourse
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 988 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
6cb3dee75053e406012b316b2d8e06495c12cb5bb0328e772d6c1d1f355af3b5

So, it seems whatever Ember 5 blah, blah, blah we are seeing from Discourse is just blah, blah, blah this point in time; because when I set the env var per their own recent instructions:

  EMBER_VERSION: 5

... the build fails miserably with EMBER version warnings and errors.

Setting the ember env var back to:

  EMBER_VERSION: 3

and it builds fine.

This means that Discourse Meta is out in front of their ski tips again :slight_smile:

1 Like

Do we have ember v5? of course in a separate location...

Well they don't work like us I presume, when I had doubts on prerequisites, or upgrades with possible issues I could not test ( or test all because that meant I knew all the code using such...) I would usually define env vars and install the new packages in new directories, then announce to the developers I set the default path to ver XXX but you have XXY andXYY on the box, and seem to be required for the new version of application, I gave them 2 months to test and modify what needs to be according to the new version... so they can test what they have put in production with their personal env they can modify and see if issues...

I have more the impression they are putting the pressure on the users ( us and the others like us...) to get us compatible with ember v5... because looking at the doc in ember

How to upgrade to Ember 5
The most common approach for upgrading to 5.0 is to upgrade your app to the last version of Ember 4, which is 4.12, resolve all deprecation warnings, and then upgrade to 5.0. If your app or addon runs with no deprecations in the latest release of 4.12, you should be able to upgrade to Ember 5 with no additional changes. Step by step directions are below.
If your app is at a much earlier version in the 4.x series, we recommend upgrading in steps across the LTS versions: 4.4, 4.8, and then 4.12.

If Discourse did the recommended upgrade path and following the above instructions, should be with versions of Discourse without deprecation warnings (except for custom or external addons...), why did they not include it in the new releases? Meaning we should be in v 4.12...

So I agree with you ( and feel sorry for the users who have no good developers and rely on those guys...)

Knowing that ember version is now 5.5, 5.0 was out in july, if Ember like all others maintain 2 releases, that means v3 except for serious security issues ( which I doubt...) is no more, they are maybe in panic mode hahaha

2 Likes

The Discourse Meta business model is to increase their profits by encouraging all admins to move to their hosting services.

Hence, complexity, errors and other issues support their business model; all of which is easily understood by reading the replies over there.

That's the entire point. If it's complex and not really supported well for non-hosted customers, then that fits into their business model.

And if you post over there and make them uncomfortable because you do not need their (often nonsense) support, then they ban or silence you.

It's just business.... their business.

If I knew now what I knew then when we migrated to Discourse, I would not have migrated to Discourse, sure.

The Discourse SPA is not "search engine friendly" and Discourse considers the non-hosted users as "beta testers" for the most part, not real customers.

It's not a problem. We simply made a mistake migrating to Discourse. We should have migrated to a different forum, in retrospect.

I made a mistake selecting Discourse as our migration strategy. I did not realize at the time their business model was to find ways to get sys admins to migrate to their paid hosting services.

My bad.

I have started to consider migrating the legacy / original forums to another forum software and am open to suggestions, BTW.

Then, if that goes well, migrate this forum off Discourse.

I will never forget the total fiasco when Discourse migrated to PG13. That was perhaps the biggest DB migration disaster I have ever witnessed.

2 Likes

No comment...