Skip to content
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

Integrate rquickjs for Azle stable #1994

Closed
18 tasks done
lastmjs opened this issue Aug 6, 2024 · 0 comments
Closed
18 tasks done

Integrate rquickjs for Azle stable #1994

lastmjs opened this issue Aug 6, 2024 · 0 comments
Assignees

Comments

@lastmjs
Copy link
Member

lastmjs commented Aug 6, 2024

I would feel much more comfortable integrating rquickjs for the stable version of Azle. I am trying to gauge how stable/production-ready the project is and especially the wasm32-wasi support, I've opened an issue here: DelSkayn/rquickjs#351

wasmedge-quickjs has been great for the Node.js APIs...but the project feels very alpha/unstable.

While implementing this, we might want to split the Rust crate into two separate crates, stable and experimental. This might be the best path forward because of how different the rquickjs and wasmedge-quickjs bindings will be across the ic object etc.

  • Get basic synchronous stuff working
  • Get async stuff working
  • Understand and implement the event loop
  • clean up all warnings, unused, etc
  • clean up all clones
  • as we are writing did, js, binary to disk in the .azle directory, should we do that as we go? And should we output maybe a README that explains what is going on and explains how far along in the process we got?
  • make sure to get rid of all weird string or other conversions, I hope that rquickjs doesn't require that, use exact conversions
  • ic-api test is messed up
  • get all tests passing
  • Being able to print during the candid process would be great but we keep getting a strange error
  • I think stable b tree maps will break still when using stable in experimental...I didn't go through and change those interfaces
  • Make sure that we haven't messed up experimental...if the experimental binary now imports something from stable, the _azleIcStable object will not exist...I think this might be a very large deal actually. I'm starting to look into console, but we should check for all imports from stable in the experimental binary
  • review and clean up the PR
  • Really make sure async stuff works great
  • What happens if you turn on experimental but use stable APIs
  • should I just run the event loop after every execution of quickjs_with_ctx? Like put it in that function?
  • When I call a canister query method called test that returns void but logs stuff, I can only call it once, it seems like it isn't executed more than the first time: Strange query cache behavior #2195
  • make great result stuff...nice errors
@lastmjs lastmjs added this to the 1.0 milestone Aug 6, 2024
@lastmjs lastmjs self-assigned this Sep 30, 2024
@lastmjs lastmjs modified the milestones: 1.0, Release Candidate Oct 19, 2024
@lastmjs lastmjs closed this as completed Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant