bytecodealliance / bytecodealliance/ComponentizeJS
Export synchronous function with a deferred fetch
- Dominant language
- Rust
- Stars
- 391
- Forks
- 53
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 1
Description
Hi I have put together [this repo](https://github.com/rhodey/componentizejs-debug) with steps to reproduce.
ComponentizeJS is failing when:
1. exports a synchronous function.
2. the synchronous function starts deferred work (fetch).
Two branches have been prepared:
1. [main](https://github.com/rhodey/componentizejs-debug/tree/main) await is used and tests pass.
2. [poll](https://github.com/rhodey/componentizejs-debug/tree/poll) a polling mechanism is used and tests hang.
Repo includes all dependencies at latest versions at time of writing:
+ componentize-js 0.19.3
+ rust 1.93.0
+ wit-bindgen 0.53.1
+ wit-bindgen-rt 0.44.0
+ wstd 0.6.5
Repo README is very detailed
I cannot use await because I have read it is implemented as blocking the caller and my caller is an http server
Please do ask any and all questions and thanks for ComponentizeJS
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the detailed README and reproduction repository linked in the issue, then compare the main and poll branches. Run the poll branch to confirm the hanging behavior and contrast it with the await branch. Done means the synchronous export can start deferred fetch work without the polling reproduction hanging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, rust, wasm
- Domain
- backend, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100