Allow Workers w/out SharedArrayBuffer #1967
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This MR is a follow up integration of pyscript/polyscript#80
Beside fixing the exported JS'
PyWorker
, which was fully broken and not smoke-tested properly, these changes allow the usage of PyScript in workers without DOM primitives or mechanism that requires synchroonus worker -> main operations, still allowing the worker code to expose, viapyscript.sync
, any utility / callback that can be then consumed via the main thread only asynchronously.Example
This MR takes the opportunity to also expose
MPWorker
besidePyWorker
as that was also missing before.Changes
PyWorker
in the JS side of affairs returns a promise which is resolved when the worker has fully bootstrapped, guaranteeing thatsync
utilities can be accessed later onsync_main_only
configuration flag to disable any DOM in workers but still allow the main thread to interact with their exportedpyscript.sync
utilitiesready
promise forXWorker
Checklist
CHANGELOG.md