Support arrow-flight WASM
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 1.3k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 169
Description
**Describe the bug**
One cannot compile a flight-rpc client for a wasm target, and feature flags does not resolve the issue.
This is due to problematics packages socket2 and mio, for which socket2 is present in tonic where it doesn't cancel it out for wasm targets.
**To Reproduce**
1. Create an absolute bare bones flight-rpc client e.g. list flights.
2. Compile it to a wasm target, and the build fails due to socket2 and mio.
**Expected behavior**
Able to run flight-rpc client in rust in the browser (wasm). Particularly given Typescript doesn't support it, so it's one of the only viable options.
**Additional context**
Lots of manual github patching hell and feature flags did not break through this, hence I'm raising. If anyone is able to assist will be a major help. Thanks heaps.
Contributor guide
Research direction
Start with the bare-bones Flight RPC client described in the issue and reproduce its WASM build failure. Trace how tonic brings in socket2 and mio for the WASM target; done means a Rust Flight RPC client can compile and run in the browser without manual dependency patching or feature-flag workarounds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- api, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100