jmoenig / Snap

a visual programming language inspired by Scratch
http://snap.berkeley.edu
GNU Affero General Public License v3.0
1.48k stars 740 forks source link

Code lost? "Load failed: TypeError: Cannot read property 'add' of undefined" #1714

Closed eprebys closed 5 years ago

eprebys commented 7 years ago

I wrote a bunch of code and saved the project. Now when I try to load it, I get this error: Load failed: TypeError: Cannot read property 'add' of undefined

This is my project: https://bjc.edc.org/snapsource/snap.html#present:Username=eprebys&ProjectName=Create%20Task%20Example

I am hoping I can get the code out of the project without having to rewrite it all.

This may be the same issue as the Open Issue described here: https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/953

jguille2 commented 7 years ago

Hi @eprebys ,

jguille2 commented 7 years ago

I only write down, that I can't reproduce the issue... and I don't get this <l/> added to my code (I've tested after renaming and erasing costumes).

Maybe the origin is other. @eprebys , do you know which was (exactly) the code of this flower custom block? Maybe it's not the same as I assumed from the recovered code.

eprebys commented 7 years ago

That looks like what I had for the block. I wasn't calling the block anywhere because I found some issues with the way the clones behaved, especially some apparent bleed over behavior with size and costume. I intended to delete the flower block when I got locked out of the code. I had deleted the dandelion costume (as well as cleaning up a lot of other methods, etc) and it sounds like that may have been the problem.

On Apr 8, 2017 8:06 AM, "Joan Guillén i Pelegay" notifications@github.com wrote:

I only write down, that I can't reproduce the issue... and I don't get this added to my code (I've tested after renaming and erasing costumes).

Maybe the origin is other. @eprebys https://github.com/eprebys , do you know which was (exactly) the code of this flower custom block? Maybe it's not the same as I assumed from the recovered code.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1714#issuecomment-292713879, or mute the thread https://github.com/notifications/unsubscribe-auth/ACp0B6pDjyXMjwo42AP-bJedwqcO2XfUks5rt3g4gaJpZM4M3CHY .

jguille2 commented 7 years ago

Ok,

Then I guess you has your code again from my zip file and this issue can be closed, right?

eprebys commented 7 years ago

Yes, thank you much for recovering it.

Do you understand the underlying problem? Is it a good idea to implement some sort of recovery mechanism that is available through the interface?

I am afraid that students working on a cs-principles create task could run into this. As a user it feels like there is no recovery process when your save file is corrupted. I assume other people are seeing this and not logging bugs.

On Apr 8, 2017 9:24 AM, "Joan Guillén i Pelegay" notifications@github.com wrote:

Ok,

Then I guess you has your code again from my zip file and this issue can be closed, right?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1714#issuecomment-292717901, or mute the thread https://github.com/notifications/unsubscribe-auth/ACp0B9UbbSGNhFQ3pWTCpZC_yWDIYCe8ks5rt4p-gaJpZM4M3CHY .

jguille2 commented 7 years ago

Yes @eprebys, but as I said, I cannot reproduce the issue. I haven't any action to repeat this phantom <l/> into the code. Because this, I suggest to clole this.

I moved from cloud to xml with a single code (calling SnapCloud.getPublicProject function with ide.saveFileAs function as its callback). It's easy to implement this (from cloud to xml file) but I don't know if it's a good idea.

eprebys commented 7 years ago

Is it worth changing the error message to explicitly suggest logging a bug (ideally with the URL included) as a method to recover the project?

On Apr 9, 2017 8:05 PM, "Joan Guillén i Pelegay" notifications@github.com wrote:

Yes @eprebys https://github.com/eprebys, but as I said, I cannot reproduce the issue. I haven't any action to repeat this phantom into the code. Because this, I suggest to clole this.

I moved from cloud to xml with a single code (calling SnapCloud.getPublicProject function with ide.saveFileAs function as its callback). It's easy to implement this (from cloud to xml file) but I don't know if it's a good idea.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1714#issuecomment-292823235, or mute the thread https://github.com/notifications/unsubscribe-auth/ACp0B9g8cfqkY___qQvO_4-AB97xPifOks5ruXJQgaJpZM4M3CHY .

jguille2 commented 7 years ago

Hi @eprebys , Thanks to @bromagosa in this comment, I've seen that Snap! in snap.berkeley.edu already has a #dl hash to do it (get xml of a project from SnapCloud).

Then, you can call https://snap.berkeley.edu/snapsource/snap.html#dl:Username=eprebys&ProjectName=Create%20Task%20Example and you'll get your xml.

I've seen the format is not the best. Depending your browser, you'll get an error... but in the url you'll hava all your code. You must copy and paste it.

Now I think this issue is really closed.

Joan

eprebys commented 7 years ago

Nice find. It will help me with any students who run into problems with losing their code. I'll post a brief summary to the Snap! discussion list so other teachers know about the recovery procedure and have it as a resource if they have students that run into similar problems.

I agree the issue is closed until/unless someone has effective reproduction steps.

On Mon, Apr 10, 2017 at 6:01 AM, Joan Guillén i Pelegay < notifications@github.com> wrote:

Hi @eprebys https://github.com/eprebys , Thanks to @bromagosa https://github.com/bromagosa in this comment https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1709#issuecomment-292864681, I've seen that Snap! in snap.berkeley.edu http://snap.berkeley.edu already has a #dl hash to do it (get xml of a project from SnapCloud).

Then, you can call https://snap.berkeley.edu/snapsource/snap.html#dl: Username=eprebys&ProjectName=Create%20Task%20Example and you'll get your xml.

I've seen the format is not the best. Depending your browser, you'll get an error... but in the url you'll hava all your code. You must copy and paste it.

Now I think this issue is really closed.

Joan

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/issues/1714#issuecomment-292905005, or mute the thread https://github.com/notifications/unsubscribe-auth/ACp0B3nkSf_KwlH9WHOAWC3t1DLiJm77ks5ruf3_gaJpZM4M3CHY .