My Snap! 7 project suddenly won't load

Edit: This is a confirmed bug. To reproduce,

  1. Make a new project in Snap! 7
  2. Create a new variable and make it a list
  3. Run Step 4 in the stage and not a sprite (this is important)
  4. Add a reified function to the list
  5. 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 ( 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.