clean block definitions before attempting to upgrade blocks #10154
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.
Fixes microsoft/pxt-microbit#5896
The issue here is that we cache Block definitions when we inject all of the blocks from our API info. This cache gets cleared when we load a new blocks file, but the compiler upgrades happen before that function is called so it's using the cached blocks from the previous injection.
I still haven't figured out when this was introduced, but it appears to be a while ago. My guess would be that this repros on arcade live as well though I haven't tried it.