Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the Contributor
This pull request is posted on behalf of the BBC
Type of Contribution
This is a: Feature / Tech stack update
This isn't quite ready to merge yet, but I am opening this for visibility and to allow for early suggestions/reviews
New Behavior
This updates meteor to 3.0.4 and removes any remaining code which relies on fibers.
This PR includes the changes from #1308 and #1310, which are some more targeted changes which get certain areas of the codebase into a meteor 3 compatible state.
As part of this, everything has been updated to use and require node 20, which matches the version that meteor 3 is using. It looks like 3.1.0 might be using node 22.11, so we might be able to update to that in the not too distant future.
Devs should be aware that meteor doesn't seem to like
meteor yarn
anymore, but as we don't need to be tied to their exact version of node it is fine to invokeyarn
directly.I have looked over all the meteor packages we are using, and have stripped out some which are not necessary. Instead of needing a meteor specific elastic-apm library, we can now use the standard npm one. In doing this we loose some automatic integration with meteor, but we had most of this disabled and were only using it on collections where we already have a wrapper class making it easy to implement manually.
I have a discussion to start around this; the api of the old showstyle and studio migration system is very reliant on fibers. Before I put time into updating that, I would like to question whether it should be removed instead. It has been marked as deprecated for over 2 years now (since #808), so now that it has a measurable cost of needing some maintenance it feels like an appropriate time to question if it should be removed instead.
Testing
I have done some testing through configuring and using Sofie, and haven't found anything misbehaving.
Affected areas
Time Frame
Other Information
Status