Possibly bogus compilation errors from beta beta MakeCode Arcade

This trivial code works on https://arcade.makecode.com/ but not https://arcade.makecode.com/beta/ (arcade version: 0.13.21, Microsoft MakeCode version: 5.19.9). How does a user find more information about these compilation failures. I’m suspecting this one is due to a backend fault somewhere as code is trivial and it works on other version. It would be useful to know that to avoid length head scratching.

Here’s on screen error for PyGamer compile target, Compilation failed, please check your code for error.:

And the code, saved from the beta beta:


In general what’s the stability of the beta beta version like? I was hoping to crank out some code this evening using extensions which are only present in this version.

You can see the error listed out under the explorer in javascript mode -> built -> output.js. When the error is only on compilation for hardware, sometimes it behaves wonkily with the auto-run behavior and clears that which is annoying, so you might have to ‘time it’ for right when the error pops up. We should fix that :slight_smile:

re: stability of beta, in general it’s as stable as we can get it but beta is beta; generally in arcade it is being kept up to date with nearly the latest changes in pxt and pxt-common-packages, so some bugs will squeak through occasionally that will be fixed before the next release to the normal live site.

In this case it’s giving the error error: main.ts(1,1): error TS9200: non unique, meaning it’s failing the assertion here. Not really sure the exact cause beyond the obvious hash collision sort of thing here, but it goes away after checking out a commit before https://github.com/microsoft/pxt-common-packages/pull/917 ; I had tested that on hardware but it must have been based off an older commit somewhere as it seems to be a consistent error now when downloading to hardware. @mmoskal any ideas on the cause of this one?

1 Like

For now, though, you can use the previous beta version at arcade.makecode.com/v0.13.20 as a workaround

Thanks for swift reply.

Have you considered having three named versions. I don’t know what you want to call them but having the arcade.makecode.com for general users, having another for new features being tested and a third for the bleeding edge? It won’t always work but I’m thinking 917 belonged in the bleeding edge and I belonged on the one before that.

It’s also a bit confusing having the same red beta tag on both https://arcade.makecode.com/ and https://arcade.makecode.com/beta/. Have you considered integrating a version of some sort in that tag or perhaps changing the name/colour?

Unrelated I was trying to convert a number to text earlier. I think I need the equivalent of https://makecode.microbit.org/reference/text/convert-to-text
but was struggling to find it in Arcade? Or does join do that automatically, I got hamped/confused by those errors.

Join will implicitly convert to text (it just converts to "" + if the first element isn’t a string), that block is just a helper because that behavior isn’t obvious. It is in the text category in arcade at the very bottom.

I also don’t particularly like that it has the same tag for beta editor / live release as beta editor / beta release, but I can’t immediately think of an unambigious way to convey the difference. Will think on that.

And not sure on adding more refs, in general if it is tested thoroughly enough for another release tag indicating its stable the live site would probably be being updated instead, for now at least.

The problem is that both ParticleSource and its base class have id field. We should handle that, but we currently don’t.

1 Like

BTW, you can use previous/other versions by going to https://arcade.makecode.com/v0.13.20 etc; you can see here for changes: https://github.com/microsoft/pxt-arcade/commits/master

1 Like

Thanks. For the versions are there release notes intended for consumption by users to supplement the “raw” commit lists?

On convert to text I’m not sure why I didn’t find that when I knew the micro:bit version had it. I just had a play with the UI and it’s possible I was whizzing my mouse pointer too far to the right and not noticing it hadn’t scrolled down with the mouse wheel. That block window only scrolls if the mouse is within it and I may have overshot as I waded through each drawer (is that the term?) and not noticed that.

The latest beta version, v0.13.22, fixes this issue; the underlying cause with overlapping properties still exists for now, though, and will be tracked here.

1 Like

There are no more detailed release notes for the beta versions. We only produce these for full releases which happen every few months or so.