This is now fixed by making sure the buffer is flushed on reload / exit. Should be released in a beta version in a couple of minutes. Turn on the beta channel in Heynote's settings if you want to update to it right away.
2. Only Match blocks evaluate, and it's likely to stay that way.
I didn't put too much consideration into picking a license. If someone has compelling arguments for why I should license it differently, I would absolutely consider it.
Yeah, I looked at Tauri in the beginning of the project. What made me go with Electron was the maturity and large user base. And it has actually been a bliss to work with Electron (my expectations after having worked with other cross-platform tools for mobile were extremely low), so I haven't regretted my choice. I've dealt with very few bugs. I love that there is a large ecosystem, and that it was easy to automate building (as well as auto-updating) for multiple platforms.
Performance is mostly handled by CodeMirror (https://codemirror.net/), the underlying editor that Heynote is built upon. It seems to handle quite large buffers well. Where I have seen some minor performance issues is when working with very large blocks in certain language modes.
I get the idea of the "inverted order". I wonder if it would be enough to make it configurable so that C-Enter inserts a new block before the current one + Heynote sets the cursor at the beginning of the buffer at startup (instead of last which is the current behavior)?