bytecodealliance / bytecodealliance/ComponentizeJS

Export synchronous function with a deferred fetch

Open
#320 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.