Thanks for all of this. I'm comfortable with the continuation given the breaking change.
LGTM On Thu, Oct 17, 2024, 10:36 AM Francis McCabe <f...@chromium.org> wrote: > Hi Alex > Some small responses: > > 1. We currently have around 120 OT registrants. We have had some informal > feedback, including from Meet — who are planning to use JSPI as part of > their effort to migrate to WebGPU. > 2. Agreed that we can ping Webkit now. Will do soon. > 3. The process for the CG hinges on a few things: getting the tests in > good shape (done I hope), getting the spec in good shape (see below). > Hopefully, we will be going to phase 4 before the end of the year. > 4. Yes, there was a breaking change in 129. We retired the ‘old’ API and > only supported the ’new’ API from that release. (The new API was actually > live since 126.) > > Wrt spec: it turns out that specifying JSPI in a faithful way has been > challenging. This is due to a semantic mismatch between how JS is specified > and how Wasm is specified. (Actually, it is mostly an issue for JS). > However, I believe that we are in a reasonable position now; but I’m not > counting chickens at the moment. > > The documentation link should be correct. It has not changed for a while. > > Francis > > > On Oct 16, 2024, at 9:54 PM, Alex Russell <slightly...@chromium.org> > wrote: > > Hey Francis, > > A few small questions...: > > - Is the OT documentation link correct? > - Have we requested a position from WebKit? Seems like we're far > enough along to start on that. > > ...and a few larger questions: > > - If I understand this correctly, there was a *breaking* change in > 129? If so, that's helpful for requesting an end-to-end this long, as it > would reset the "burn in" clock. > - Has there been feedback from the original OT that you can share? > - Why shouldn't we just ship this now? I understand the WASM WG > process arguments, but if we've got good confidence in the current API > shape and the developer feedback on the M129+ API shape is positive, we > might look to send I2S before this OT ends (with a gapless OT). How are > y'all thinking about that? > > Best, > > Alex > > On Thursday, October 17, 2024 at 3:30:33 AM UTC+5:30 Chromestatus wrote: > >> Contact emails f...@chromium.org >> >> Explainer >> https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md >> >> Specification >> https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md >> >> Design docs >> >> https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit#heading=h.n1atlriavj6v >> >> Summary >> >> Stack Switching denotes a technology that allows programs to suspend and >> resume computation. This is an active area that is part of the WebAssembly >> standards track. See https://github.com/WebAssembly/stack-switching and >> https://github.com/WebAssembly/meetings/tree/main/stack. This particular >> feature refers to the integration between JavaScript Promises and stack >> switching. This is described in more detail in >> https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit# >> >> >> Blink component Blink>JavaScript>WebAssembly >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly> >> >> Search tags stack switching <http://features/#tags:stack%20switching>, >> Promise <http://features/#tags:Promise>, JSPI >> <http://features/#tags:JSPI> >> >> TAG review https://github.com/w3ctag/design-reviews/issues/809 Review >> was declined, deferring to W3C WebAssembly CG >> >> TAG review status Pending >> >> Chromium Trial Name WebAssemblyJSPromiseIntegration >> >> Origin Trial documentation link >> https://github.com/WebAssembly/js-promise-integration >> >> WebFeature UseCounter name kV8WasmJavaScriptPromiseIntegration >> >> Risks >> >> >> Interoperability and Compatibility >> >> This spec is backed by a standardization effort. We do not plan to ship >> the JSPI until it has been standardized by the W3C Wasm WG. However, post >> standardization, we will depend on all browsers implementing the standard. >> >> >> *Gecko*: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1850627) >> Mozilla have started their own imlementation >> >> *WebKit*: No signal >> >> *Web developers*: No signals >> >> *Other signals*: >> >> Activation >> >> Making use of JSPI requires some changes by WebAssembly-based developers >> (no impact on JavaScript developers). Depending on their toolchain usage a >> developer will need to modify their code. For Emscripten users, this is >> likely to be minimal as support for JSPI exists in Emscripten. >> >> >> Security >> >> 1. Control flow integrity. 2. Ensuring that JavaScript programs cannot >> suspend via JSPI. >> >> >> WebView application risks >> >> Does this intent deprecate or change behavior of existing APIs, such that >> it has potentially high risk for Android WebView-based applications? >> >> >> >> Goals for experimentation >> >> >> >> Reason this experiment is being extended >> >> JSPI is part of a standards track effort. We are currently in 'stage 3' >> of a five stage process. The next stage (4) is when a specification is >> deemed final. There was a change in the API which we soft launched in M126 >> but we would like to formally switch to this new API in M129. (We had >> informed our users that we would be maintaining the old API through the end >> of the OT.) So, in summary there are two reasons for extending the origin >> trial: 1. We are not quite ready to move the spec to phase 4. This is for >> non-implementation reasons: we need to draft and review the specification >> text; which, for a feature like JSPI is not completely trivial. 2. We would >> like to allow sufficient time for users to fully experiment with the new >> API. We anticipate being able to fully ship JSPI before the end of 2024. >> >> >> Reason this experiment is being extended >> >> We wish to extend the OT for JSPI for a second time. Hopefully, this will >> be the last extension before shipping. We have recently implemented one of >> the key technology improvements that we believed necessary for shipping: >> growable stacks. However, performance remains a blocker for some partners >> and we would like to be able to continue performance improvements. The >> specification itself should be moving to phase 4 in the standards process; >> hopefully in the next few months. >> >> >> Ongoing technical constraints >> >> None. >> >> >> Debuggability >> >> Developers can piggyback on existing DevTools support for Promises to >> help with debugging JSPI applications. In particular the existing >> mechanisms for constructing extended stack traces from so-called Promise >> chains will also include stack traces from JSPI applications. >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, Android, and Android WebView)? Yes >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ? No >> >> Flag name on chrome://flags >> enable-experimental-webassembly-stack-switching >> >> Finch feature name None >> >> Non-finch justification None >> >> Requires code in //chrome? False >> >> Tracking bug >> https://bugs.chromium.org/p/v8/issues/detail?id=12191&q=owner%3Ame&can=2 >> >> Estimated milestones >> Origin trial desktop first 123 >> Origin trial desktop last 131 >> Origin trial extension 1 end milestone 131 >> Origin trial extension 2 end milestone 133 >> DevTrial on desktop 109 >> Origin trial Android first 123 >> Origin trial Android last 131 >> Origin trial WebView first 123 >> Origin trial WebView last 131 >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5674874568704000?gate=5414230854205440 >> >> Links to previous Intent discussions Intent to Prototype: >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAdKk6BGFseZ6pBO2qEW_xeovVw1_guVq26rcNM1nWY442Y5Ng%40mail.gmail.com >> Intent to Experiment: >> https://groups.google.com/a/chromium.org/g/blink-dev/c/Fu79zrp7MoE >> Intent to Extend Experiment 1: >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALi9WK-JJNTYSeNdSuai827Qg5%3D2vZo-emYP2z-5vJOfE%2B8Nng%40mail.gmail.com >> >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com/>. >> > > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA44PQgJrvsa_QAASKkQ9gxYqMqiqJY_pA_AnnSpGouN%3DzpMnA%40mail.gmail.com.