Repository navigation
Use golemcloud/quickjs with promise hooks for await continuations - #1
Merged
Merged
Conversation
Points sys/quickjs at golemcloud/quickjs promise-hooks-for-await: the current v0.14.0-patched branch plus a backport of quickjs-ng PR #1808 and one follow-up commit for async generators. The promise hook now fires BEFORE/AFTER around every reaction job, and with a hook installed each await, including await in async generators, gets its own continuation promise whose parent is the awaited promise. No Rust changes: Runtime::set_promise_hook and the hook types are unchanged. Amp-Thread-ID: https://ampcode.com/threads/T-01a1d0c9-7061-75b3-8128-9621b38ec400 Co-authored-by: Amp <[email protected]>
noise64
approved these changes
Nov 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This points
sys/quickjsat golemcloud/quickjspromise-hooks-for-await(commit970fe9d), from golemcloud/quickjs#1. With the new submodule commit, the QuickJS promise hook firesBEFORE/AFTERaround every reaction job. With a hook installed, eachawait, includingawaitin async generators, gets its own continuation promise whose parent is the awaited promise. wasm-rquickjs uses this to keep custom durability scopes apart acrossawait(Linear GOL-925).This PR changes only the submodule pointer. There are no Rust changes:
Runtime::set_promise_hookand the hook types stay the same, andquickjs.hchanges only in comments.Merge order: merge golemcloud/quickjs#1 first, with a merge commit or a fast-forward, so that
970fe9dstays onv0.14.0-patched. If that PR gets squashed or rebased, update this pointer to the new commit.Check:
cargo test --tests --workspace --no-default-features --features full-async,bindgenpasses.