Thank you!

On Thu, Oct 7, 2021 at 4:45 PM Philip Jägenstedt <foo...@chromium.org>
wrote:

> On Tue, Oct 5, 2021 at 3:20 PM Yutaka Hirano <yhir...@chromium.org> wrote:
>
>>
>>
>> On Mon, Oct 4, 2021 at 10:04 PM Philip Jägenstedt <foo...@chromium.org>
>> wrote:
>>
>>> On Fri, Oct 1, 2021 at 9:27 PM Yutaka Hirano <yhir...@chromium.org>
>>> wrote:
>>>
>>>> Hi Philip,
>>>>
>>>> Sorry for the belated reply. Comments inline:
>>>>
>>>> On Thu, Sep 30, 2021 at 7:31 PM Philip Jägenstedt <foo...@chromium.org>
>>>> wrote:
>>>>
>>>>> Hi again,
>>>>>
>>>>> I've made a full pass of the intent now. I have a lot of questions,
>>>>> but am pretty convinced we should ship this, it's just a matter of what
>>>>> things need to block that, and what things can be left until later.
>>>>>
>>>>> Comments inline...
>>>>>
>>>>> On Mon, Sep 27, 2021 at 6:55 AM Yutaka Hirano <yhir...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Contact emails
>>>>>>
>>>>>> yhir...@chromium.org, vasi...@chromium.org
>>>>>>
>>>>>> Explainer
>>>>>>
>>>>>> https://github.com/w3c/webtransport/blob/main/explainer.md
>>>>>>
>>>>>> Specification
>>>>>>
>>>>>> https://w3c.github.io/webtransport
>>>>>>
>>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-http3/
>>>>>>
>>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-quic-datagram/
>>>>>>
>>>>>
>>>>> I skimmed https://github.com/w3c/webtransport/issues/ and see
>>>>> multiple issues filed by other browser vendors. Are any of the remaining
>>>>> issues ones that could change the API's shape or behavior? It would be 
>>>>> good
>>>>> to resolve any such issues, since they won't be possible to address once
>>>>> the API is locked in by sites depending on it.
>>>>>
>>>>>
>>>> I believe we've addressed issues that may require breaking changes. You
>>>> can see open <https://github.com/w3c/webtransport/milestone/1>/closed
>>>> <https://github.com/w3c/webtransport/milestone/1?closed=1> issues for
>>>> the initial launch (this intent).  I shared our plan
>>>> <https://docs.google.com/document/d/1X9-a03rtm0FqTW01nG6e7f91NAguGEv37mP964HrJlk/edit#heading=h.v9yxozj8naro>
>>>>  at a WG meeting in May
>>>> <https://www.w3.org/wiki/WebTransport/Meetings#WebTransport_Bi-weekly_Virtual_Meeting_.2316_late_-_May_25.2C_2021>
>>>>  and
>>>> we've been working to find and resolve such issues since then.
>>>>
>>>
>>> I see, creating a milestone for this is really handy! Are the remaining
>>> issue in https://github.com/w3c/webtransport/milestone/1 not blocking
>>> then, even issue #349 <https://github.com/w3c/webtransport/issues/349>?
>>>
>>
>> *Except for issue #349* we have consensus on discussions. As Victor
>> commented in this thread, we can ship WebTransport *except for *
>> customeCertificationHashes
>> <https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes>
>>  if
>> needed.
>>
>
> If custom certificates is a nice-to-have then shipping without it seems
> fine to me. That would mean removing serverCertificateHashes from the
> dictionary, right? I ask because the spec also says something
> about NotSupportedError when the protocol doesn't support it, but it seems
> better to behave as if the feature doesn't exist at all.
>
>
The property is protected by WebTransportCustomCertificates
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/webtransport/web_transport_options.idl>,
so when we enable only WebTransport, the property will be invisible.




> Looking through some other issues:
>
>    - Can https://github.com/w3c/webtransport/issues/59 be resolved for
>    the WebPKI case? If CSP currently has no effect, then adding it on later
>    could be hard because some sites could already be using CSP that would
>    block it, and those sites would be broken by adding CSP support later.
>
>
Yes I think so. We check the "connect-src" directive. It is tested as
csp-fail.https.window.js
<https://github.com/web-platform-tests/wpt/blob/master/webtransport/csp-fail.https.window.js>
and csp-pass.window.js
<https://github.com/web-platform-tests/wpt/blob/master/webtransport/csp-pass.https.window.js>
.


>    - https://github.com/w3c/webtransport/issues/175 sounds editorial but
>    doesn't have that label. If any code would change as a result of fixing it,
>    should this be done before shipping?
>
> I think this is to describe our current protection and won't affect
implementation.


>
>    - https://github.com/w3c/webtransport/issues/236 has no discussion,
>    could it have any impact on implementation?
>
> This is about how to describe algorithms in the spec in terms of
threading, and this won't impact implementation.


>
>    -
>
> Having consensus on the issues is great, but some things are still much
> harder to fix after shipping, or harder to get prioritized after shipping,
> so that's why I'm asking.
>
> Activation
>>>>>>
>>>>>> Since UDP is often blocked on the network, the developers have to
>>>>>> assume that the API often would not work even in the situations when it 
>>>>>> is
>>>>>> implemented in the browser.
>>>>>>
>>>>>
>>>>> This is interesting. How do web developers detect and deal with this
>>>>> situation, and distinguish it from the network temporarily going down? 
>>>>> I've
>>>>> skimmed https://web.dev/webtransport/ and it doesn't mention this
>>>>> kind of blocking, does this need to be highlighted in documentation and
>>>>> reference docs for WebTransport?
>>>>>
>>>>
>>>> For usual loading browsers detect the network conditions and choose the
>>>> right version (HTTP/3, HTTP/2 and HTTP/1.1). We may be able to do similar
>>>> things in the future (on the other hand, we may end up asking web
>>>> developers to detect it). Some people are working on WebTransport over
>>>> HTTP/2 <https://github.com/ietf-wg-webtrans/draft-webtransport-http2>.
>>>>
>>>
>>> With the implementation as it is now, what will the behavior be on a
>>> network where UDP is blocked? Presumably the initial connection that serves
>>> HTML and scripts has then been negotiated to HTTP/2 or HTTP/1.1, but is
>>> there any indication in the API that WebTransport is going to fail ahead of
>>> time, or error that can be distinguished from an intermittent network
>>> error? I'm thinking of the code to fall back to WebSockets that might be
>>> necessary here, how one would determine that the fallback is needed.
>>>
>>
>> To prevent malicious web developers from sniffing the network conditions,
>> we don't expose detailed network error information to web developers when
>> session establishment fails.
>> So currently web developers can 1) retry establishing a session with a
>> fallback protocol (e.g., WebSocket), or 2) race two (or more?) session
>> establishment operations.
>> Of course, web apps can use other information such as the results of past
>> attempts, geolocation information, and so on.
>>
>> The current way is very primitive, and we may be able to provide more
>> sophisticated means in the future.
>>
>
> I see, that's unfortunate but makes sense.
>

-- 
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/CABihn6Gcyn8x3pCHOZtdEvjY_s9mugfNWzxOyeRDs_kXFvO79g%40mail.gmail.com.

Reply via email to