Unfortunately, no partners were ready when we did the OT, so there was no feedback at all. However, we have subsequently received private feedback that the API works well.
On Thu, 8 Feb 2024 at 04:23, Alex Russell <slightly...@chromium.org> wrote: > Hey Adam, > > Glad to see this moving forward! Has there been a summary somewhere of the > OT feedback? Also, we noted that the other reviews were marked as unstarted > in chromestatus; we will likely hold off voting until those are in flight. > > Thanks! > > On Tuesday, February 6, 2024 at 1:43:46 PM UTC-8 Adam Rice wrote: > >> Contact emailsri...@chromium.org >> >> Explainer >> https://github.com/ricea/websocketstream-explainer/blob/master/README.md >> >> https://docs.google.com/document/d/1XuxEshh5VYBYm1qRVKordTamCOsR-uGQBCYFcHXP4L0/edit >> >> Specificationhttps://github.com/whatwg/websockets/pull/48 >> >> Design docs >> https://web.dev/websocketstream/ >> >> Summary >> >> The WebSocket API provides a JavaScript interface to the RFC6455 >> WebSocket protocol. While it has served well, it is awkward from an >> ergonomics perspective and is missing the important feature of >> backpressure. The intent of the WebSocketStream API is to resolve these >> deficiencies by integrating WHATWG Streams with the WebSocket API. >> >> >> Blink componentBlink>Network>WebSockets >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork%3EWebSockets> >> >> Search tagsWebSocket <https://chromestatus.com/features#tags:WebSocket>, >> Streams <https://chromestatus.com/features#tags:Streams>, ReadableStream >> <https://chromestatus.com/features#tags:ReadableStream>, WritableStream >> <https://chromestatus.com/features#tags:WritableStream> >> >> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/394 >> >> TAG review statusPending >> >> Chromium Trial NameWebSocketStream >> >> Link to origin trial feedback summary >> https://github.com/ricea/websocketstream-explainer/issues >> >> Origin Trial documentation link >> https://github.com/ricea/websocketstream-explainer/blob/master/README.md >> >> Risks >> >> >> Interoperability and Compatibility >> >> The main risk is that it fails to become an interoperable part of the web >> platform if other browsers do not implement it. >> >> >> *Gecko*: No signal ( >> https://github.com/mozilla/standards-positions/issues/970) >> >> *WebKit*: No signal ( >> https://github.com/WebKit/standards-positions/issues/315) >> >> *Web developers*: No signals >> >> *Other signals*: The Deno runtime has implemented the API: >> https://github.com/denoland/deno/issues/8831 >> >> Ergonomics >> >> A major focus of the new API is improving ergonomics over the existing >> WebSocket API. >> >> >> Activation >> >> Everything except for correct backpressure behaviour can be polyfilled. >> Developers who are sensitive to backpressure may prefer to feature-detect >> and fall back to application-level backpressure if the feature is not >> available. >> >> >> Security >> >> Security posture is the same as the existing WebSocket API. The WebSocket >> mojo IPC layer was designed to support backpressure and didn't need changes >> to support the new API. >> >> >> 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? >> >> No specific risk. >> >> >> Debuggability >> >> The necessary probes are included in the code so that existing WebSocket >> debugging facilities work as-is. >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, Android, and Android WebView)?Yes >> >> The feature is easy to support everywhere existing Blink WebSocket >> support exists. Blink WebSockets are supported on every Blink platform. >> >> >> Is this feature fully tested by web-platform-tests >> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >> ?Yes >> >> https://wpt.fyi/results/websockets/stream/tentative >> >> >> Flag name on chrome://flags >> about://flags/#enable-experimental-web-platform-features >> >> Finch feature nameWebSocketStream >> >> Requires code in //chrome?False >> >> Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=983030 >> >> MeasurementUse counter: >> https://chromestatus.com/metrics/feature/timeline/popularity/3018 >> >> Availability expectationThe feature is relatively straightforward to >> implement, so I would expect it to be available in other browsers within 12 >> months. >> >> Adoption expectationWe have a partner who is ready to adopt this as soon >> as it's available as the backpressure feature is critical for them. >> >> Non-OSS dependencies >> >> Does the feature depend on any code or APIs outside the Chromium open >> source repository and its open-source dependencies to function? >> No. >> >> Sample links >> https://github.com/ricea/websocketstream-explainer/blob/master/README.md >> >> Estimated milestones >> OriginTrial desktop last 80 >> OriginTrial desktop first 78 >> DevTrial on desktop 78 >> DevTrial on Android 78 >> >> Anticipated spec changes >> >> Open questions about a feature may be a source of future web compat or >> interop issues. Please list open issues (e.g. links to known github issues >> in the project for the feature specification) whose resolution may >> introduce web compat/interop risk (e.g., changing to naming or structure of >> the API in a non-backward-compatible way). >> In future it is likely that an option to use byte streams will be added, >> to allow efficient use of BYOB readers. The second parameter to the >> constructor is an option bag, permitting easy extensions. >> https://github.com/ricea/websocketstream-explainer/issues/15 is about an >> interesting case where a clean close is not possible when there is too much >> unread data. A fix for this will not break existing users. Support for >> ping/pong frames, and sending custom request headers with the handshake are >> popular requests for both the WebSocket and WebSocketStream APIs. These can >> be implemented without incompatible changes to the API (though on the >> server side they will cause much trouble). There are other open issues at >> https://github.com/ricea/websocketstream-explainer/issues but nothing >> that needs to be addressed urgently. >> >> Link to entry on the Chrome Platform Status >> https://chromestatus.com/feature/5189728691290112 >> >> Links to previous Intent discussionsIntent to prototype: >> https://groups.google.com/a/chromium.org/g/blink-dev/c/X7rWpAkMCyg/m/j6K7mEEwAgAJ >> Intent >> to Experiment: >> https://groups.google.com/a/chromium.org/d/msg/blink-dev/SUaSJzLQ1Yc/jmk7A-maAAAJ >> >> >> 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/CAC_ixdwX4dnvpwsOJ7nm%2BW6UYs%2BNwQ_gHZJD7yvzTcawD2Rw8w%40mail.gmail.com.