-
Notifications
You must be signed in to change notification settings - Fork 485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking issues of OpenDAL wasm32-unknown-unknown target support #3803
Comments
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
For now, I think the service based on the TCP socket is not working because the The TCP service is some service like following bellow:
|
For now, we can't use it on both wasm runtimes, because both of the runtimes is based on wasm32-wasi I have reminded it in the previous comment. The WASI runtime is not support for the wasm-bindgen which is dependent by reqwest now. If we want to support the wasi runtime, we may need the other HTTP client which is compatible with the WASI spec |
Thanks, let's remove them. I just found that support |
For now, the |
incompatible crate found: cargo tree -i ring
ring v0.17.5
├── jsonwebtoken v9.2.0
│ └── reqsign v0.14.6
│ └── opendal v0.43.0
├── rustls v0.21.9
│ ├── hyper-rustls v0.24.2
│ │ └── reqwest v0.11.22
│ │ ├── opendal v0.43.0
│ │ └── reqsign v0.14.6 (*)
│ ├── reqwest v0.11.22 (*)
│ └── tokio-rustls v0.24.1
│ ├── hyper-rustls v0.24.2 (*)
│ └── reqwest v0.11.22 (*)
├── rustls-webpki v0.101.7
│ └── rustls v0.21.9 (*)
└── sct v0.7.1
└── rustls v0.21.9 (*) Related issue: briansmith/ring#657 |
Let's mark gcs as unsupported since gcs will require |
@suyanhanx it seems surprising that ring would be failing in that way: the issue you linked seemed to say that it should be able to build for the author (@briansmith) does note that some functionality isn't available yet, but is open to extending support. do we know what is being used that isn't supported? |
Thanks for raising this up! I re-visit the gcs support on wasm, and confirmed that gcs is able to compile on |
Thank you for pointing that out! |
Hi, I am very interested in trying the wasm version of opendal for my project But I am not a professional rust developer though (I know something about javascript/typescript but none of rust), so I have some questions/ suggestions:
Thank you so much and happy new year! |
It is still in a early stage and has not yet reached the stage where it can be released as a lib. Maybe you could take a look at OpenDAL node.js binding. |
Hi @fyears, thank you for your interest! As @Young-Flash mentioned, our WebAssembly support is still in the early stages and not yet ready for practical use.
Not yet. WASM support is still in active development, and we need to address existing bugs such as #3810 before proceeding. We haven't released it yet. (However, you can create a wasm library by running
We are using
We will not support the
Nice question. We want this as well, but I'm not sure how to implement it. We can re-visit this after we have build a usable opendal wasm lib. |
After a quick search, it seems that web-sys has a clear mapping to js web api. However I think the most dirty work comes to the data crossing boundaries: wasm (prepare the net calls) -> js (fetch hook) -> wasm (reading the result) Let's wait for the stable wasm releases first... LOL Furthermore, my intention is to use opendal in my 320k downloaded project ( |
Interesting use case! I personally want OpenDAL to be usable in web browsers and Electron as well. |
I've played with the HTTP operator and it works well. Except for the CORS problem mentioned before. It needs the support from server to add CORS header (like the S3 operator) |
may i ask is it usable now? |
By adding WASM support for opendal, we will allow users to use
opendal
in targets likewasm32-unknown-unknown
. In a short word, users can useopendal
in web browser!We have addressed most blockers by #3796 and adding a basic test for s3 #3802. It's time for us to move forward.
This tracking issue is used to track our current progress of wasm support. Welcome to join in us!
Tasks
Add OPFS support
After opendal is ready for WASM, we can start to work for opfs now!
Add support for more services
Please run the following command to check if opendal can build under
wasm32
arch:Visit #3796 for possible fix or ask directly in this issue.
It's possible that some services can't support wasm at all, like
fs
. Please also provide your feedback here. We will collect them into a seperate doc.cacache(can't support)etcd(can't support)foundationdb(can't support)fs(can't support)hdfs(can't support)mongodb(can't support)mysql(can't support)persy(can't support)postgresql(can't support)redb(can't support)redis(can't support)rocksdb(can't support)sftp(can't support)sled(can't support)sqlite(can't support)tikv(can't support)Testing
Benchmark
Existing issues
wasm-pack test --node
doesn't work fors3_read_on_wasm
wasm-pack test --chrome --headless
doesn't work fors3_read_on_wasm
#3809The text was updated successfully, but these errors were encountered: