Edit: This is a confirmed bug. To reproduce,
- Make a new project in Snap! 7
- Create a new variable and make it a list
- Run Step 4 in the stage and not a sprite (this is important)
- Add a reified function to the list
- Save and reload the project
It will bring up the same error.
Mind maybe sending the XML?
Load your project xml into some parser/validator (even the browser).
to see if some symbols (variable names, custom block) do not break the parser before the stage is loaded.
I tried several validators, all of them say there are no errors in either file.
try a "hard reload", pressing reload while holding down the shift key to ensure your browser reloads all the sources and doesn't hold on to older cached versions
Tried a hard reload and even cleared my browser cache, but it still doesn't work...
I don't think he has the xml (probably was saved in his snap account)
to the topic
Do you think you could share the project?
I didn't want to share the game early, but here:
I guess it's not possible to run anyway though.
There's a "download" button on the project page.
What did you do before this happened?
ok, I looked the the xml, and found that the stage element somehow got into a list.
it should be outside, like this
I was able to fix the project (https://ego-lay-atman-bay.github.io/snap-projects/Bounceathon.xml) but when I saved it, and opened it again from the cloud, I got the same error, and when I looked at the xml, it also has the stage element in a list.
Let me try something...
Edit: It works! Thanks for your help.
There is a minimal repeatable example Snap! 7 - dev - Build Your Own Blocks
To see the problem make "test" variable persistent and export project then import.
Problem is caused by a persistent variable storing ringified expression tied to the Stage.
During serialization, Stage is stored as a "receiver" attribute and flagged to avoid repetition.
So the Stage is not stored at "project" root.
excellent analysis, thank you @dardoro! I'm about to fix this for v7, so the error won't happen anymore.