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

WebAssembly JavaScript Promise Integration API #809

Closed
fgmccabe opened this issue Jan 24, 2023 · 3 comments
Closed

WebAssembly JavaScript Promise Integration API #809

fgmccabe opened this issue Jan 24, 2023 · 3 comments
Assignees
Labels
Progress: review complete Resolution: decline The TAG declines to review this work. We don't think our review would add much. We don't object. Venue: WebAssembly CG

Comments

@fgmccabe
Copy link

Wotcher TAG!

I'm requesting a TAG review of JSPI.

The WebAssembly JavaScript Promise Integration (JSPI) API is a standard-track effort of the WebAssembly WG (via its CG) to allow WebAssembly applications to access asynchronous APIs, under the constraint that the only changes are to the JS API and not to core WebAssembly (or to JavaScript)

  • Explainer
  • Specification URL: spec url
  • Tests: wpt
  • User research: [url to public summary/results of research]
  • Security and Privacy self-review²: url
  • GitHub repo (if you prefer feedback filed there): url
  • Primary contacts (and their relationship to the specification):
  • Organization(s)/project(s) driving the specification: WebAssembly CG
  • Key pieces of existing multi-stakeholder review or discussion of this specification: see explainer
  • External status/issue trackers for this specification (publicly visible, e.g. Chrome Status): see chrome status

Further details:

  • [ x] I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines: There is no specific deadline; however, a second browser implementation is anticipated in 2023H1.
  • The group where the work on this specification is currently being done: WebAssembly Community Group
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WebAssembly Working Group
  • Major unresolved issues with or opposition to this specification: none
  • This work is being funded by:

You should also know that...

  1. The purpose of this API is to allow WebAssembly applications originally written against synchronous APIs to work with APIs that are mostly asynchronous in nature (i.e., Web APIs). WebAssembly code is typically compiled from languages like C++ that do not have a rich history of asynchronous functionality.
  2. We have been careful in the design to not require any changes to either the JavaScript language or the WebAssembly instruction set.
  3. We have been careful to constrain the design in such a way that JavaScript applications cannot use JSPI to implement alternate suspension mechanisms to those already part of the Web ecosystem. (I.e., JS programs cannot use JSPI to suspend themselves.)
  4. This is part of a larger effort to bring coroutining capabilities to WebAssembly. However, this is not dependent on those efforts and also has benefits that do not rely on 'core' stack switching.

We'd prefer the TAG provide feedback as (please delete all but the desired option):

☂️ open a single issue in our GitHub repo for the entire review. Note, if appropriate, it is also possible to initiate discussion topics on the repo

@torgo torgo modified the milestones: 2023-09-04-week, 2023-10-09-week Oct 8, 2023
@fgmccabe
Copy link
Author

fgmccabe commented Nov 2, 2023

I was wondering if there was any movement from the TAG on this issue.
We are hoping to ship this API in 24H1.

@torgo torgo removed this from the 2024-01-23-f2f-London milestone Jan 23, 2024
@torgo torgo assigned LeaVerou and unassigned cynthia and atanassov Jan 23, 2024
@fgmccabe
Copy link
Author

fgmccabe commented Mar 4, 2024

Chrome (M123) is just about to enter origin trial for this feature.

@torgo torgo added this to the 2024-03-18-week milestone Mar 17, 2024
@plinss plinss removed this from the 2024-03-18-week milestone Mar 25, 2024
@torgo torgo added this to the 2024-04-22-week milestone Apr 21, 2024
@plinss plinss removed this from the 2024-04-22-week milestone Apr 29, 2024
@torgo torgo added this to the 2024-07-01-week:e milestone Jun 30, 2024
@torgo torgo modified the milestones: 2024-08-05-week, 2024-08-26-week Aug 8, 2024
@jyasskin jyasskin self-assigned this Aug 26, 2024
@jyasskin
Copy link
Contributor

Thank you @fgmccabe for bringing this to us, and we apologize for taking so long to respond to it. We appreciate the work to integrate Promises into Web Assembly. We think the Web Assembly CG is/has been the right place to review it, so we're going to decline the review here.

@jyasskin jyasskin added Progress: review complete Resolution: decline The TAG declines to review this work. We don't think our review would add much. We don't object. labels Aug 29, 2024
@jyasskin jyasskin removed this from the 2024-08-26-week milestone Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Progress: review complete Resolution: decline The TAG declines to review this work. We don't think our review would add much. We don't object. Venue: WebAssembly CG
Projects
None yet
Development

No branches or pull requests

7 participants