Ringifying a function in the map block crashes snap

Recently when I was writing code for a project I was working on, I encountered a bug that I assumed was just a one time odd snap! bug that probably would not appear again, but the bug occurred twice and it is very disruptive to being able to code if you are making the specific type of program I am trying to make.

I have not attempted yet to recreate the bug, but it has happened both times when I tried to ringify a reporter in the first slot of the map block, which resulted in all of the code I had written in the red marked region being deleted, and the map block looking like the yellow region:

Additionally the website is completely frozen and nothing is responsive.

I believe that the original yellow region looked like this before I ringifyed the blue reporter blocks although I am not sure:

Other possibly relevant info:
The clone block was returning an error on this line for calling some variable "fn" with a list with only one item (the number 1 in the slot) previously, but it did not return that error when it crashed.
I am running in flat mode (with the dark flat mode bookmarklet) on snap version 9.2.17 (online version) in Firefox.

Is there any way I can recover my code from this kind of crash? I have not closed the tab, and it is still fully viewable, just unresponsive. If there is any way that would be very nice because I spent a long time to get to the current version of my code.

I cant share a project link for the code because I don't have the current version of the code, but I could send the old code if that would help.

Edit while writing this post:
I figured out how to recreate it, go into the controls sprite in the program below and follow the instructions in the comment next to it, and the bug will happen.

https://snap.berkeley.edu/embed?projectname=Snap%20Crash%201&username=schoolcs002&showTitle=true&showAuthor=true&editButton=true&pauseButton=true

Its very unlikely that you'd be able to recover the current stat of your project.

You might be able to get a recent version of it by goign to file open dialog but selecting recover

image

JS console, Chrome@Win10 v.124, once after a few clicks "ringify/unringify", somehow related to the clones

blocks.js?version=2024-04-17:7948 Uncaught TypeError: Cannot read properties of undefined (reading 'outlinePath')
    at RingMorph.render (blocks.js?version=2024-04-17:7948:14)
    at Morph.drawOn (morphic.js?version=2024-03-01:3666:14)
    at Morph.fullDrawOn (morphic.js?version=2024-03-01:3687:10)
    at morphic.js?version=2024-03-01:3688:42
    at Array.forEach (<anonymous>)
    at Morph.fullDrawOn (morphic.js?version=2024-03-01:3688:19)
    at morphic.js?version=2024-03-01:3688:42
    at Array.forEach (<anonymous>)
    at Morph.fullDrawOn (morphic.js?version=2024-03-01:3688:19)
    at morphic.js?version=2024-03-01:3688:42

BTW: your script pictures looks like a non-standard "Dark Flat". Do you use "officiall" Snap without any modification like user script, JS blocks?

I am using the official version of snap, with the only modification being egolay-atmanbay's dark flat mode bookmarklet.

And when I saw the OG post, I tried it and it actually crashed, but I need to see if dev mode / version changes anything
The below are for me to edit in my findings.
Regular mode, regular version: crashes like in OG post.
Dev mode, regular version: Yeah, still crashes.
Regular mode, dev version: Really? Still crashing even in V10 dev?
Dev mode, dev version: Cannot replicate due to no "ringify option" there.

thanks for the report. There's a fix for this that I'll push next week, either to v10 dev or to production, I'm not yet decided.

You're generally against people working on projects in the unfinished Dev version, which is understandable. But making the push v10 only makes it so that @schoolcs002 would either have to wait or work on his project in the unfinished Dev version

they can just work on their project in a reasonable way, as they would in any other programming language.

I guess that's true, but you should still probably push it as a bug fix in the next minor Snap 9 version