LGTM3

On Tue, Mar 5, 2024 at 10:16 AM 'Thomas Steiner' via blink-dev <
blink-dev@chromium.org> wrote:

> As an additional developer signal showing that developers want this,
> there's a polyfill: https://github.com/CarterLi/websocketstream-polyfill.
>
> On Tue, Mar 5, 2024 at 10:10 AM Domenic Denicola <dome...@chromium.org>
> wrote:
>
>> LGTM2.
>>
>> I appreciate Adam's careful attention to all portions of the process
>> here, and also Alex's probing as to whether we're meeting the developer
>> interest portion. Although this would be more of a slam-dunk if we were
>> able to get that partner to comment publicly on their experience, I'm
>> willing to take Adam's word on it about the private feedback.
>>
>> Combined with the general positive sentiment, e.g. from Deno (which is a
>> server-side runtime, but I think we have a good amount of experience
>> showing that people like writing the same code across server and browser),
>> and in response to the 2020 article
>> <https://twitter.com/search?q=url%3Ahttps%3A%2F%2Fweb.dev%2Fwebsocketstream%2F&src=typed_query&f=live>,
>> and the repeated "when is this coming" comments in the tracking bug
>> <https://issues.chromium.org/issues/41470216>... I think we have enough
>> evidence that this will move the web forward in a positive way.
>>
>> With my API owner hat off, I'm also just happy about this API existing,
>> as I think it's generally good for the platform when we go back and take
>> older, but still popular technologies, and retrofit them with modern
>> capabilities and APIs like backpressure-supporting streams. It makes the
>> web feel more cohesive and well-designed.
>>
>> On Tuesday, March 5, 2024 at 8:46:59 AM UTC+9 Adam Rice wrote:
>>
>>> Thanks Alex,
>>>
>>> We have a partner who need backpressure to avoid jank in their app. I've
>>> been waiting for them to comment, but it's taking a while.
>>>
>>> Adam
>>>
>>> On Thu, 22 Feb 2024 at 01:53, Alex Russell <slightly...@chromium.org>
>>> wrote:
>>>
>>>> Hey Adam,
>>>>
>>>> Sorry for the slow follow up. Were there folks beyond the Deno
>>>> ecosystem that expressed interest and/or satisfaction with the design?
>>>> We're need to make a case in API OWNERS that there's enough developer
>>>> interest to surmount the lack of other vendor interest. Are you able to
>>>> share more?
>>>>
>>>> Thanks,
>>>>
>>>> Alex
>>>>
>>>> On Friday, February 16, 2024 at 12:10:50 AM UTC-8 Adam Rice wrote:
>>>>
>>>>> Any reason the PR for the spec hasn't landed yet?
>>>>>
>>>>>
>>>>> We don't have interest from a second implementer yet. As far as I
>>>>> know, Deno doesn't count for this purpose.
>>>>>
>>>>> On Fri, 16 Feb 2024 at 03:50, Chris Harrelson <chris...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Any reason the PR for the spec hasn't landed yet?
>>>>>>
>>>>>> On Thu, Feb 15, 2024 at 7:54 AM Mike Taylor <miketa...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Thank you - LGTM1
>>>>>>> On 2/15/24 7:16 AM, Adam Rice wrote:
>>>>>>>
>>>>>>> Thanks Mike,
>>>>>>>
>>>>>>> I have requested the approvals. Sorry for the delay, I didn't
>>>>>>> understand the interface.
>>>>>>>
>>>>>>> Adam
>>>>>>>
>>>>>>> On Thu, 15 Feb 2024 at 01:39, Mike Taylor <miketa...@chromium.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Adam,
>>>>>>>>
>>>>>>>> Would you mind requesting approvals in the chromestatus entry for
>>>>>>>> the various review gates?
>>>>>>>> On 2/8/24 1:30 AM, Adam Rice wrote:
>>>>>>>>
>>>>>>>> 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 emails ri...@chromium.org
>>>>>>>>>>
>>>>>>>>>> Explainer
>>>>>>>>>> https://github.com/ricea/websocketstream-explainer/blob/master/README.md
>>>>>>>>>>
>>>>>>>>>> https://docs.google.com/document/d/1XuxEshh5VYBYm1qRVKordTamCOsR-uGQBCYFcHXP4L0/edit
>>>>>>>>>>
>>>>>>>>>> Specification https://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 component Blink>Network>WebSockets
>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork%3EWebSockets>
>>>>>>>>>>
>>>>>>>>>> Search tags WebSocket
>>>>>>>>>> <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 review https://github.com/w3ctag/design-reviews/issues/394
>>>>>>>>>>
>>>>>>>>>> TAG review status Pending
>>>>>>>>>>
>>>>>>>>>> Chromium Trial Name WebSocketStream
>>>>>>>>>>
>>>>>>>>>> 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 name WebSocketStream
>>>>>>>>>>
>>>>>>>>>> Requires code in //chrome? False
>>>>>>>>>>
>>>>>>>>>> Tracking bug
>>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=983030
>>>>>>>>>>
>>>>>>>>>> Measurement Use counter:
>>>>>>>>>> https://chromestatus.com/metrics/feature/timeline/popularity/3018
>>>>>>>>>>
>>>>>>>>>> Availability expectation The feature is relatively
>>>>>>>>>> straightforward to implement, so I would expect it to be available 
>>>>>>>>>> in other
>>>>>>>>>> browsers within 12 months.
>>>>>>>>>>
>>>>>>>>>> Adoption expectation We 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 discussions Intent 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
>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAC_ixdwX4dnvpwsOJ7nm%2BW6UYs%2BNwQ_gHZJD7yvzTcawD2Rw8w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>> --
>>>>>>> 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/61e1ef29-5c9b-42de-83f6-d3ca931662bf%40chromium.org
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/61e1ef29-5c9b-42de-83f6-d3ca931662bf%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>> 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/51712f36-d16a-4b6e-baf9-da35b4785f04n%40chromium.org
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/51712f36-d16a-4b6e-baf9-da35b4785f04n%40chromium.org?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Thomas Steiner, PhD—Developer Relations Engineer (blog.tomayac.com,
> toot.cafe/@tomayac)
>
> Google Germany GmbH, ABC-Str. 19, 20354 Hamburg, Germany
> Geschäftsführer: Paul Manicle, Liana Sebastian
> Registergericht und -nummer: Hamburg, HRB 86891
>
> ----- BEGIN PGP SIGNATURE -----
> Version: GnuPG v2.4.3 (GNU/Linux)
>
> iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck
> 0fjumBl3DCharaCTersAttH3b0ttom.xKcd.cOm/1181.
> ----- END PGP SIGNATURE -----
>
> --
> 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/CALgRrLmPi%2BfdcLZ6UfCF3BRN0sdoGs8eOu9Y87%3DLikE94Qr%3D%3Dw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrLmPi%2BfdcLZ6UfCF3BRN0sdoGs8eOu9Y87%3DLikE94Qr%3D%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAOmohS%2Bgb-6TmFZJj4J30j37om8ZHx54SWWiFK_2N6CB75Pnxg%40mail.gmail.com.

Reply via email to