Skip to content

Use golemcloud/quickjs with promise hooks for await continuations - #1

Merged
vigoo merged 1 commit into
v0.14.0-patchedfrom
promise-hooks-for-await
Nov 13, 2026
Merged

vigoo merged 1 commit into
v0.14.0-patchedfrom
promise-hooks-for-await

Conversation

@vigoo

@vigoo vigoo commented Nov 12, 2026

Copy link
Copy Markdown

This points sys/quickjs at golemcloud/quickjs promise-hooks-for-await (commit 970fe9d), from golemcloud/quickjs#1. With the new submodule commit, the QuickJS promise hook fires BEFORE/AFTER around every reaction job. With a hook installed, each await, including await in async generators, gets its own continuation promise whose parent is the awaited promise. wasm-rquickjs uses this to keep custom durability scopes apart across await (Linear GOL-925).

This PR changes only the submodule pointer. There are no Rust changes: Runtime::set_promise_hook and the hook types stay the same, and quickjs.h changes only in comments.

Merge order: merge golemcloud/quickjs#1 first, with a merge commit or a fast-forward, so that 970fe9d stays on v0.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,bindgen passes.

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]>
@vigoo
vigoo merged commit 9027091 into v0.14.0-patched Nov 13, 2026
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

Successfully merging this pull request may close these issues.

2 participants