* Add 'xterm' attribute in py-config using new validation
* Use screen reader mode
* Add `xtermReady` promise to allow users to away xterm.js init
* Guard against initializing a tag twice
* Add tests and doc
* Upgrade to Pyodide 0.23.2
* Update changelog
* Use @param decorator to fix kmeans examlpe
* Separate zz_example tests to run sequentially
* Remove pytest.raises from pyscript_src_not_found test, use check_js_errors instead
* Add 'check_js_errors' to wait_for_pyscript
* Add new _event_handling.py file with @when decorator
* @when decorate is in pyscript package namespace/_all__
* Write tests in new test_event_handling.py
* Add docs for @when decorator
------------
Co-authored-by: Mariana Meireles <marian.meireles@gmail.com>
This PR adds support for optionally running pyodide in a web worker:
- add a new option config.execution_thread, which can be `main` or `worker`. The default is `main`
- improve the test machinery so that we run all tests twice, once for `main` and once for `worker`
- add a new esbuild target which builds the code for the worker
The support for workers is not complete and many features are still missing: there are 71 tests which are marked as `@skip_worker`, but we can fix them in subsequent PRs.
The vast majority of tests fail because js.document is unavailable: for it to run transparently, we need the "auto-syncify" feature of synclink.
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
Co-authored-by: Madhur Tandon <20173739+madhur-tandon@users.noreply.github.com>