Hello,
I have a project where I've edited some primitive blocks (notably the Forever and Set Variable blocks). For a while now, whenever I save this project, there's a roughly 50/50 chance that all instances of some primitive being replaced with the Undefined! block.
At first, I had this issue with the Forever block, but I was able to bypass it by replacing it custom block that does the same thing. Now it's affecting the Set Variable To block, including ones that are in the definitions of custom blocks.
This happens when saving and loading the project from local storage, as well.
I'm using Version 129.0.6668.101 of Chrome, and version 10.1.5 of Snap!.
An example of the bug:
Stable version of the project
The same project, saved under another name
this happened to me too when snap 10 was still in the dev version, but people were saying 'oh, don't worry about it, its the dev version for a reason.' but honestly I just avoid editing primitives because I don't have a need to. I hope this gets fixed :)
I'm pretty sure this has also been reported after snap 10 released (before this post).
That's a little frustrating. (Not that it's your fault, of course.)
I'm not really sure how I was supposed to know that editing primitives would essentially brick my project without checking the forums, and now I've spent 2 months working on a project that was, apparently, doomed from the start because of that.
Hopefully this gets fixed in Snap! 11. (Or, at least, the developers disable the option to edit primitives.)
snap doesn't get updated like that, there will be 10.1.6, 10.1.7, .10.1.8, 10.1.9, 10.1.10, 10.1.11 etc. and with a more major update it would be 10.2.0, 10.3.0 and so on. snap 11 will be a much more major update. Hope this clears some things up!
I have had similar issues before (one time, all instances of the "sum" block in my project got replaced with "Undefined!", even though I hadn't edited it). Here is my advice:
- Use Snap!'s built in recover feature

- Find the most recent version that isn't broken.
- Load it, and save it as a separate file.
- Now you can import all the custom blocks that have been messed up from the older version into the newer one. In my experience, the newest changes you made (the ones that aren't in your backup), generally aren't corrupted, so you should be able to fix this type of problem in the future.