ports/webassembly: import of a preloaded Emscripten FS fails on Node
Checks
-
I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.
-
I've searched for existing issues matching this bug, and didn't find any.
Port, board and/or hardware
webassembly
MicroPython version
MicroPython v1.23.0-preview.324.g6634fea23.dirty on 2024-04-22; JS with Emscripten
(I've added more modules to the manifest)
Reproduction
- build webassembly port pyscript -> OK
- open repl via
node build-pyscript/micropython.mjs-> OK - micropython.mjs can be used on HTML pages as described in the readme file -> OK
so far so good - however... I want to "freeze" existing micropython files in an emscripten FS. For this I'm using the --preload-file argument in the makefile like this:
$(Q)emcc $(LDFLAGS) -o $@ $(OBJ) $(JSFLAGS) --preload-file <directory_with_python_files>
this works as expected in the browser and I can successfully import it via mp.pyimport(xxxx)
But I can't run the node repl with that micropython.mjs anymore. When trying to start the REPL I'm getting the following error:
<img width="872" alt="image" src="https://github.com/micropython/micropython/assets/5887072/5155d12f-1939-4fd4-a0c3-562ef621148f">
Expected behaviour
When building with --preload-file I'd expect that the REPL still starts and I can import the preloaded files
Observed behaviour
The above error appears (no REPL)
Additional Information
No, I've provided everything above.
[webassembly] element.onclick = async fn fails
Checks
-
I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.
-
I've searched for existing issues matching this bug, and didn't find any.
Port, board and/or hardware
webassembly PyScript port
MicroPython version
latest
Reproduction
async def thing(event):
print(event)
element.onclick = thing
There's no way to have an async listener.
Expected behaviour
in JS and other runtimes, element.onclick = async_ref works, in MicroPython nothing happens ... async def(): are all ignored when assigned, either via run or runAsync utilities.
Observed behaviour
in JS and other runtimes, element.onclick = async_ref works, in MicroPython nothing happens ... async def(): are all ignored when assigned, either via run or runAsync utilities.
Additional Information
No, I've provided everything above.