WebTransport/Meetings

From W3C Wiki
Jump to: navigation, search

Contents

WebTransport Bi-weekly Virtual Meeting #46 early - Sept 27, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Recap of TPAC meeting - 19 attendees (11 in person, 8 online). Slides available.
  • Issues
    • Stats for congestion control and bandwidth estimation #21
    • Weighted flows of datagrams and short-lived streams #419
    • Clarify DOMString comparison method in dictionary WebTransportHash #413
    • Human readable error message without language info #414
  • PRs
    • Update link to websockets spec #418
    • Add Samples Directory (and WebCodecs Echo Sample) #415

Participation

  • Slides

Meeting records

  • Resolutions
    • Item
  • Actions
    • Item
  • Minutes
    • Meeting will be recorded and available [Link here] along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Item


WebTransport TPAC 2022 - meeting #45 - Sept 13, 2022

In Person Access

Orca - 3rd floor Concourse

Zoom Access

Please log in using your W3C credentials to retrieve the Zoom link https://www.w3.org/events/meetings/9eaf50a9-29b6-40a7-9752-9932e214014a

Agenda

  • Welcome
  • Summary of API, spec status & progress since TPAC 21
  • Demos
    • Echo server
    • Echo with JIB fiddles?
    • BBB with WARP
    • Bernard webcodecs + webtransport demo.
  • Primary outstanding issues
    • Stream/datagram priority - maybe slides for this?
    • Stats - extra required.
  • Decisions & next steps.

Participation

Meeting records

Present: Will Law, Youenn, JIB, Hiroshi, Ingo, Bernd, Geunhung Kim, Seukyoon, Bernard Aboba, Chris, Trove, Jake Holland, Peter Thatcher, Thomas Guilbert, Lucas Pardue, Will C, David Schinazi, Victor Vasiliev, Brian Baldino

  • Minutes
    • Meeting was recorded and is available [Link here] along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Summary of API, spec status & progress since TPAC 21 - Youenn - errors, are they leaking info? JIB - no, we took that in to consideration and have concluded a security review.
    • Stream/datagram priority
      • Jake - WARP and RUSH, asking for strict priorities. Peter- desire to prioritize between queues and within queues are two separate things. Could solve in two different ways. JIB - could have weight and order priorities as separate APIs. Bernard - i was testing only in environments where there was a high bandwidth. Youenn - H2 priorities have a way for client to give hints, 1-256 levels, server can do what it wants. Lucas - removed H2 tree priorities as a fail, don’t go in that direction. There is implicit order already via StreamID and perhaps that could be used to influence scheduling browser. Florent - shipping in chrome a priority api for WebRTC data channels - have 4 enums for priority - may be worth discussing something together. JIB - what if we had new higher level objects for semantic flows of segments and datagrams? Peter - keep it simple. Don’t like idea of weights. Strong vote for A. Lucas - different perspective. Would use H3 stack. How much of this is focused on browsers? Obviously W3C focus. Look at QUIC priority work - it has many similar objectives. Has 8 levels. Prefers proposal F and relative prioritization of streams and datagrams. Could extend protocol support for this. If you pick A, how do we solve the stream of datagrams relative priorities. Victor - express confusion, thought we had agreed on A last time we discussed this issue. Also votes on A. Peter - when supported A was thinking datagrams were higher priority, or we could set priority when sending DGs. Ask Victor - why not put same priority on datagrams. Victor - can understand . Florent - if went with A , what is difference between 4 billion and 4 billion and 1. That's why we chose low number of values . Keep it simple. Peter - my vote, then is for A2: allow putting a priority on each datagram you send along with a priority on each stream. Can create mutiple flows of Datagrams. Lucas - proposal F is similar to https://datatracker.ietf.org/doc/html/draft-pardue-masque-dgram-priority. It effectively create 8 queues that can then support more explicit bandwidth share between streams and datagrams in some proportion that we might expose to user.
    • Stats - which additional stats are required?
      • Bernard - do we want stats or events? Stats don't have timeliness that we need for congestion control.? Peter - agree with Bernard that we should have an event. Most valuable would be some hint of max send rate. Peter - volunteers to put energy in to this. Can give feedback around implementing congestion control algorithms. Estimate of bandwidth is most important thing we can add right now. Yes, JS can implement its own GCC for example. Would require an extension to QUIC plus and API for feedback. Lucas - draft-smith for reporting packet receive timestamps is on agenda, but not much energy to take it on right now. So don't create work in W3C that might block on IETF work. Other CC stuff seems OK to me. Bernard - setting rate control is important. Different from congestion control. Avg bitrate not all that useful due to key frame spike. Want something immediate that can tell me what I can send now.

WebTransport Bi-weekly Virtual Meeting #44 early - August 30, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Reminder - our next meeting will be TPAC on Tuesday 13 September 2022, 14:00 - 15:30 PT. We will use a W3C provided Zoom session in place of our regular Webex.
  • Issues
    • Pluggable Congestion Control Discuss at next meeting #365
    • Datagram vs stream & relative stream prioritization #62
    • Access to congestion control and bandwidth estimation #21
  • PRs
    • Add Samples Directory (and WebCodecs Echo Sample) #415
    • Add congestionControl constructor arg and readonly attribute #406

Participation

  • Slides

Meeting records

Present: Will, Bernard, Lucas, JIB, Peter,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • New members join - Lucas Pardue and Peter Thatcher
    • Reminder - our next meeting will be TPAC on Tuesday 13 September 2022, 14:00 - 15:30 PT. We will use a W3C provided Zoom session in place of our regular Webex.
  • Issues
    • Datagram vs stream & relative stream prioritization #62 - Lucas - are DG a flow, or independent? Also question about signaling - what will intermediaries do? Will they preserve order? Do we only care about sending priority in web API, or do we need to signal to other entities the intended priorities? Will - we need to think of this for CDN scaling of WT. IETF github - no issue around this. Peter - have two issues - one for local, another for remote. Lucas - title of issue does not reflect discussion.
  • PRs
    • Add Samples Directory (and WebCodecs Echo Sample) #415 - having a working echo server. @Will - add request to add server-code to repo. Two things came up - receive interleaving, reading from streams to get frames. What’s happening to incoming frames on the receiver? Peter - set up test to explore by utilizing a custom server. Created issue to create WPT to determine whether reception is interleaved. Server will send a small amount on stream #1, followed by a large amount on stream #2, then try to read stream #2 before stream #1 is done.
    • Add congestionControl constructor arg and readonly attribute #406 - has “default”, “throughput”, “low-latency”. Getter exposes what was set by UA. Edited text around “lack of implementation in browsers”. Can test for undefined if not implemented in the UA. For L4S, which supports both low-latency and throughput, getter can echo back what the constructor requested. Reviewed and merged. Note that we need to create a test for this.

WebTransport Bi-weekly Virtual Meeting #43 late - August 16, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Reminder W#C TPAC meeting 13 September 2022, 14:00 - 15:30 PT. Will replace scheduled bi-weekly call on same day. Call for presentations?
  • Issues
    • Opening WebTransport streams before the WebTransport session is established #409
    • Q: When does writer.write() resolve? Discuss at next meeting #402
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? #400
    • Pluggable Congestion Control Discuss at next meeting #365
    • Datagram vs stream & relative stream prioritization #62
    • Access to congestion control and bandwidth estimation #21
    • Abort reason should be serialized #412
    • expose a TLS Keying Material Exporter / unique value for the TLS session #411
    • QUIC Protocol Action" in #protocol-mapping is misleading #410
  • PRs
    • Add congestionControl constructor arg and readonly attribute #406

Participation

  • Slides

Meeting records

Present: Will, JIB, Bernard, Endel, Nidhi, Yutaka
  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Reminder W3C TPAC meeting 13 September 2022, 14:00 - 15:30 PT. Will replace scheduled bi-weekly call on the same day. Call for presentations?
      • Bernard - unreliable sample that bounces stuff off echo server. Set up sample directory. Can run at TPAC.
    • Yutaka - introduce Nidhi, team member from Tokyo. Not decided yet how much to be involved in WG. Will attend today and also TPAC. Background with Streams. Observer for now.

Issues

    • Opening WebTransport streams before the WebTransport session is established #409 - supported in protocol, but is it supported in the API? Answer is yes. We also have examples that await wt.ready. That gives you the reliability mode before you decide to use datagrams. Does datagram writer.ready resolve after wt.ready? No. It likely resolves true immediately since it relies on back pressure. Question about what happens to data that you write before wt is ready - is it dropped, or queued? Need to review text and make sure examples are clear. Assigned to JIB.
    • Q: When does writer.write() resolve? Discuss at next meeting #402 - close with comment. Answer is that the data has been handed to some lower level network queue for sending. Yutaka - interpretation of close() case does not matter.
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? #400 - waiting on feedback from Victor. Leave open.
    • Abort reason should be serialized #412 - Nidhi - bug in stream spec #1343, nothing to be - closed.
    • expose a TLS Keying Material Exporter / unique value for the TLS session #411 - Bernard - not sure why we would use it here. Would be helpful to have a more specific example? Use it prove that both sides have same connection. WT can be proxied. This would break across a proxy. Used to build other security protocols. Yutaka - any reason not to export it? Not usually visible in Javascript. Assigned to Martin.
    • QUIC Protocol Action" in #protocol-mapping is misleading #410 - errorCode means different things. Suggest we resolve by using a different name.
  • PRs
    • Add congestionControl constructor arg and readonly attribute #406 - new constructor arg has enums of ‘default’, ‘throughput’,’low-latency’. Mark as feature-at-risk as a way to get to candidate recommendation. General agreement on this direction. Getter to echo back which enum was set. Will - do we want to throw if non-enum is set in constructor? Yes. Also preference for the readable property to be either the value you set (if the UA was able to implement the request) or else return ‘default’. Note from Bernard - Apple announced ios16 with prague CC for QUIC, used with L4S. This would meet requirements for ‘low-latency’. JIB will work on PR after he returns from vacation.

WebTransport Bi-weekly Virtual Meeting #42 early - August 2nd, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Reminder TPAC meeting happening Tuesday 13 September 2022, 14:00 - 15:30 America/Vancouver
  • IETF #114 - Webtrans meeting
    • Recording - https://www.youtube.com/watch?v=uh65xHVYCEE
    • Notes - https://notes.ietf.org/notes-ietf-114-webtrans
      • Omer - +1 for low-latency style.
      • Stuart - simpler is better (does this mean aim only or name?). Can be both low latency and high throughput at same time. Prefer to let browser handle it.
      • Alex - surprised we expose this to app. Prefer minimal options for JS dev.
      • Luke - thinks a low latency hint is important. +1 from Victor. Ian also prefers CC advice.
      • Cullen - design API for sophisticated users, expose more info.
      • Tommy - do we need content hints (bulk transfer, realtime audio etc) rather than CC hints?
      • Priority - Luke, 8 would work for WARP but not for RUSH.
  • Yutaka has left Google. He was assigned as a document Editor. Do we have a formal replacement editor? Will that be Nidhi?
  • Issues
    • Opening WebTransport streams before the WebTransport session is established #409
    • Q: When does writer.write() resolve? Discuss at next meeting #402
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? #400
    • Pluggable Congestion Control Discuss at next meeting #365
    • Datagram vs stream & relative stream prioritization #62
    • Access to congestion control and bandwidth estimation #21
  • PRs
    • Add congestionControl constructor arg and readonly attribute #406

Participation

  • Slides

Meeting records

Present: JIB, Will, Bernard, Dragana,Adam, Yutaka.

  • Minutes
    • Meeting was recorded and is available [1] along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Reminder TPAC meeting happening Tuesday 13 September 2022, 14:00 - 15:30 America/Vancouver. Bernard - shows demos at TPAC, BBB streaming.
      • IETF #114 - Webtrans meeting - JIB summarized the feedback around congestion control, primarily that more abstract signaling of features was preferred over discreet selection of CC alogos. Recording - https://www.youtube.com/watch?v=uh65xHVYCEE
      • Yutaka has left Google. He was assigned as a document Editor. Do we have a formal replacement editor? Nidhi will attend next meeting and TPAC - and then make up her mind.
    • Issues
      • Pluggable Congestion Control Discuss at next meeting #365 - comment online by Stuart Cheshire - javascript having to choose between throughput/low latency is an artifact of existing congestion control. Bernard - CC algos only react to loss, but with L4S algo - Low latency Low loss scalable throughput - get early signals as soon as you build a queue. Need a lot of changes to network. Apple active as an implementer. Can still ask for what you want. User-agent will decide how to. IETF feedback was 60% of room leaning towards abstract requests, versus explicitly asking for a CC. Choice now between abstract API and no api. Data clear that BBRv1 in Chromium will not work. BBRv2 will be better. NewReno will not be deployed with QUIC. Yutaka - if user sets CC explicitly, then user needs to measure performance on their network. Low latency likely not the default. ‘throughput “ is the default. @JIB - will update PR. Suggest {default, low latency}. Readable attribute to verify setter. Then mark as Feature at Risk.
      • Connection sharing pooling #128 - asked question, but no answers . We have a constructor argument to disallow pooling. Bernard - there is still work to define how pooling will work at protocol level. Issue #34 on http3 draft. Could pass up number of concurrent sessions to JS. Would that be a privacy leak? Could expose max number of concurrent sessions allowed instead. Bernard - suggest post a message to #34 asking is this resolved or not. There is a PR #74, if merged, would close #34.
    • PRs
      • Add protocol mappings table for QUIC→streams and clean close #407 -Yutaka - QUIC protocol action may be misleading. Error code is converted. @Yutaka added comments to PR. Change to editors-can-integrate.

WebTransport Bi-weekly Virtual Meeting #41 early - July 5th, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Reminder that call on July 19th is cancelled.
  • Review & highlight issues "Ready for PR" for Candidate release - https://github.com/w3c/webtransport/issues?q=is%3Aopen+is%3Aissue+label%3A%22Ready+for+PR%22+milestone%3A%22Candidate+Recommendation%22
  • Anyone else trying to deploy node WT implementation previously shared by Bernard?
  • Issues
    • Access to congestion control and bandwidth estimation Discuss at next meeting hard #21 - can we clarify pkt_arrival and pkt_departure requirements? Language taken from RTP, how does this translate to WT with a JS app. Do we need two sets of stats - one for DG and the other for streams?
    • Pluggable Congestion Control Discuss at next meeting #365 - is this only about datagrams?
    • When does writer.write() resolve? #402
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? Discuss at next meeting #400
    • Datagram vs stream & relative stream prioritization Discuss at next meeting #62
  • PRS

Participation

  • Slides

Meeting records

Present: JIB, Will, Endel Dreyer (guest), Bernard, Yutaka,Dragana

  • Minutes
  • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes
  • Issues
    • Access to congestion control and bandwidth estimation Discuss at next meeting hard #21 - can we clarify pkt_arrival and pkt_departure requirements? Language taken from RTP, how does this translate to WT with a JS app. Do we need two sets of stats - one for DG and the other for streams? Dragana - per-stream is about bytes, not packets. Stream user would like to know how fast they can send data. Can UA provide estimated bandwidth stats directly? Throughput stats on entire connection would be easier. Perhaps we should break this into two issues - one around congestion control and the other around bandwidth estimation.
    • When does writer.write() resolve? #402 - waiting on feedback from Victor.
  • PRS -
    • Add congestionControl constructor arg and readonly attribute #406 - offers ‘throughput’ as default with an alternative of “low-latency”. Bernard - “low-latency” may not be best name. What you do if you had BBR? Yutaka - could add static function that is available - app could then choose. Return sequence of strings. Would need registry of names with additional details. Webcodecs has a registry for codecs. Has maintenance burden. What about patent encumbered if we explicitly mention CC algos? Getter should be useable for feature detection immediately. Mixture of concrete algos and abstract names.
  • Bernard - IETF meeting Tuesday July 26th. 10am EST. - need to prep W3C update.
  • Yutaka - update and question. Leaving Google. Has a colleague (Nidhi) who would like to attend in his place. She will try attend the late meeting once or twice. Can be observer.
  • @Endel - the WebKit team has recently created an open place to ask for standards positions, I took the liberty to create an issue for WebTransport there: https://github.com/WebKit/standards-positions/issues/18 - update readme to address some of these issues.

WebTransport Bi-weekly Virtual Meeting #40 late - June 21st, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Note. - wrote to David Baldassin and Stefan Holmer concerning SCReAM + BBRv2. David replied "I was directly testing RTP over QUIC, and not using WebTransport, but, I was indeed planning to experiment with BBR (alone and SCReAM + BBR). Until now, I was using the quic-go implementation (based on the experiment of M.Engelbart and J.Ott). But I am implementing a new experiment with the facebook implementation (mvfst), because it has already BBR, COPA and NewReno implemented. I can try to set up an experiment using WebTransport also, it could be interesting."
  • Issues
    • Datagram vs stream & relative stream #62
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? #400
    • Pluggable Congestion Control #365
    • Access to congestion control and bandwidth estimation #21

Participation

  • Slides

Meeting records

Present: JIB, Will, Endel Dreyer (guest observer), Yutaka, Bernard, Victor, David,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Issues
    • Datagram vs stream & relative stream #62 - summary of thread history. RUSH vs WARP usage. JIB pushing back on need for int32. Does not see problem with modifying priority of something that is inflight. Victor says I have no comment until I write a prototype that supports int32 priorities.
    • Can we feed the OutgoingDatagramsQueue without prematurely resolving write promises? #400 - WT datagrams are an unreliable sync, we resolve some write promises early. Two promises - write.ready and writer.write - Victor - two queues in their implementation - Considered to be successfully sent as soon as push to second queue. DG can be dropped before the wire or on the wire. No ACKs for DGs are exposed. Writer.write should resolve when written to underlying network stack. @Victor to check that for datagrams at least the Chrome implementation resolves write() when DG is put on network send queue. Answer - currently Chrome resolves promise when leaves local network send queue (succeed writing into UDP socket). No interest in meeting for exposing ACK info. Victor - we already discussed this in issue #23.
    • When does write.write() resolve #402 - when is “the operation” complete? No info on ACKs (for datagrams or streams). Browser knows for close() but perhaps not for write(). Writer.ready() resolves when room in WHATWG stream. If feeding pipe, use writer.ready(), if want assurance that won’t fail, use writer. write(). David - in a browser, packets can be lost in IPC stack. For DG, answer is 1, for streams, not sure yet. Victor to check.
    • Pluggable Congestion Control #365 - David - could be added later as an extension. Many might use WT without this. Let’s add this later. Suggestion to add in API now and rip it out after CR if not useful
    • Bernard - now more WT servers. Node.js implementation. @Bernard to send link to list.


WebTransport Bi-weekly Virtual Meeting #39 late - May 24th, 2022


https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

Participation

  • Slides

WebTransport Bi-weekly Virtual Meeting #39 late - May 24th, 2022


https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

Participation

Present: JIB, Will, Bernard, Victor, Yutaka, Martin,

Meeting records

  • Minutes
  • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Report back on AVTCore meeting May 19th - slides https://docs.google.com/presentation/d/1ot8QMaR6lRSz4ULcJlXkqQHkyKlzsV382447s962QeA/ . Minutes at https://datatracker.ietf.org/doc/minutes-interim-2022-avtcore-02-202205191000/. David went over result for SCREAM over new Reno. Stefan had gotten same results for GCC over New Reno. If we take the metrics for SCREAM and GCC and make them available via JS, then should be able to implement RTp over WT. New Reno is default for WebRTC data channel. BBRv1 or cubic is congestion control in QUIC. Ask Stefan to run over BBrv1? Ideally in private build of Chromium. Victor - don’t assume BBR will give same results. BBR and cubic have time dimension, whereas Reno looks at packet loss. Will - if BBRv1 does not work, could ask browser to use New Reno? Group - yes, that might work. Packet departure-arrival times on receive. Both are measured in QUIC stack. Applies to datagrams only. One frame per stream is out of scope. Martin - network stack should provide data to JS layer. If you can keep buffers in stack primed, then knowing how stack is sending/receiving is important. In AVTCore examples, they wanted to have all values, Mathis can answer. Martin - can provide time to some epoch. JIB - issue #400 - address issues with resolving promises, using what is in WHATWG spec. Martin - could return promise with an object that says if it was sent or discarded, along with a timestamp. Mattias - may need to wait until whatwg/streams#1190 is ready. Metrics outlined in draft englbart are in agreement.
    • Issues
      • Pluggable Congestion Control Discuss at next meeting #365 - discussed above.
      • Datagram vs stream & relative stream prioritization #62
        • Kixelated - supplied info that simple LIFO/FIFO would be insufficient.
        • Lucas - 8 FIFO queues are used elsewhere.
        • Victor - one int32 would work. Complexity must lie somewhere. Would rather have browser manage complexity than JS app. Victor will try a rough implementation.
        • Martin - whatever we do here, has to be translated to bits over the wire, and pushes complexity off somewhere else. Would prefer to have an opinion only after trying to implement.
        • Bernard - would rather have something that can be implemented. Ask RUSH or WARP to test Victor’s rough implementation.
    • PRs
      • fix typo #399 - merged but has an error. Will need to resolve after meeting or create new PR to fix.

WebTransport Bi-weekly Virtual Meeting #38 early - May 10th, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

Participation

  • Slides

Meeting records

Present: JIB, Will, Dragana, Bernard

  • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
  • Issues:
    • Access to congestion control and bandwidth estimation #21 and Pluggable Congestion Control Discuss at next meeting #365 - Bernard - what measurements are we talking about and why. Packet departure is put on wire by sender. To what extent can app measure timing versus QUIC stack. As RTT goes up, can send less . If don’t take browser delays in to account can be a problem since browser delays can take 10ms. Do we need underlying QUIC stats, or do we need stats that include browser overhead? JIB - chunking on receive side affects timing and due to BYOB this is application defined. WHATWG sender and QUIC sender. If keep WHATWG receive queue small, should not be an issue. @Bernard - will respond to issue #21. Making slides AVTCore meeting on May 19th. Will share slides. Good to have ad hoc call before AVTCore meeting. Can we provide enough info so apps can implement CC. QUIC congestion control gets out of the way until circuit breaker trips. Firefox would need to think about it. Are stats to monitor CC, or to implement? Will - see's 3 levels - default, cc biased for low latency, none (or circuitbreaker). Discussed stream priority levels. Streams are FIFO by default. Not in spec directly. JIB - is ECN in QUIC significant? Its internal in QUIC , not necessary to expose to JS layer.
    • Datagram vs stream & relative stream prioritization Discuss #62 - could have simple boolean on stream creation - this has higher priority than everything else. Meeting - sounds like the concept of streams (which may be used for smaller “messages” such as one frame-per-stream) introduces a question of what order should these be sent. Browsers will need to implement a scheme for this i.e FIFO. May not suit all apps, seems reasonable to give applications some alternatives. Is FIFO versus LIFO sufficient? JIB proposes a simple Boolean constructor argument of {priority: true}, with false being the default. All datagrams would have higher priority than streams.
  • PRS - None.

WebTransport Bi-weekly Virtual Meeting #37 late - April 26th, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • MoQ meeting around charter - https://notes.ietf.org/s/i6iaUxjh4 - decision "WG should not block on work to be done on browser. Work with the modern APIs they provide as this work moves forward. We may go and ask for optimizations. Work will support both browser and non browsers applications."
  • Review Candidate recommendation milestone
  • Issues
    • Cap on 1024 bytes in closeInfo.reason risks clipping multi-byte UTF8 sequence #382
    • Pluggable Congestion Control Discuss at next meeting #365
    • Datagram vs stream & relative stream prioritization #62
  • PRs
    • Add per-stream getStats() #395 opened 21 days ago by jan-ivar

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes
    • MoQ meeting around charter - https://notes.ietf.org/s/i6iaUxjh4 - decision "WG should not block on work to be done on browser. Work with the modern APIs they provide as this work moves forward. We may go and ask for optimizations. Work will support both browser and non browsers applications." - discussion of whether it should be built with whats in browser, but if improvements, then will communicate. Will exist by next IETF or Bof. Using it now - Curley at WTitch, Also groups at Microsoft working, AVTCore looking specifically at RTP for use with QUIC.
    • Review Candidate recommendation milestone - reviewed and all except 2 issues are now assigned.
  • Issues
    • Cap on 1024 bytes in closeInfo.reason risks clipping multi-byte UTF8 sequence #382
    • Pluggable Congestion Control Discuss at next meeting #365 - need to get people in room. Understand browser and congestion control. We could this this in a PR . May not want to ship an experimental implementation. Victor - we’ll not make progress until people test things. Bernard - how would we test this? Does someone need to compile a private fork . Yutaka - is it ok to have a constructor arg, or is there a need to update in flight? Will - what about a use-case with competing streams, one for upload of real-time video, the other for uploading a large file. Both would inherit the same cc algorithm. Martin - priority does not solve this problem either. Different cc control will contend, not an easy problem to solve. WebRTC does not have a solution for this - would need unified congestion control. Bernard - we need to find a way to ask people to test this. Martin - reluctant to put on Schedule.
    • Datagram vs stream & relative stream prioritization #62 - pair - first is absolute precedence, second is for weights for those with same priority. Twitch ask for int 32. Other idea - can you ask browser to make current stream higher priority than prior streams. Also poll QUIC implementers
  • PRs
    • Add per-stream getStats() #395 opened 21 days ago by jan-ivar - JIB presented simplified naming.
 dictionary WebTransportSendStreamStats {
   DOMHighResTimeStamp timestamp;
   unsigned long long bytesWritten;
   unsigned long long bytesSent;
   unsigned long long bytesAcknowledged;
 };
 dictionary WebTransportReceiveStreamStats {
   DOMHighResTimeStamp timestamp;
   unsigned long long bytesReceived;
   unsigned long long bytesRead;
 };

Victor - would only show bytes from application, not framing and bytes across the wire. Victor - under H2, bytesAcknowledged would equal bytesSent. Should we use null under H2? No, because app behavior for progress counters might break. JIB - reorder received ahead of read. JIB - to fix up PR and then editors-can-integrate.

    • Ensure the reason string is valid even when clipped #397 - reviewed approved and merged.

WebTransport Bi-weekly Virtual Meeting #36 early - April 12th, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • W3C confirm a hybrid TPAC 2022 meeting 12-16 September 2022 at the Sheraton Vancouver Wall Centre, Vancouver, Canada. This WG will plan on a hybrid session, with allowance made for both on-site and remote participation.
  • Bernard has stood up a public test server with v4/v6 addressing - accessible at https://webrtc.internaut.com/wt/. Seeing some issues when connecting through mobile carriers.
  • Milestone closure - can we look at our Candidate Recommendation milestone https://github.com/w3c/webtransport/milestone/3 - triage issues and assign editors?
  • Rechartering - our current charter expires Sept 30th. Do we need to begin preparing for an extension? Or can the work be completed before then?
  • Issues
    • Do we need to specify or let apps control receiver-side chunking? #396
    • Datagram vs stream & relative stream prioritization #62
    • CSP policies for WebTransport? #59
  • PRs
    • Add per-stream getStats() #395

Participation

  • Slides

Meeting records

Present: Will, JIB, Victor

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Milestone closure - can we look at our Candidate Recommendation milestone https://github.com/w3c/webtransport/milestone/3 - triage issues and assign editors?
    • Rechartering - our current charter expires Sept 30th. Do we need to begin preparing for an extension? Or can the work be completed before then? Victor - may not have time. Chrome no plans for next version, fallback and stats missing gaps. Looks like we will need an extension. @Co-chairs to organize. Took a look at Webtransport usage - https://chromestatus.com/metrics/feature/popularity.
  • Issues
    • Do we need to specify or let apps control receiver-side chunking? #396 - in Fetch it is “implementation defined”. Should have the same behavior for WT. Ready-for-PR. What about low latency applications that want smaller chunks?
    • Datagram vs stream & relative stream prioritization #62 - set priority at 5-8 levels. Could apply to datagrams too. BIkeshed - enums over stream ? Start at 0 or 1. ? What should default be? Medium or highest? Victor proposes a pair of Int 32 on the sender side.
    • CSP policies for WebTransport? #59 - Victor still looking.
    • Issue 365 - Pluggable congestion control - moved to “no milestone” and out of candidate recommendation. This is unlkiely to be resolved this year and
  • PRs
    • Add per-stream getStats() #395 - still open for reviewers. Martin to accept bikeshedding.

WebTransport Bi-weekly Virtual Meeting #35 late - March 29th, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Gave feedback to W3C that we would have a hybrid meeting for TPAC 2022 - some onsite, majority offsite. Poll to that effect is now closed.
  • IETF#113 meeting held on March 24th. Slides here. Summary and feedback of relevant items for W3C WebTransport.
    • Question on whether independent Implementation for Candidate Recommendation stage needs to be feature identical - no
    • Discussion on stream priority - consensus that it could be handled by a browser API. How many levels - 4, 5, 8? Luke wants priority = streamID. Longer discussion on this at end of meeting. Victor - posted #62 in chat. MT - application can handle this. Is there a browser requirement? DS - prefers IETF only scope items that . LP - WT has all the pieces to allow us to add extra signals. Browser world has constraints that others don't. Colin - LIFO doesn't always work. need something more flexible. Bernard - upload video scenario should be implementable today, client sending is the problem here. Stats don't allow you to implement congestion control, try the APIS out. Magnus - are priorities dynamic? Luke - we are trying out the APIs. If you want to create media in browser, can't control priority then. Luke- how much control should a browser have over when individual packets are sent. Colin - can pass down hints about what cc to use in constructor.
    • Pooling - SETTINGS_WEBTRANPOSRT_MAX_SESSIONS, set to 1 for no pooling. MAX_STREAMS, MAX-DATA (hard)
    • Proposal: Allow sending any frames allowed by flow control, opens up limits sooner
    • Putting design team together around capsules.
  • Issues
    • Is connection pooling off the right default? #393
    • Q: Is reception throttling a thing? #389
    • Datagram vs stream & relative stream prioritization #62 opened on Sep 25, 2019 by vasilvv
    • CSP policies for WebTransport? #59
  • PRs
    • Add wt.datagrams.getStats() #392
    • Improve markup for definitions and automatic links #391
    • Add wt.reliability and {disallowFallback: true} constructor option. #385
    • Reduce priority algorithm to normative guidance. #394

Participation

  • Slides

Meeting records

Present: JIB, Will, Yutaka, Martin, Victor.

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Gave feedback to W3C that we would have a hybrid meeting for TPAC 2022 - some onsite, majority offsite. Poll to that effect is now closed.
    • IETF#113 meeting held on March 24th. Slides here. Summary and feedback of relevant items for W3C WebTransport.
      • Question on whether independent Implementation for Candidate Recommendation stage needs to be feature identical - no
      • Discussion on stream priority - consensus that it could be handled by a browser API. How many levels - 4, 5, 8? Luke wants priority = streamID. Longer discussion on this at end of meeting. Victor - posted #62 in chat. MT - application can handle this. Is there a browser requirement? DS - prefers IETF only scope items that . LP - WT has all the pieces to allow us to add extra signals. Browser world has constraints that others don't. Colin - LIFO doesn't always work. need something more flexible. Bernard - upload video scenario should be implementable today, client sending is the problem here. Stats don't allow you to implement congestion control, try the APIS out. Magnus - are priorities dynamic? Luke - we are trying out the APIs. If you want to create media in browser, can't control priority then. Luke- how much control should a browser have over when individual packets are sent. Colin - can pass down hints about what cc to use in constructor.
      • Pooling - SETTINGS_WEBTRANPOSRT_MAX_SESSIONS, set to 1 for no pooling. MAX_STREAMS, MAX-DATA (hard)
      • Proposal: Allow sending any frames allowed by flow control, opens up limits sooner
      • Putting design team together around capsules.
  • Issues
    • IETF updates
      • Stream priority - Http pick a set number of levels. - they have 8, 4 on lower. Application telling browser how to prioritize sending.
      • Should datagrams be constrained by the same scheme? If you set a stream to datagram, what happens then? Let browser sort it out. Same problem must be solved for two streams. Give them a priority. Must figure out default priority. Send datagrams with higher priority seems more natural.
      • For SETTINGS_WEBTRANPOSRT_MAX_SESSIONS, what would be upper limit? Server would have resource constraints.
      • Victor edited overview draft of expectations - @Victor will send to list.
      • Is 1 high or low? Not addressed.
    • Is connection pooling off the right default? #393 - martin - connection Pooling off is likely the way people will use the API. Consensus in call. Closed.
    • Q: Is reception throttling a thing? #389 - answer is roughly yes, can throttle by not reading from the receive buffer. Browser may behave by expanding the flow control windows of the. It should not do that, but we don;t need to specify in spec. An example of different rates might be worthwhile . Not reading on one side will eventually result in sender not being able to write. Yutaka - this may effect other receivers in a pooled connection.
    • Datagram vs stream & relative stream prioritization #62 opened on Sep 25, 2019 by vasilvv
    • CSP policies for WebTransport? #59 - @Victor - still skeptical about connect-src. Need to read csp spec more closely. @martin - csp spec not clear about extensibility.
  • PRs
    • Add wt.datagrams.getStats() #392 Changed lost to lostOutgoing. Weird sentence - editors-can-integrate.
    • Improve markup for definitions and automatic links #391
    • Add wt.reliability and {disallowFallback: true} constructor option. #385
    • Supports unreliable and reliable-only. Default is false. Fallback would be enabled by default. Victor - webIDL question. Pass constructor options via dict. Want to make sure people can set now and then have Chrome change under them. ** Edited allowPooling default to false . Merged with conflict -> editors-can-integrate.
    • Reduce priority algorithm to normative guidance. #394 SHOULD implies a normative requirement. Instead should point at whatever is the solution for stream/datagram prioritization and then come back and edit later. Conflicts - > editors-can-integrate.
    • Add per-stream getStats() #395 Had to subclass WritableStream to add getStats() method. Changed language around use with reliable H2 transport, plus some bikeshedding around names. Yutaka will ask Adam to look at subclassing from a perf point of view.

WebTransport Bi-weekly Virtual Meeting #34 early - March 15th, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • Gave feedback to W3C that we would have a hybrid meeting for TPAC 2022 - some onsite, majority offsite. Poll to that effect is now closed.
  • IETF#113 meeting coming up on March 24th. Chairs will give update on W3C WT progress. We should generate some clear requests for IETF on anything that is blocking W3C API progress.
  • Issues
    • Is connection pooling off the right default? #393
    • Q: Is reception throttling a thing? #389
    • Datagram vs stream & relative stream prioritization #62 opened on Sep 25, 2019 by vasilvv
    • CSP policies for WebTransport? #59
  • PRs
    • Add wt.datagrams.getStats() #392
    • Improve markup for definitions and automatic links #391
    • Add wt.reliability and {disallowFallback: true} constructor option. #385
    • Simplify cleanup steps by avoiding type variance.#380

Participation

  • Slides

Meeting records

Present: Will, JIB, Dragana

  • Insufficient attendance. We declared no quorum and moved agenda items to next scheduled meeting on March 29th. Meeting was not recorded.

WebTransport Bi-weekly Virtual Meeting #33 late - March 1st, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Poll on TPAC 2022 participation https://doodle.com/poll/zt32u2pw5dk3ish9
  • Issues
    • Datagram priority algorithm fails to account for chunk size of reliable streams #388
    • Per-stream stats #372
    • Do we want to allow web developers to add headers of the CONNECT request? #263
    • Datagram vs stream & relative stream prioritization Discuss at next meeting #62
    • CSP policies for WebTransport? Discuss at next meeting Ready for PR #59
  • PRS
    • Improve markup for definitions and automatic #390
    • Add wt.reliability and {disallowFallback: true} constructor option. #385
    • Simplify cleanup steps by avoiding type variance. #380

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Present: Will, JIB, Yutaka, Martin, Bernard
  • Issues
    • Datagram priority algorithm fails to account for chunk size of reliable streams #388 - bug in datagram send algo. JIB proposes a better solution. Martin - browser should manage prioritization. If we specify it, then they are constrained . IN practice, implementations will make a decision as they put a packet on the wire. Suggest we concentrate on behavior of browser as it buffers data and offer guidance versus prescription. Specify behavior at the API level but then have non-normative guidance about prioritization. Bernard - current practice is ‘worse than nothing’ in experiments in AVC-core. JIB - need a PR that turns algo language into light guidance at best. Bernard- eventually we’ll have http priority that we can rely on. Ir browsers behave differently, that’s also bad. Specify what you observe, not the way to get there. Ready-for-PR.
    • Per-stream stats #372 - went over what we discussed in prior meeting. Prefer to count everything up to a non-acknowledged packet. Did not complete bike shedding on use of ‘to’ and ‘from’.
    • Do we want to allow web developers to add headers of the CONNECT request? #263 - new comment about usefulness of passing auth tokens, similar to fetch api. Anne said was similar use-case to wanting headers in web sockets. Would require CORS preflight and that should be deferred to v2. Could do other ways - for example placing token in URL.
    • CSP policies for WebTransport? #59 - Google did not ship with CSP change. Martin - that creates a problem. If people are using certificates today in Chrome might be broken if we use connect-src ‘certificate-hash’. Yutaka - future compatibility risks were known. Can ask early adopters to make changes. Better to do quickly.
  • PRS
    • Add wt.reliability and {disallowFallback: true} constructor option. #385 - debate whether “requireUnreliable” is preferred for constructor option. Will force change in default value once reliability (via H2) is supported in future versions. Bernard - early adopters should specify ‘require unReliable: true’ now to avoid fallback in the future. Yutaka - placing on connection sounds like streams will be unreliable. Will - ‘new’ is a bit out of place. ‘ pending’ would be better. We should open an issue on allowPooling at the right time. Should validate with other meeting slot before merging.
    • Simplify cleanup steps by avoiding type variance. #380 - approved by Yutaka. COnflicts - marked as editors can integrate.
    • Add wt.datagrams.getStats #392 - wt.datagrams.getStats or wt.getStats since datagrams is a singleton.
    • Alternatively using stats for dropped datagrams #97 - move datagrams to the existing wt.getStats since datagrams is a singleton. Put the datagrams in a datagram sub-dictionary. Revisit in next meeting.

WebTransport Bi-weekly Virtual Meeting #32 early - Feb 15, 2022


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • TPAC 2022 is tentatively scheduled for 12-16 September in Vancouver as a hybrid meeting accommodating both in-person and remote attendance. W3C are asking each work group to discuss and report back as to how likely is it that our group will want to meet (at least partly) in person. Our plan is to discuss this question during an early and late meeting, and then issue a doodle poll in order to get input from members who are not present on the bi-weekly calls. Initial feedback ?
  • WARP by Twitch - https://datatracker.ietf.org/doc/draft-lcurley-warp/ - (github https://github.com/kixelated/warp-draft) a segmented live video transport protocol. Warp maps live media to QUIC streams based on the underlying media encoding. Media is prioritized to minimize latency during congestion.
  • Issues
    • Per-stream stats #372
    • Alternatively using stats for dropped datagrams #97
    • Datagram vs stream & relative stream prioritization #62
    • CSP policies for WebTransport? #59
  • PRs
    • Add packetsLost to WebTransportStats.#387
    • Add wt.datagrams.mode. #385
    • Simplify cleanup steps by avoiding type variance.#380
    • Elaborate requirements on custom certificate hashes #375

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • TPAC 2022 is tentatively scheduled for 12-16 September in Vancouver as a hybrid meeting accommodating both in-person and remote attendance. W3C are asking each work group to discuss and report back as to how likely is it that our group will want to meet (at least partly) in person. Our plan is to discuss this question during an early and late meeting, and then issue a doodle poll in order to get input from members who are not present on the bi-weekly calls. Initial feedback ? Dragana - prefer remote, Victor - fine. @Will make Doodle poll.
    • WARP by Twitch - https://datatracker.ietf.org/doc/draft-lcurley-warp/ - a segmented live video transport protocol. Warp maps live media to QUIC streams based on the underlying media encoding. Media is prioritized to minimize latency during congestion. - Use case is server to client - Added their own congestion control mechanism - proprietary stuff on server. Most QUIC libraries have some form of prioritization. H3 - has 7 levels of prioritization. Nothing for this group to do at this stage.
  • Issues
    • Per-stream stats #372 - new bikeshed. Stream progress counters, in bytes. Bernard - what is acknowledgeProgress and how does it handle gaps? 3 options - count everything up to where there’s a non- acknowledgement (preferred), count every packet acknowledged, count packets and gaps up to last acknowledged point. Group seems to prefer option 1. All the above applies to “receivedProgress” as well. Bikeshedding - could we drop “To” and “from” potentially?
    • Alternatively using stats for dropped datagrams #97 - suggestion to remove droppedTooBig and replace with droppedExpired. Lost means it did get out but the retransmission timeout (RTO) expired. More complex definition, Victor suggest cite RFC 9002 Section 6.1 to define. Ready-for-PR.
  • PRs
    • Add packetsLost to WebTransportStats.#387 - adding packetsLost. Committed suggestion from Martin on language. Also that packetsLost does not monotonically increase, as they can later be received. Merged.
    • Add wt.datagrams.mode. #385 - use enums (new, reliable, unreliable), placed on WebTransport. Added disallowPooling as constructor option. Victor - would prefer allowFallback. Would need to turn on. JIB - does this defeat purpose? Want Should semantics match between constructor and property? JIB - symmetry with allowPooling felt to be stronger than symmetry with property. Left open.
    • Simplify cleanup steps by avoiding type variance.#380 - waiting on Yutaka. Open.
    • Elaborate requirements on custom certificate hashes #375 - Martin reviewed. Self-signed no longer allowed to use RSA keys. Merged.

WebTransport Bi-weekly Virtual Meeting #31 late - Feb 1, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Review proposed release cadence and targets for 2022 with this timezone
    • May 31st : Candidate for Recommendation - requires stability in API
    • July 31st : Proposed Recommendation - requires two independent implementations per our charter.
    • August 31st : Call for Review of a Proposed Recommendation
    • Sept 30 - Publication by W3C as a Recommendation after AC review.
  • Review milestone naming and status
  • Issues
    • Block source (incoming) ports #376
    • Per-stream stats#372
    • Alternatively using stats for dropped datagrams Discuss at next meeting #97
    • serverCertificateFingerprints security properties #349
    • Datagram vs stream & relative stream prioritization #62
    • CSP policies for WebTransport? #59
  • PRS
    • Simplify cleanup steps by avoiding type variance.#380
    • Elaborate requirements on custom certificate hashes #375

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Martin posted news: https://www.feistyduck.com/bulletproof-tls-newsletter/issue_85_webtransport_allows_tls_connections_with_certificate_hash - kudos for Yutaka.
    • Review proposed release cadence and targets for 2022 with this timezone
      • May 31st : Candidate for Recommendation - requires stability in API
      • July 31st : Proposed Recommendation - requires two independent implementations per our charter.
      • August 31st : Call for Review of a Proposed Recommendation
      • Sept 30 - Publication by W3C as a Recommendation after AC review.
    • Review milestone naming and status
      • Issue #21 Moved to “no milestone” milestone.
    • Fallback still a blocker. May not have http2 protocol spec by Sept. early adopters will need to bring own fallback. Api behavior does not change much with fallback, how test with WPT? Likely to extend charter to wait for features from IETF. Bernard - could stick fallback in extensions document.
  • Issues
    • Block source (incoming) ports #376 - Martin - difficult understanding what is being asked. Some source ports are above 1024. David - some OS’s give non-ephemeral ports 1024 - 16K. David - do we want something in fetch, rather than webtransport? Bernard - nothing unique for WT. Can reference fetch in security considerations section.
    • Per-stream stats#372 - covered with PR.
    • Alternatively using stats for dropped datagrams Discuss at next meeting #97 - Martin - dropped incoming is a little awkward and on receiver side, dropped too big on server side. Could require API to reject things unless it was certain it could get them on them on the wire. David - do we care where the loss happens? Do we have an API that gives us what the max is? Yes, we do - readable maxDatagramSize. If path MTU changes without an event, hard to act upon it. Most users will read the value every time. No interest in droppedTooBig. As receiver you have a finite buffer. DroppedIncoming and lostOutgoing.
  • PRS
    • Simplify cleanup steps by avoiding type variance.#380 - Yutaka will review.
    • Elaborate requirements on custom certificate hashes #375 - blocked on Victor addressing the final round of comments.
    • Add wt.datagrams.mode #385 - prefer enums - have 3 values - new, reliable, unreliable. Martin - objection over where hanging and name. Effects more than just datagrams. Victor - difference in reset. Location should be higher. Can be nullable - but nullable strings are a bad pattern. Bernard - what about different versions of QUIC? Martin - “http2”, “http3” is more precise. Don;t want browser to waste time negotiating fallback. Suggest new issue to constrain WT constructor. Victor - prefer explicit opt-in on constructor.
    • Add smoothedRtt & rttVariation to WebTransportStats - #386 - Bernard - look good since out of RFC9002. Removed double-dot typo and merged.
    • Add packetsLost to WebTransportStats - #387 - martin - needs citiation. Packets are declared ‘lost’, but then later “unlost” as it is acknowledged. Definition needs to be clearer. Changed state to Editors can integrate.

WebTransport Bi-weekly Virtual Meeting #30 early - Jan 18, 2022

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • Timeline for year - we would like to publish our specification prior to our charter expiring on Sept 30. For that to happen we can work backwards:
    • May 31st : Candidate for Recommendation - requires stability in API
    • July 31st : Proposed Recommendation - requires two independent implementations per our charter.
    • August 31st : Call for Review of a Proposed Recommendation
    • Sept 30 - Publication by W3C as a Recommendation after AC review.
  • New milestones - we are now aligning our milestones with the release steps detailed above. As such, the new milestone Candidate Recommendation has been created, with 23 assigned issues.
  • Issues
    • Per-stream stats Discuss at next meeting #372
    • Figure out how to expose rolling average stats like RTT #374
    • Break out stats on retransmits #373
    • Block source (incoming) ports #376
  • PRs
    • Simplify cleanup steps by avoiding type variance #380
    • Elaborate requirements on custom certificate hashes #375

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
  • Timeline for year - we would like to publish our specification prior to our charter expiring on Sept 30. For that to happen we can work backwards:
    • May 31st : Candidate for Recommendation - requires stability in API
    • July 31st : Proposed Recommendation - requires two independent implementations per our charter.
    • August 31st : Call for Review of a Proposed Recommendation
    • Sept 30 - Publication by W3C as a Recommendation after AC review.
    • Victor: issue tracking H2 fallback. Adopted but not implemented, make existing text not specific to H3.
  • New milestones - we are now aligning our milestones with the release steps detailed above. As such, the new milestone Candidate Recommendation has been created, with 23 assigned issues. Keep meeting cadence.
  • Issues
    • Closing out “minimum viable milestone”
    • serverCertificateFingerprints security properties Ready for PR - #349 - can be closed out by #375 - elaborate requirements on custom certificate hashes.
    • CSP policies for WebTransport? Ready for PR #59 @Victor - 90% done. Bikeshed on syntax. Will discuss at next meeting. Separate header or merge in to CSP. Need protocol mappings table for QUIC→streams Editorial#257
    • Audit threading model of send datagrams algorithm.#236
    • Per-stream stats Discuss at next meeting #372 - 4 sendstream stats proposed by @JIB. @Dragana - networkBytesSent|Received will be different. @Victor - also consider stats when H2 is active. Some confusion over names, byteWritten less clear than hoped. @Bernard - not conventional for transport stats - would normally break out bytes retransmitted. See TCP stats for example.
    • Figure out how to expose rolling average stats like RTT #374 - accepted proposals. Marked ready for PR. Assigned to JIB with Bernard as reviewer.
    • Break out stats on retransmits #373 - track networkPacketsLost, Change name to packetsLost. A cepted by meeting. Changed to Ready-for-PR. Assigned to JIB.
    • Block source (incoming) ports #376 - @Bernard thinks that a router-attack?
  • PRs
    • Elaborate requirements on custom certificate hashes #375 - needs review.
    • Fix stray character in sample source code #383 - merged.

WebTransport Bi-weekly Virtual Meeting #29 late - Dec 7, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Meeting schedule - this will be the last meeting of 2021. We will cancel the planned meetings of Dec 21st and Jan 4th due to holiday proximity. The first meeting of 2022 will be Jan 18th (early time slot).
  • WPT tests - is there a publicly accessible echo server https://wpt.fyi/results/webtransport/connect.https.any.html?label=experimental&label=master&aligned
  • Issues
    • Minimum Viable Ship remaining issues needs PRs - #59, #136, #349 - all assigned to Victor.
    • Block source (incoming) ports #376
    • Avoid hardcoded rolling average on stats like #374
    • Break out stats on retransmits #373
    • Per-stream stats Discuss at next meeting #372
    • Port blocking Discuss at next meeting #229
    • CSP policies for WebTransport? #59

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Meeting schedule - this will be the last meeting of 2021. We will cancel the planned meetings of Dec 21st and Jan 4th due to holiday proximity. The first meeting of 2022 will be Jan 18th (early time slot). Agreed by group.
    • WPT tests - is there a publicly accessible echo server https://wpt.fyi/results/webtransport/connect.https.any.html?label=experimental&label=master&aligned. Don’t have a ETA for wpt.live server. Created a new issue to track this. Bernard can host on internaut, on different port to counter.
  • Issues
    • Minimum Viable Ship remaining issues needs PRs - #59, #136, #349 - all assigned to Victor. @Victor - closed one issue since it was fixed 3 months ago, but is reviewing. We need to update milestones, and suggest naming after features.
    • Avoid hard-coded rolling average on stats like #374 - preference for having more traditional stats than webrtc stats. RTP-over-quic paper proposes some stats. Per-packet is not something the implementation would like to track. Mozilla has per-path estimates. @martin presented a list of accessible stats. Not all would be appropriate to release to the browser. @Victor will post a list from Chrome perspective.
    • Break out stats on retransmits #373 - @Martin - Quic builds a new packet each time it retransmits. Can’t simply say retransmitting a packet.
    • Per-stream stats #372 - packet stats will be difficult, but byte-related should be doable.
    • Port blocking Discuss at next meeting #229 - issue closed.
    • CSP policies for WebTransport? #59 - @Victor is still working on this.
    • Per-stream-stats - #372 - do we want stream.getStats() or webtransport.getStats(). Would like both - wt.getStats() for aggregate + rtt/bandwidth, and then per-stream stats for longer running streams and then aggregate value for connection.
  • @Bernard - IETF will have interop session at IETF #113 - towards end of March 22, although hackathon usually week before the actual meeting.
  • PRs
    • Elaborate requirements on custom certificate hashes #375 - Victor made changes, Martin to review
    • Make code and reason WebTransportCloseInfo non-optional #379 - fixes issues #366. Reviewed and merged. Will have some end UTF-8 garbage due to clipping, accept for now. Opened issue #352. @Yutaka to comment.
    • Block ports on fetch's bad ports list & use WebTransportError for it and CSP. #378 - reviewed and merged.
    • Simplify cleanup steps by avoiding type variance. #380 - will review with @Yutaka

WebTransport Bi-weekly Virtual Meeting #28 early - Nov 23, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Liaison request sent to AVTCore meeting on Nov 12th, concerning real-time media transmission from client to server. Do we need to submit a formal request? How to do this? What do we gain by doing this?
  • Cancel WG meeting Jan 4th due to proximity to EOY holidays. First meeting of 2022 will be 18th at early time slot.
  • Intel gave a talk on building a video conf solution using Webtransport - https://youtu.be/wzRS83KIP2M?t=4494. Thinking on inviting speaker to address his requests for stats. Intel are members already.
  • Issues
    • Minimum Viable Ship remaining issues needs PRs - #59, #136, #349 - all assigned to Victor.
    • CSP policies for WebTransport? #59 - was ths closed by PR #367?
    • Port blocking Discuss at next meeting #229
    • Avoid hardcoded rolling average on stats like RTT Discuss at next meeting #374
    • Break out stats on retransmits Discuss at next meeting #373
    • Per-stream stats Discuss at next meeting #372 opened 21 days ago by jan-ivar
    • Pluggable Congestion Control Discuss at next meeting #365
  • PRs
    • Remove text on request forgery #369

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • General:
    • Liaison request sent to AVTCore meeting on Nov 12th, concerning real-time media transmission from client to server. Do we need to submit a formal request? How to do this? What do we gain by doing this? Discussed and decided that a more formal liaison request was not required.
    • Cancel WG meeting Jan 4th due to proximity to EOY holidays. First meeting of 2022 will be 18th at early time slot. Group agreed.
    • Intel gave a talk on building a video conf solution using Webtransport - https://youtu.be/wzRS83KIP2M?t=4494. Thinking on inviting speaker to address his requests for stats. Intel are members already. @Will to ask if they are willing to present to the WG in Jan.
  • Issues
    • Port blocking Discuss at next meeting #229 - Chrome is blocking what is in fetch. Needs to be documented. IETF may not need port blocking. Belongs in W3C spec. Should spec that use fetch port blocking list. Only dest ports, not source ports. Need to defend against an attack similar to Slipstream. Add source ports to fetch that would be shared. May be technically difficult and protocols are rare on web. Also important for H3 @Adam - file issue against Fetch about source ports. @Dragana - email Webtrans and Quic groups at IETF).
    • Pluggable Congestion Control Discuss at next meeting #365 - not a congestion control WG, proposal being made, Uberti proposed circuit break on Quic, not sure what browser vendors would be willing to implement. @Dragana - this is IETF material. Could we use GoogleCC/Scream congestion control from WebRTC for WT? Can do at app level, but conflicts with Quic. Replace Quic congestion control with another browser-managed congestion control. Is API surface for selecting congestion control at connection level? With multiple connections, will fight each other for congestion control. @Dragana - propose use-cases that are meaningful for browsers at IETF MoQ list. Not considered a work tiem by IETF WT group. Quic does not mandate a particular CC. Priority however is under discussion.
  • PRs
    • Remove text on request forgery #369 - reviewed, made text change suggested by Annek and merged.

WebTransport Bi-weekly Virtual Meeting #27 late - Nov 9, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • IETF #112 - slides - meeting report. Any decisions relevant to this WG?
  • TPAC review - slides - action items, tickets and feedback
  • Issues
    • Review minimum viable ship outstanding PRs https://github.com/w3c/webtransport/milestone/1
    • Avoid hardcoded rolling average on stats like RTT Discuss at next meeting #374
    • Break out stats on retransmits Discuss at next meeting #373
    • Per-stream stats Discuss at next meeting #372
    • Pluggable Congestion Control Discuss at next meeting #365
  • PRs
    • Remove text on request forgery #369
    • Add Content Security Policy check on request #367
    • Must not provide any credentials via HTTP headers Editors can integrate #312

Meeting records

  • Minutes
    • Meeting will be recorded and available [Link here] along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • TPAC review - slides - action items, tickets and feedback -
      • Multicast issue - @David - no browsers currently interested in multicast. Also, still need to implement multicast in Quic. So very premature at this point. Suggest replaying to Jake that too premature at this point and will consider adding as a target use-case once there is some support by the browsers for multicast quic. @JIB - to respond.
    • IETF #112 - slides - meeting report. Any decisions relevant to this WG? Request from W3C to get help to support real-time media streaming use-case. In the IETF RTP-over-Quic meeting, will discuss stats used in that implementation. Get info from ACKs that will not be surfaced in WT API, as well as detailed timing info. Compiled app and Quic compiled together. Still need congestion control solution. Separate issues in tracker. IETF WT WG will not solve the congestion issue directly. More of a QUIC item. Friday RTP Media Congestion Avoidance Techniques (rmcat) meeting - may be worth bringing up this issue. Meta implemented SCReAM for RUSH. David - haven’t seen proof that needs congestion control for server-to-client. Client-sending-video is the current issue. Video-conferencing use case still challenging. It’s a research question and will need new congestion control. Contacts with browser vendors for feedback? Can reach out to Zoom.
  • Issues
    • Review minimum viable ship outstanding PRs - to be done by Chairs. https://github.com/w3c/webtransport/milestone/1
    • Avoid hardcoded rolling average on stats like RTT Discuss at next meeting #374 - proposal from @JIB to deliver via two numbers to allow arbitrary . @Bernard - what can you get naturally out of Quic? Paper by https://www.in.tum.de/fileadmin/w00bws/cm/papers/epiq21-rtp-over-quic.pdf on RTP over Quic lists the stats they used.
    • Break out stats on retransmits Discuss at next meeting #373 - discussed.
    • Per-stream stats Discuss at next meeting #372 - can’t implement packets- received at streams level. @bernard suggested speak with Varuun, who built a company monitoring such stats for WebRTC.
    • Pluggable Congestion Control Discuss at next meeting #365 - far out
    • @Bernard - issues with simple demo. Not working with Chrome M98 - anything. WP Test also broke. Due to Quic changes in Chrome client. Need to resolve with Victor. Chrome will fix in while still in M98.
  • PRs
    • Remove text on request forgery #369 - not ready to merge.
    • Add Content Security Policy check on request #367 - reviewed and merged.
    • Must not provide any credentials via HTTP headers Editors can integrate #312 - revirewed but not yet ready.

WebTransport Bi-weekly Virtual Meeting #26 late - Oct 12, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • TPAC schedule and plans for Oct 26th. Meeting length is 90min
    • 40min overview of Webtransport background, API, with particular attention paid to those coming from a Websocket or Webrtc experience.
    • 15min Demos - maybe just Counter and WPTs. Any others?
    • 5min Presentation by Multicast WG Chair and discussion
    • 30 min debate key issues. proposed issue is how to enable real-time bi-di A/V communications a.k.a the video conferencing use-case.
  • Regularly scheduled bi-weekly meeting for 26th cancelled due to TPAC. We will email out a reminder of this.
  • Review MVS issues. Make sure individuals are assigned to each PR.
  • Issues
    • Session closure without close info Discuss at next meeting #366
    • Pluggable Congestion Control Discuss at next meeting #365
    • Does CONNECT request mean WebTransport should use fetch? #272 =
  • PRs
    • Describe BidirectionalStream's attributes #364
    • Must not provide any credentials via HTTP headers #312

Meeting records

Present: JIB, Will, Martin, Victor, Yutaka, Bernard

  • Minutes
    • This meeting was not recorded due to glitch in Webex. Manual scribing was done by @Will. Action item assigned to Chairs to fix webex issue.
    • TPAC schedule and plans for Oct 26th. Meeting length is 90min
      • 30min overview of Webtransport background, API, with particular attention paid to those coming from a Websocket or Webrtc experience.
      • 15min Demos - maybe just Counter and WPTs. Any others? @Victor - will make short presentation on what Chrome M96 supports .
      • Demos will run on Chrome stable, but not Canary. Updated Chrome 96. WPT server has been updated . @JIB - create issue with links to Chrome verison and compatible server code. https://github.com/web-platform-tests/wpt/tree/master/tools/webtransport/h3
      • 10min Presentation by Multicast WG Chair and discussion.
      • 40 min debate key issues.
        • Proposed issue is how to enable real-time bi-di A/V communications a.k.a the video conferencing use-case. Streaming congestion control, conferencing low delay needed in both directions. Build up of queues, ramp-up, on loss , recover difficult after loss because no probes. Shape of standard congestion controllers. Real-time stacks operate own congestion control, don’t want to make this available to general web browsers, need an envelope that sites can play and browser can enforce reasonable limits. Allow site to generate bandwidth within that envelope. API for selectable congestion control. @Bernard - will add some slides to illustrate the challenges.
        • Stats - old hat?
        • Prioritization datagrams and streams - fallen flat. Maybe not. Not productive to discuss.
        • Connection sharing and pooling?
    • Regularly scheduled bi-weekly meeting for 26th cancelled due to TPAC. We will email out a reminder of this.
    • Review MVS issues. Make sure individuals are assigned to each PR.
      • Audit threading model of send datagrams algorithm. #236 - stream spec main thread until pipe-to. Assigned to @JIB for comment
      • @Martin - Fingerprint feature, intent to ship, @Victor - currently not shipping in M96, actual ship depends on issue #349
    • Issues
      • Session closure without close info Discuss at next meeting #366 - @Yutaka - want to clarify what happens when client || server close session without providing capsule. @JIB - suggest a non-empty object. i.e closeCode: 0, reason: “” . Should send capsule. If not received and stream closed gracefully, should treat it as having received the default capsule. Resolve with {closeCode: 0, reason: ""} as minimum (never empty object). Ready for PR
      • Pluggable Congestion Control Discuss at next meeting #365 - discuss at TPAC.
      • serverCertificateFingerprints security properties #349 - we need to add text and agreement on security of us using fingerprint based verification instead of web PKI. While different from webPKI, not strictly worse, devs should understand reasons for this. 1) need to document 2) need to add more normative text. @Martin - policy questions are interesting - such as do we need to support RSA certs? Lots to do. Meeting - We need to define some minimal MTI profile, most likely P-256. Security considerations should detail the reasoning behind the two-week expiry limit.
      • Where is the value of the Origin header set? #368 - connection to fetch is insufficient to pick up all the header fields that we may not need. Just need to add origin header. Ready for PR and assigned to Yutaka.
    • PRs
      • Describe BidirectionalStream's attributes #364 - reviewed. Still requires comment.
      • Must not provide any credentials via HTTP headers #312 - reviewed. Still requires comment.
  • Chairs closed call and noted that next meeting will be TPAC.

WebTransport Bi-weekly Virtual Meeting #25 early - Sept 28, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • TPAC October 26 - 17-19 EST. Planning for two hour meeting slot. Audience will likely come from WS or WebRTC worlds, or outsiders. Options
    • 1st hour -
      • 40 minute slide overview of WebTransport for new people? Explain API. Differences from web socket. Diff from webrtc. How send audio and video with WT. Iterate use cases along with fiddles if possible:
        • Datagrams for full control and JS max complex - what is the compelling use case here?
        • Parallel streams-as-messages and timeouts on send side
        • Fully reliable streams
      • 20 minute Demos of new features - Bernard, full pipeline demo of different encoded video layers. Sending video frames as partially reliable messages. 2nd hour -
    • 2nd hour - working meeting with key topics that benefit from f2f discussion or outside opinion. Backed up by slides from proponents.
      • prioritization streams/datagrams
      • stats
  • Issues
    • RTCDtlsFingerprint values are strings #355
    • Do we need a pathmigration event? #314
    • Does CONNECT request mean WebTransport should use fetch? #272
    • Datagram tokens as a mechanism of datagram vs stream prioritization#62
    • Stream prioritization #33
  • PRs
    • Use BufferSource for the hash value #358
    • Must not provide any credentials via HTTP headers #312

Participation

  • Slides

Meeting records

Present: Will, Bernard, Adam,Dragana, Yutaka, JIB, Victor.

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • TPAC October 26 - 17-19 EST. Planning for two hour meeting slot. Audience will likely come from WS or WebRTC worlds, or outsiders. Options
      • 1st hour -40 minute slide overview of WebTransport for new people? Explain API. Differences from web socket. Diff from webrtc. How send audio and video with WT. Iterate use cases along with fiddles if possible:
        • Datagrams for full control and JS max complex - what is the compelling use case here?
        • Parallel streams-as-messages and timeouts on send side
        • Fully reliable streams
      • 20 minute Demos of new features - Bernard, full pipeline demo of different encoded video layers. Sending video frames as partially reliable messages. 2nd hour -
      • 2nd hour - working meeting with key topics that benefit from f2f discussion or outside opinion. Backed up by slides from proponents on subjects such as prioritization streams/datagrams and Stats
    • Need proposals for API shapes. None given during meeting. @Chairs - send email out to group to ask for further input. No demos will be ready in time beyond the counter demo. Chrome implementation will shift to draft 04 support in roughly two weeks, which is the same timeframe as TPAC. IETF also decided to postpone interop tests until update to WT released in Chrome 96.
    • General discussion on the use case for datagrams? - gives backward compatibility for implementing features like RTP over QUIC. Better perf comes from using native QUIC features which are superior to DIY datagram ack’ing. Partial reliability works better than datagrams in nearly all cases with the exception of zero reliability/low latency use-case such as game position data.
  • Issues
    • RTCDtlsFingerprint values are strings #355 - PR #358 - closed.
    • CSP Policies for WebTransport#59 - going to add a flag to CSP to indicate sources were self-signed. @Victor will take a closer look.
    • Do we need a path migration event? #314 - max datagram size might change due to path change. Bernard - this does not make sense. Event is after the fact. Don’t know there is even a path change since no info coming back to you. UA would need to run path MTU discovery to find out. We can even send datagrams before session is established. Chrome does not have property yet and will pick a conservative value for initial release. Firefox beta uses packet size (~1340) minus headers as max datagram size. Issue closed with comment.
    • Does CONNECT request mean WebTransport should use fetch? #272 - Yutaka , opinion that we don’t need to use fetch(). Can use obtain-a-connection. Ask @Anne if he is comfortable with this proposal.
    • Datagram tokens as a mechanism of datagram vs stream prioritization#62 - Yutaka - do we want to allow relative stream priority? Use cases might be a control channel, so not starved within same delivery session (pooled competition may result in starving). QUIC does not define a priority itself. H3 has a priority draft, 3 yrs of bikeshedding :) Priority 0-7, 0 is highest. Victor - historically disagreement about whether prioritization actually works and which schemes are useful. Chrome implementation was to use H3 priority scheme, so if we provide priority via API should be same or mappable. H3 priority is only a suggestion to server as to how to send data back. But with WT, it is also define the send priority. General consensus that we are early in this. Chrome is planning to release MVS soon, we will hear developer voices in this regard. Addressed for now by PR that says datagrams have priority over streams.
    • Stream prioritization #33 - this refers to inter-stream priority. Deferring for TPAC.
  • PRs
    • Use BufferSource for the hash value #358 - reviewed. Yutaka used byteSource instead of bufferSource. Fixed and merged.
    • Must not provide any credentials via HTTP headers #312
    • Update explainer #362 - Adam has made a suggestion, Yutaka will address. JIB to review. Editors-can-integrate.

WebTransport Bi-weekly Virtual Meeting #24 late - Sept 14, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454


Agenda

  • Security questionnaire - https://github.com/w3c/webtransport/blob/main/security-questionnaire.md - needed for TAG review. https://github.com/w3c/webtransport/issues/352 - needs a volunteer(s) to create a PR.
  • Approached by the WebExtensions Community Group (WECG) about a potential joint meeting during TPAC? @JIB replied to Simeon but has not heard back, so status uncertain.
  • yutakahirano@ proposes to "freeze" MVP-covered features (no more bikesheds)
  • Issues
    • serverCertificateFingerprints bikeshedding #350
    • serverCertificateFingerprints security properties #349
    • Simplify WebTransportError (use NetworkError for "session" errors) #345
    • WebTransportCloseInfo.errorCode bikeshedding #342
    • More thorough state persistence treatment #332
    • WebTransportError.isInitiatedByClient #317
    • Datagram tokens as a mechanism of datagram vs stream prioritization #62
  • PRs
    • Must not provide any credentials via HTTP headers #312
    • Answer the security questionnaire #354

Participation

  • Slides

Meeting records

Present: Will, JIB, Bernard, David, Martin, Yutaka, Victor


  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
    • Security questionnaire - https://github.com/w3c/webtransport/blob/main/security-questionnaire.md - needed for TAG review. https://github.com/w3c/webtransport/issues/352 needs a volunteer(s) to create a PR. Thanks to Yutaka for taking up and to Adam and Victor for reviewing. Still needs some work but good progress in last week.
    • Approached by the WebExtensions Community Group (WECG) about a potential joint meeting during TPAC? @JIB replied to Simeon but has not heard back, so status uncertain. Existing issue #96 addresses extensions. @Yutaka talking to Chrome team about extensions. Will expose CONNECT response to extension authors and they can block, but once established cannot intercept/block traffic. Mozilla welcomes standardization in this area. Meeting offered no opinion , so feedback will be at chair’s discretion.
    • yutakahirano@ proposes to "freeze" MVP-covered features (no more bikesheds) - intent to ship is imminent, so trying to restrict new bikesheds on anything covered by MVS milestone. Group agrees to be mindful of breaking changes as we move forward.
    • Issues
      • serverCertificateFingerprints bikeshedding #350 - consensus in meeting to use ‘serverCertificateHashes’. Ready-for-PR.
      • serverCertificateFingerprints security properties #349 - came in from security review. Consensus that user agents should be allowed to reject pinned certificates. Assigned to Martin to add text.
      • Simplify WebTransportError (use NetworkError for "session" errors) #345 - @Yutaka - change will be breaking since initiatedByClient is not in original release. Want to have a baseline we can expand on. No support in meeting. Closed.
      • WebTransportCloseInfo.errorCode bikeshedding #342 - consensus to not use something that denotes error. Consensus for ‘closeCode’. Ready-for-PR.
      • More thorough state persistence treatment #332 - Bernard agreed to accept the assignment.
      • WebTransportError.isInitiatedByClient #317 - current approach inherited from WebSockets. JIB - not try to extend errors more than necessary, prefer DOM exceptions instead. Victor - we want to know whether the client or server closed the connection. Leaving open.
      • Datagram tokens as a mechanism of datagram vs stream prioritization #62 - reviewed with late timezone group. Currently datagrams can starve out reliable streams in initial implementation. Way to change priority in future. Leave as discuss-at-next-meeting.
    • PRs
      • Fetch's obtain a connection changed slightly #351 - merged.
      • Must not provide any credentials via HTTP headers #312 - @Victor still needs to make a minor change.

WebTransport Bi-weekly Virtual Meeting #23 early - August 31st, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • W#C - request for short 3min demo video for TPAC - https://www.w3.org/wiki/TPAC2021/Demos_and_Group_updates#Best_Practices_for_Recording_Videos - to share updates from your group's work and/or technical demos illustrating the latest developments in your groups that would benefit from being shared with the broader W3C community. Do we feel this is a good time to demo somehting. Current demos (counter echo for example) may be underwhelming for a general audience.
  • Issues:
    • Do we want to store the code and reason for session closure in WebTransportError? #338
    • Deal with reason strings for session closure events #336
    • Create appropriate WebTransportErrors #334
    • Need to specify what happens if sending bytes fails #333
    • More thorough state persistence treatment #332
    • WebTransportError.ApplicationProtocolCode naming #328
    • Datagram tokens as a mechanism of datagram vs stream prioritization Discuss at next meeting #62
  • PRs - review incoming and merge if ready.

Participation

  • Slides

Meeting records

Present: Will, Yutaka, Adam, JIB, Dragana, Bernard.

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • W#C - request for short 3min demo video for TPAC - https://www.w3.org/wiki/TPAC2021/Demos_and_Group_updates#Best_Practices_for_Recording_Videos - to share updates from your group's work and/or technical demos illustrating the latest developments in your groups that would benefit from being shared with the broader W3C community. Do we feel this is a good time to demo something. Current demos (counter echo for example) may be underwhelming for a general audience. @Bernard - has demo for gathering real time camera demo. We’ll use that. Collaborate with @Will to produce.
    • Issues:
      • Do we want to store the code and reason for session closure in WebTransportError? #338 - Yutaka, pref option 1, to not store code and reason as we don’t have access to it. JIB agrees. Once stream closed, stream ignores future close/abort operations. How to close stream cleanly? Adam - If set pipe, leave it there until data stops flowing. Possible to close streams cleanly, but not necessary. With back/forward cache, if you return to page after leaving it, promises will get rejected. Assigned to Yutaka and ready-for-pr.
      • Deal with reason strings for session closure events #336 - task rather than discussion. Ready-for-pr
      • Create appropriate WebTransportErrors #334 - task. Ready-for-pr.
      • Need to specify what happens if sending bytes fails #333 - yutaka has PR to resolve this issue. Adam agrees with solution.
      • More thorough state persistence treatment #332 - editorial.Should reference storage rules that fetch uses. Assigned to @Bernard.
      • WebTransportError.ApplicationProtocolCode naming #328 - leave as octet and name “streamErrorCode’. Will be null for datagram errors. Meeting agreement around “streamErrorCode”. Ready-for-PR and assigned to Yutaka.
      • Datagram tokens as a mechanism of datagram vs stream prioritization #62 - Since #340 specifies, will change milestone to sometime-in-the-future. May come back to issue in future to add more detailed prioritization APIs later.
      • Determine interaction with back forward cache #326 - Adam has an idea as to how it should work. @Adam will create a PR. Labeled as ready-for-PR.Agreement to leave session in a terminal state but reject promises only on revival from BFcache.
    • General
    • PRs
      • Deal with send failures in SendStream/write #337 - added step 8. Merged.
      • Prioritize outgoing datagrams over stream data #340 - change milestone from mvp to sometime-in-future. Temporary solution is to prioritize datagrams over streams. No answer yet for pooled connection, this solution assumes a dedicated session. @Yutaka to talk to Victor. Leave as editors-can-integrate.
      • Define WebTransportError/create #335 - Yutaka can improve, then editors-can-integrate.

WebTransport Bi-weekly Virtual Meeting #22 late - August 17th, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Presentation to W3C games group by @Bernard and @Victor now moved to Tuesday 24 August at 9am Pacific, 4pm UTC, 6pm CEST. Does that work for presenters?
  • IETF suggestion to organize a WebTransport protocol interop event in mid to late September, leaning heavily on the test infrastructure that the W3C WebTransport WG is putting in place. Will target draft-ietf-webtrans-http3-01 version.
    • Is this the right timing?
    • Suggestion for both IETF and W3C to create stand-alone web pages to describe the interop event and provide access details, along with new github repos to track bugs discovered.
    • Any other clients than Chrome available? There is a python client available as part of aoiquic repo examples.
    • Also hosting of multiple server instances aside from the planned WPT instance.
  • TAG review
  • Issues
    • Error codes for stream reset and connection close Discuss at next meeting #235
    • Defining error codes Discuss at next meeting #213
    • Datagram tokens as a mechanism of datagram vs stream prioritization Discuss at next meeting #62
    • Using WHATWG streams for stream creation Discuss at next meeting Ready for PR #40
  • PRs - review

Participation

  • Slides

Meeting records

Present: Will, Yutaka, David, JIB, Bernard, Martin,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Presentation to W3C games group by @Bernard and @Victor now moved to Tuesday 24 August at 9am Pacific, 4pm UTC, 6pm CEST. Bernard has a conflict at that time. He will ask them for an alternate date.
    • IETF suggestion to organize a WebTransport protocol interop event in mid to late September, leaning heavily on the test infrastructure that the W3C WebTransport WG is putting in place. Draft version will be on 02-draft. Most of the changes are already in Github, not sent to IETF archive. At least 3 servers available today. Martin says Dragana has started working for Mozilla. H2 integration still far away. Idea for separate call to discuss current integrations. @Will to organize.
      • How are WPT tests? @Yutaka - no update.
      • Suggestion for both IETF and W3C to create stand-alone web pages to describe the interop event and provide access details, along with new github repos to track bugs discovered.@Will talk to David.
      • Any other clients than Chrome available? There is a python client available as part of aoiquic repo examples.
      • Also hosting of multiple server instances aside from the planned WPT instance. Facebook, Akamai will host servers.
    • TAG review - need to ask for TAG review. Is spec stable enough? @JIB - can’t hurt. @Martin - it is mature enough. @Yutaka will propose TAG review by filing issue at their repository. @Martin - better for chairs to ask. Assigned to @Will.
  • Issues
    • Error codes for stream reset and connection close #235 - Can be closed since it has been fixed.
    • Defining error codes #213 - @Martin - will default to 0, applications must interpret correctly. Ongoing discussion.
    • Using WHATWG streams for stream creation Ready for PR #40 - @Yutaka - two ways to create unidi stream. @JIb - also stream of streams, don’t get pointer back to sendstream object. But we don't need it now. Closing as no interest.
  • PRs - review
    • Define DatagramDuplexStream.maxDatagramSize #311 - reviewed. No objections. Merged.
    • Must not provide any credentials via HTTP headers #312 - split needs to be finessed. Should also state that client certs are not desired either. @martin to add a comment.
    • Use [Clamp] for WebTransportErrorInit.applicationProtocolCode #323 - reviewed and merged.
    • Specify reason handling in abort() and cancel() #327 - if no reason specified, then code will be 0. Group consensus - merged.
    • Introduce WebTransportError/source #329 - enum of stream | session | connection. @David - do we need to be this explicit? @Yutaka- when we created, thought it would be important to distinguish between session & connection. @JIB - propose to drop connection for now, keep session. Merged.
    • Prefix BidirectionalStream and DatagramDuplexStream with WebTransport #330 - no objections. Has merge error. @Yutaka will fix then merge.

WebTransport Bi-weekly Virtual Meeting #21 early - August 3rd, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Updates and report from IETF#111 WT meeting - notes here https://codimd.ietf.org/notes-ietf-111-webtrans
    • WT over H3: resolved various open issues
    • WT over H2: Layered vs. Integrated discussion. Lots of support for on top of HTTP (layered approach), rather than inside HTTP/2. Also WT and Masque are both using some version of CONNECT. No clear decision yet.
  • Who will host a public instance of aioquic server? Can the WPT test server be publicly accessible?
  • Yves mentioned the possible interest from the WebTransport Working Group to discuss WebTransport with folks from the games community. The Games Community Group would be happy to hold such a discussion and proposes to make it the topic of its next group call on Tuesday 17 August at 9am Pacific, 4pm UTC, 6pm CEST. Do we have a volunteer to present?
  • PRs - review for merge.
  • Issues
    • WebTransportError.isInitiatedByClient #317
    • Agree on wt.datagrams.outgoingMaxAge vs wt.datagrams.writable.maxAge #305
    • Should WebTransport streams handle Uint8Array or BufferSource? #284
    • Garbage collection #225
    • Error codes that don't fit #214
    • Maybe we shouldn't hog overly generic interface names? #199
    • Add web-platform-tests Discuss at next meeting #125
    • Datagram tokens as a mechanism of datagram vs stream prioritization #62
    • Using WHATWG streams for stream creation #40

Participation

  • Slides

Meeting records

Present: Will, Bernard, Victor, Dragana, JIB, Yutaka, Adam.

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
  • Notes:
    • Updates and report from IETF#111 WT meeting - notes here https://codimd.ietf.org/notes-ietf-111-webtrans
      • WT over H3: resolved various open issues
      • WT over H2: Layered vs. Integrated discussion. Lots of support for on top of HTTP (layered approach), rather than inside HTTP/2. Also WT and Masque are both using some version of CONNECT. No clear decision yet. ACK for datagrams, Congestion for AVTCORE, could ACK in browser but app may not get it.
    • Who will host a public instance of aioquic server? Can the WPT test server be publicly accessible? Wpt.fyi is publicly available. Trying to merge a PR on github repo Issue #125 is open.
    • Yves mentioned the possible interest from the WebTransport Working Group to discuss WebTransport with folks from the games community. The Games Community Group would be happy to hold such a discussion and proposes to make it the topic of its next group call on Tuesday 17 August at 9am Pacific, 4pm UTC, 6pm CEST. Do we have a volunteer to present? Bernard offered, but not sure of duration target and use-cases they are interested in. Victor offered to help. @Will to sync back with Games Group.
  • PRs - review for merge.
    • Introduce WebTransportError #316 - Victor - error code should be uint64 to reuse attribute for connection close. Also need to add error source? Server-vs client, or stream vs connection vs network stack. Yutaka would like minimal interface to unblock other issues. Group decided to merge and then fix later. Merged.
    • WebTransport.maxDatagramSize bikeshedding #301 - Yutaka - want to modify this PR before merging. Move to datagramDuplexStream. Not merged.
    • Must not provide any credentials via HTTP headers #312 - Victor needs to clarify text. Not merged.
    • Make fingerprint matching case-insensitive. #313 - merged.
    • Update Security Considerations to reflect WebTransport over HTTP better #315 - merged.
  • Issues
    • WebTransportError.isInitiatedByClient #317 - Victor - we want two fields, kind of error and source. Adam - pref for enum ‘initiator’. Victor - errors are not initiated by a client. Needs more bikeshedding. Yutaka - need for MVP? Group - no, client can work without. Assigned to @Victor. Ready-for-PR.
    • Agree on wt.datagrams.outgoingMaxAge vs wt.datagrams.writable.maxAge #305 - no other interested parties. Closing.
    • Should WebTransport streams handle Uint8Array or BufferSource? #284 - Yutaka, prefer accepting BufferSource. Meeting agreement. Ready-for-PR
    • Garbage collection #225 - preference for option 1. ‘A WebTransport cannot be garbage collected as long as its state is connecting or connected’. Ready-for-PR.
    • Error codes that don't fit #214 - EnforceRange or Clamp. Yutaka does not like throwing. Group consensus on clamp. Assigned to Yutaka. Ready-for-PR.
    • Maybe we shouldn't hog overly generic interface names? #199 - only have BidirectionalStream remaining. No one has to type it, so group in favor of WebTransportBidirectionalStream and WebtransportDatagramDuplexStream. Ready-for-PR. Assigned to JIB.
    • How to recover datagrams from "errored" state? #320 - piping to datagrams, need to add preventAbort and preventClose attributes. Adam - most people will not pipe to datagrams.writable. Can close in a week.
    • Add web-platform-tests Discuss at next meeting #125 - PR in WPT repo. Chrome are introducing infrastructure and writing WPT.
    • Datagram tokens as a mechanism of datagram vs stream prioritization #62 - Victor - not sure right answer here. Issue is around an API to resolve this. If leave to useragent, could have different implementations across user agents. Chrome behavior is that datagrams are prioritized first. Some ideas around a prioritization attribute. Left open.

WebTransport Bi-weekly Virtual Meeting #20 late - July 20, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE

Meeting number (access code): 126 406 0454

Agenda

  • Bernard - call for implementation schedules for IETF meeting on July 30th.
  • Hosting meeting archives https://player.streamfizz.live/media/ckqjqohm0337086l8kz37t56byi (wtwg2020). Raw VTT files will be hosted on W3C repository. Is group comfortable with this approach?
  • 3 different github milestones now active - agree on differentiation.
    • Minimum viable ship - spec has sufficient API issues resolved to enable an initial browser implementation to ship.
    • Sometime in the future - Important but not holding up minimal viable ship.
    • No milestone - issue not related to any milestones. Do we need this?
    • IETF meeting July 30th. lets collect questions we would like to be resolved.
  • PRs
    • Add WebTransportError interface. #288
  • Issues
    • Remove SendStream and ReceiveStream #306
    • Agree on wt.datagrams.outgoingMaxAge vs wt.datagrams.writable.maxAge #305
    • WebTransport.maxDatagramSize bikeshedding #301
    • SendStream abort reason #294
    • Error codes that don't fit #214 opened on Mar 2
    • Datagram tokens as a mechanism of datagram vs stream prioritization #62

Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Implementations - Working public server AIOQuic https://github.com/aiortc/aioquic now with Webtransport examples, @Yutaka working on building WPT server . @Bernard - video over Quic draft at IETF run over raw quic. RTPoverQuic etc. Concern that WT will be bypassed. All drafts could be implemented over WT. Academic energy around WT would be good. TCP fallback would be useful to avoid custom implementations. Meeting hour before WT meeting. @bernard to raise points on utility of WT and upcoming implementations.
      • Hosting meeting archives https://player.streamfizz.live/media/ckqjqohm0337086l8kz37t56byi (wtwg2020). Raw VTT files will be hosted on W3C repository. Is group comfortable with this approach?No objections heard. @JIB - is WG ok with sharing transcripts and not videos? @Martin - OK with just notes shared.
      • 3 different github milestones now active - agree on differentiation.
        • Minimum viable ship - spec has sufficient API issues resolved to enable an initial browser implementation to ship.
        • Sometime in the future - Important but not holding up minimal viable ship.
        • No milestone - issue not related to any milestones. Do we need this?
      • IETF meeting July 30th. lets collect questions we would like to be resolved.
      • @All - request form Yutaka to please take note if you are assigned an issue, especially those under MVS milestone.
    • PRs
      • Remove "SendStream" Web IDL interface #307 - reviewed and merged.
      • Add WebTransportError interface. #288 - insufficient time.
      • Explicitly disallow cookies and HTTP authentication. #312 - editors-can-integrate. Renamed PR to “must not provide any credentials via HTTP headers”. Victor needs to take a closer look.
      • Make WebTransport an EventTarget. #287 - merged
    • Issues
      • Remove SendStream and ReceiveStream #306 - no objections. #307 is PR for SendStream which was merged. Ready-for-PR for receive Stream. Agree on wt.datagrams.outgoing
      • MaxAge vs wt.datagrams.writable.maxAge #305 - want input from Adam, have him attend an early meeting and re-discuss then. @Victor - streams is a common abstraction. @Martin - highWatermark confusing name, maxQueueLength would be better. Consensus to not use readable/writeable, but instead to rename existing properties. Will close when open new issue on renaming.
      • WebTransport.maxDatagramSize bikeshedding #301 - ready-for-pr. maxDatagramSize limit can be unsigned short, for compatibility with Quic. Meeting consensus to make it non-nullable and initialized to best estimate. Value may change once connection is established due to path migration. An onchange event would be useful to notify the application, although not for MVP, opened issue #314.
      • SendStream abort reason #294 - approved during meeting. Ready-for-pr - assigned to Yutaka.
      • Error codes that don't fit #214 opened on Mar 2 - ‘applicationProtocolCode’ could be stream or connection error. Need an enum, ‘errorSource’. @JIB to update PR.

WebTransport Bi-weekly Virtual Meeting #19 early - July 6, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • Issues:
    • Effect of cancel() or abort() for datagrams#197
    • Lossy protocols utilizing datagrams#168
    • Behavior for close connection when browser reload & close #127
    • Add web-platform-tests #125
    • "verify a certificate fingerprint" algorithm (almost) always returns false #117
    • Section 8.1: Crypto-agility in certificate hash verification #115
    • Alternatively using stats for dropped datagrams #97


Participation

  • Slides

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Effect of cancel() or abort() for datagrams#197 - No remotely observable behavior, but needs to be documented, Yutaka, algos already cover. Closed.
      • Lossy protocols utilizing datagrams#168 - no to datagram ACK, you would need an application ACK anyway. Issues also addressed at IETF. Closed.
      • Behavior for close connection when browser reload & close #127 - should be remotely observable. JIB proposed looking at WebRTC for example text and behavior. Ready for PR.
      • Add web-platform-tests #125 - check in on status. Server is designed for arbitrary logic, not just echo server. Chrome team (bashi) is leading creation of first echo server for WPT. Remains open.
      • "verify a certificate fingerprint" algorithm (almost) always returns false #117 - upper/lower case string compare issue. Minor issue. Ready-for-PR. Assigned to Victor.
      • Section 8.1: Crypto-agility in certificate hash verification #115 - @Victor - should specify that unknown algorithms be ignored. Ready-for-PR. Assigned to @Bernard.
      • Alternatively using stats for dropped datagrams #97 - on receive side, can see number of dropped datagrams. @Victor - leave open and defer. Not MVP.
      • Datagrams readiness #302 - wait for both handshakes. @Victor to file a new issue. Request feedback from @Martin.
      • WebTransport.maxDatagramSize bikeshedding #301 - leave open
      • Agree on wt.datagrams.outgoingMaxAge vs wt.datagrams.writable.maxAge #305 - switching over nomenclature from incoming/outgoing => readable/writable. Cost in memory use, startup time in adding more symbols to global object. Will queue for discussion at late meeting. Leave open and discuss at next meeting.
      • SendStream abort reason#294 - agreement to require WebTransportError. @Bernard observes that a similar initiative never got implemented in WebRTC. See issue #252.
      • Should WebTransport streams handle Uint8Array or BufferSource? #284 - meeting consensus to accept Buffersource.
    • PRs
      • Remove .state and .onstatechange attributes #300 - merged.

WebTransport Bi-weekly Virtual Meeting #18 late - June 22, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

Issues to be discussed:

  • PR review process (brought up by yutakahirano)
  • Do we want to allow web developers to add headers of the CONNECT request? #263
  • Do we need writable.reset() for "unreliable streams"? Discuss at next meeting #260
  • Should writable.close wait for all the data to be sent to the peer?#259
  • Need the test server to mirror data. Discuss at next meeting #212
  • Effect of cancel() or abort() for datagrams#197
  • Lossy protocols utilizing datagrams#168
  • Behavior for close connection when browser reload & close #127
  • QuicTransport consider exposing stream ids #124
  • "verify a certificate fingerprint" algorithm (almost) always returns false #117
  • Section 8.1: Crypto-agility in certificate hash verification #115

Participation

  • Slides

Meeting records

Present: Will, JIB, Bernard, Yutaka, Martin, Victor,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • PR review process (brought up by yutakahirano) - proposed PR’s. @Yutaka - takes time to get responses from reviewers. Usually doesn;t wait for responses from all. If no responses, will land PR if approval from at least one approver. @Victor - ok, if we had consensus for the solution. Makes sense to merge since can fix later.
      • @Victor - request to add issue CSP policies for WebTransport? #59. Proposes two approaches. Inclined to start with first as a simpler implementation. @Martin - overcomplicated. Should be consistent with WebRTC. Suggests binary on/off flag would be better. Default off position is not consistent with CSP. Action - inherit from connect-src. Look at adding webtransport-src: none|* similar to webrtc-src. Status to Ready-for-PR.
      • Do we want to allow web developers to add headers of the CONNECT request? #263 - Chrome are not adding headers in the initial release, but may add later.
      • Do we need writable.reset() for "unreliable streams"? Discuss at next meeting #260 - if whatwg/streams/issues/1015 is successful then ‘abort’ is all we need and can remove ‘reset’.
      • Need the test server to mirror data. Discuss at next meeting #212 - see https://github.com/web-platform-tests/rfcs/pull/85. Google trying to complete as soon as possible.
    • PRs addressed:
      • Make API [SecureContext] #285 - approved and merged.
      • Remove stream.remoteCanceled and stream.remoteReset promises #286 - merged.
      • Add WebTransportError interface. #288 - review. Octet may be insufficient. Maybe focus on STOP_SENDING and RESET_STREAM, and have a second WebtransportAppError for H3 error codes,also QUIC level error codes and maybe WT level error codes. Add enum to differentiate errors. @JIB to iterate on that.

WebTransport Bi-weekly Virtual Meeting #17 early - June 8, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • TPAC - the TPAC advice on meetings has a sub-link that says: "At a minimum [WGs] should consider doing an overview of the state of the Working Group and its deliverables, looking at big challenges ahead, where the priorities should be, and use a different agenda from your regular recurring meetings" FYI in WebRTC, we just decided on a 1 hour state-of-the-union meeting as described, to leave room for joint meetings, and invited the Media WG to have a joint meeting on WebCodecs. Should we do the same - shorten the meeting, and invite the Media WG to a joint meeting?
  • New milestone for minimum viable ship https://github.com/w3c/webtransport/milestone/1
  • Security review - need reviewers https://github.com/w3c/webtransport/blob/main/security-questionnaire.md
  • Issues
    • Does CONNECT request mean WebTransport should use fetch? #272
    • Remove sender.remoteCanceled and receiver.remoteReset? #271
    • SecureContext whole API? or Disable serverCertificateFingerprints for insecure contexts? #256
    • Add custom error property for Application Protocol Error Codes? #252
    • WebTransport/WebCodecs interaction (copies) Discuss at next meeting #231
    • Need the test server to mirror data. #212
    • Do we want to allow web developers to add headers of the CONNECT request?#263
    • Do we need writable.reset() for "unreliable streams"? #260
    • Should writable.close wait for all the data to be sent to the peer? #259

Participation

  • Slides

Meeting records

Present: Will, Bernard, JIB, Victor, Dragana, Yves,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • PRs:
    • Issues:
      • Does CONNECT request mean WebTransport should use fetch? #272. Already use fetch, question is what stage? How much benefit to integrate at request level. @Victor will investigate. Do want to implement port blocking.
      • Remove sender.remoteCanceled and receiver.remoteReset? #271 - remoteCanceled and remoteReset should be removed. Marked ready for PR.
      • SecureContext whole API? or Disable serverCertificateFingerprints for insecure contexts? #256 -should we ban insecure content all together. @Victor needs to check with a use-case around local TV control. https://github.com/WICG/private-network-access/issues/23. Marked ready-for-PR.
      • Add custom error property for Application Protocol Error Codes? #252 - add errorCode attribute to WebTransportError. Victor to reserve applicationCode and applicationString for peer-provided messages. Ready-for-PR.
      • WebTransport/WebCodecs interaction (copies) #231 - added a copyTo method to webcodecs. Not ship blocking for WT. Ask for review from Chris Cunningham
      • Do we want to allow web developers to add headers of the CONNECT request? #263 - @Victor needs to talk to some developers. Current inclination not to support.
      • Do we need writable.reset() for "unreliable streams"? #260 - push to when Yutaka is available.
      • In browser support, tunneling TURN traffic over webtransport #270 -closed and steered towards IETF.

WebTransport Bi-weekly Virtual Meeting #16 late - May 25, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Chrome's shipping plan
  • IETF Webtransport interim meeting took place last week. Notes here https://codimd.ietf.org/notes-ietf-interim-2021-webtrans-02-webtrans
  • Issues
    • https://github.com/w3c/webtransport/issues/263 - headers?
    • Exposing headers of the CONNECT response Discuss at next meeting #264
    • Do we want to allow web developers to add headers of the CONNECT request? Discuss at next meeting #263
    • Do we need writable.reset() for "unreliable streams"? Discuss at next meeting #260
    • Should writable.close wait for all the data to be sent to the peer? #259
    • Disable serverCertificateFingerprints for insecure contexts? #256
    • Add custom error property for Application Protocol Error Codes? Discuss at next meeting #252
    • WebTransport/WebCodecs interaction (copies) Discuss at next meeting#231
    • Need the test server to mirror data. Discuss at next meeting #212
    • Effect of cancel() or abort() for datagrams Discuss at next meeting #197

Participation

  • Slides

Meeting records

Present: Will, Bernard, Victor, Yutaka, David, JIB, Martin

  • Actions
    • @Chairs to create github milestone to target minimum viable ship for mid-August.
  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Chrome signaling intent to ship https://docs.google.com/document/d/1X9-a03rtm0FqTW01nG6e7f91NAguGEv37mP964HrJlk/edit#heading=h.v9yxozj8naro. Spec stable by middle august? Create Milestone. JIB - more working examples and experimentation needed. Victor - working on fixing public library for WPT. Google planning to have aioquic WPT by end of June.
      • IETF - productive meetings. Room consensus in building version over TCP if QUIC blocked, Will be over H2. Also debating adopting proposal by Kinnear. Commitment to building WT/H2 within two weeks. Two ways to do it. Hack H2 stream machinery, or build parallel one. API effects? Should not effect W3C API. Force protocol, allow to know which used? Martin - there could be a problem with how protocols treat closing and this problem may be API visible.
    • Issues
      • Do we want to allow web developers to add headers of the CONNECT request? #263 Fetch API uses headers. Could also use URL to communicate information. Option to not allow arbitrary headers, or allow one header? David - because building WT over Http3, request could make multiple hops. Martin - we don’t want CORS preflight. David - can we not add add headers now and put in URL for application data?
      • Do we need writable.reset() for "unreliable streams"? #260 - decided to explore alternatives to reset before proceeding.
      • Add custom error property for Application Protocol Error Codes? #252 - proposal to create WebTransportError class. May require two types - transport errors and application errors. Labeled Ready for PR.

WebTransport Bi-weekly Virtual Meeting #15 early - May 11, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • Public Working Draft status update - now available at https://www.w3.org/TR/2021/WD-webtransport-20210504/
    • An email should have been received by each AC representative notifying them that this publication triggers a call for IP exclusions. Participants have an opportunity until 2021-10-01 to exclude patent claims reading on this Recommendation-track document. The Patent Policy anticipates that the documents will evolve during the 90 days following the first publication. Per section 4.1 of the Patent Policy [1], whatever draft is available on 2021-08-02 establishes the reference material for the purposes of this exclusion opportunity. Per section 4.2 of the Patent Policy [2], a Participant may resign from the Working Group before 2021-08-02 and be excused from all licensing commitments arising out of Working Group participation. Just after 2021-08-02 W3C staff will send a reminder of this exclusion opportunity.
  • TPAC timing decision - https://www.w3.org/wiki/TPAC/2021/GroupMeetings#WG.2FIG.2FBG_Group_Meetings_details - single 2hr meeting. Ask for agreement.
  • Address PRs.
  • Issues
    • Rename abortWriting() and remove abortReading() #242
    • WebTransport/WebCodecs interaction (copies) #231 opened on Mar 24 by aboba
    • Need the test server to mirror data. Discuss at next meeting #212
    • Add custom error property for Application Protocol Error Codes? Discuss at next meeting #252
    • Effect of cancel() or abort() for datagrams Discuss at next meeting #197

Participation

  • Slides

Meeting records

Present: Will, JIB, Yutaka, Dragana, Bernard, Yves, David,

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
    • Issues:
      • Need protocol mappings table for QUIC→streams #257 - opened as consequence of PR #258.
      • WebTransport/WebCodecs interaction (copies) #231 - webCodecs video frames are now immutable, must use copyInto method. Long discussion,
    • PRs
      • Merge DatagramTransport mixin into WebTransport #258 - merged.
      • Rename abortWriting()/writingAborted → reset()/remoteCanceled & abortReading()/readingAborted → cancel()/remoteReset #248 - rename is being performed now but there is intent that we would eventually remove these methods pending abort changes to the streams spec. PR should be updated
      • Protocol Concepts (Yutaka), also error stream on receiving STOP-SENDING to ensure producers get canceled. Changed status to Editors can integrate.

WebTransport Bi-weekly Virtual Meeting #14 late - April 27, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • TPAC 2021 will be held from 18 to 29 October 2021 as follows:
    • 18-22 October: Breakout sessions
    • 25-29 October: Groups and Joint Meetings
    • Registration will open mid-September. Save the dates and stay tuned for more details!
  • PR's
    • Specify incoming datagrams in more detail - #249
    • Rename abortWriting() to drop()/dropped + remove abortReading/readingAborted - #248
    • Some algorithm cleanup split out from #211. Editorial - #234
    • Add WebTransport* prefix to SendStream, ReceiveStream & BidirectionalStream - #232
    • Add transport.bi/unidirectionalStreams duplex streams. - #211
    • Control of datagramWritable Queue - #179
  • Issues
    • Rename abortWriting() and remove abortReading()? Discuss at next meeting - #242
    • WebTransport/WebCodecs interaction (copies) Discuss at next meeting - #231
    • Need the test server to mirror data. Discuss at next meeting - #212

Participation

Present: Will, Yutaka, David,Bernard, Martin, JIB

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • PRs:
      • #248 - Rename abortWriting() to reset()/remoteReset + remove abortReading/readingAborted - update PR to remove readingAborted.
      • #249 - Specify incoming datagrams in more detail : Yutaka will address comment and merge after meeting.
    • Issues:
      • #221 - Yutaka will expose and Adam will implement. Labelled as Ready-for-PR. Comment that a style guide would be good in repository.
      • #250 - Is it a good idea to define WebTransport "session"? Labelled as Ready for PR.
      • #206 - stats. Want things that the app can’t do itself. However having them provided brings consistency across implementations. Optimization and efficiency if default implementation. GetStats methods for individual objects. Stream specific stats. Webtransport object could hold aggregate stats across streams. Stats must not leak information about other’s usage. Would be good to see drop-rate for datagrams you could not send or read fast enough. @Bernard - will make some slides for an outline outline.
      • #251 - Add datagrams.setSendQueueExpiration(long duration)? - @Yutaka to PR.

WebTransport Bi-weekly Virtual Meeting #13 early - April 13, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125


Agenda

  • CFC update - working draft published.
  • Issues
    • WebTransport/WebCodecs interaction (copies) #231
    • Stats: Which ones are appropriate for Http3Transport? #206
    • Rename abortWriting() and remove abortReading()? #242
    • Maybe we shouldn't hog overly generic interface names? Discuss at next meeting #199
    • Fallback support Discuss at next meeting #107
    • Stats API Requirements Discuss at next meeting #45

Participation

  • Slides - none

Meeting records

Present: Will, JiB, Dragana, Bernard

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Issues covered:
      • Cfc on moving to First Working Draft passes https://github.com/w3c/webtransport/issues/240. @Will to email CfC and notify Yves.
      • Issue #242, Rename abortWriting() and remove abortReading()?
      • Issue #231, WebTransport/WebCodecs interaction (copies) . @Bernard to add links. Should add samples.
      • Our explainer examples need to be updated. Need examples showing message framing, and sending workarounds when back-pressure is not available etc.
      • #206 - Stats on Streams? Piped objects might benefit from native counting. Get everything with a dedicated connection, but that might incentivize people to not pool. Decided to label as Ready for PR as a tangible PR would be helpful for debate.
    • PRs
      • #244: Inline mixins IncomingStream and OutgoingStream - edited to resolve conflicts but one conflict remains. Marked as ‘editors can integrate’.
      • #241: Inline mixins IncomingStream and OutgoingStream. - merged.

WebTransport Bi-weekly Virtual Meeting #12 late - March 30, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • W3C Calendar - no changes. Stick with existing calendars.
  • Issues
    • Create a working draft. Deadline before AC meeting on April 15th. One week CfC before that. So must execute after this meeting.
    • Datagram tokens as a mechanism of datagram vs stream prioritization #62 - still valid?
    • Stats #206 - check in if progress
    • #199 - hogging interface
    • #45 - stats API requirements.
  • PRs
    • PRs necessary for working draft need to be merged - issue #210

Participation

Present - Will, JiB, Bernard, David, Martin, Victor, Yutaka

Meeting records

  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • issues and notes:
      • W3C Calendar - no changes. Stick with existing calendars. .ICS files are referenced in the wiki page.
      • Create a working draft. Deadline before AC meeting on April 15th. One week CfC before that. Consensus on sending out CfC. Request from Chrome to get out in next 7 days.
      • Error codes for stream reset and connection close #235 - resolved. We'll take 256 values and work around the holes for greasing. Victor will make a proposal for dealing with closing strings, the protocol people will manage that. Issue for tracking out of order objects. #237
      • Datagram tokens as a mechanism of datagram vs stream prioritization #62 - still valid? Yes, still an issue on how datagrams and streams are prioritized. Google currently tries to send buffered datagrams before stream data. Leave open.
      • #199 - hogging interface - discussed. No resolution.
    • PRs addressed


WebTransport Bi-weekly Virtual Meeting #11 early - March 16, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

Participation

Present: Will, Bernard, Dragana, JIB, Victor,

Meeting records

  • Resolutions
    • For next IETF WebTransport interim scheduled for May, prepare list of requests from W3C WT

WebTransport Bi-weekly Virtual Meeting #10 late - March 2nd, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Need to publish first working draft. IPR clock will start. Take editors copy, prepare document, record group agreement via CfC on github. Working drafts can change.
  • #22 Interaction with tooling
  • #36 Better error for when we can't send a datagram?
  • #59 CSP policies for WebTransport?
  • #210 https://github.com/w3c/webtransport/issues/210 - breaking change proposed.
  • #190 Use case: stream large data over datagrams your own way with high throughput
  • #206 & #45 Stats API
  • #199 https://github.com/w3c/webtransport/issues/199 hogging generic interfaces


Participation

  • Slides - none

Meeting records

Present: Will, JIB, Bernard, David, Victor, Yutaka, Martin

WebTransport Bi-weekly Virtual Meeting #9 Early - Feb 16, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

https://github.com/w3c/webtransport/issues/183

Participation

  • Slides - none

Meeting records

Present: Will, JIB, Dragana, Victor, Bernard, Dr Alex, Yves

WebTransport Bi-weekly Virtual Meeting #8 Late - Feb 2, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

Participation

  • JIB, Will, Bernard, David, Yutaka, Martin.

Meeting records

  • Resolutions
    • David gave a brief update from IETF. Call for consensus on single protocol and that protocol being http3transport succeeded. Clarified that they reserve the right to implement other protocols later.
    • Protocol name on constructor will be 'WebTransport'. URI scheme needs to be a joint decision with IETF.
  • Actions

WebTransport Bi-weekly Virtual Meeting #7 Early - Jan 19, 2021


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

  • Review of IETF Jan 12th interim meeting decision on protocol zoo
    • Implications for API?
      • What will protocol scheme descriptor be? new Webtransport(https://....) ? Deprecate quic-transport?
    • Demo server and client needs to be updated.
  • Discuss open PRs and issues.

Participation

  • None

Meeting records

  • Present: Will, JIB, Victor, David, Dragana, DrAlex, Yves, Bernard
  • Resolutions
    • None
  • Actions
    • Wait one more week for IETF decisions on single protocol and Http3Transport to achieve consensus before adopting

WebTransport Bi-weekly Virtual Meeting #6 Late - Jan 5, 2021

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Rechartering underway
  • Raise issue of moving to public working draft and timing for this.
  • Use of github issues for CfC.
  • Labelling of issues
  • WPT followup - status check, do we need volunteers to write tests?
  • Educate your chairs on back-pressure - how it is intended to work
  • IETF WebTransport interim meeting on Tuesday, January 12, 2021 8:00 AM - 9:30 AM Pacific Time. Will be discussing protocol selection. Any input from W3C side?
  • Review issues and PRs.

Participation

  • Slides: none planned

Meeting records

  • Present: Will, JIB, Bernard, Victor, Yutaka, Martin
  • Resolutions
    • Publish first working draft in February timeframe
    • Use github milestones to help assign issues to meetings


  • Actions
    • @All - rememeber to rejoin group if you have not yet due to rechartering. Deadline is end of January 2021.
    • @Martin - write an email to IETF WT public list to express requirements ahead of the interim meeting on Jan 12.
  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:

WebTransport Bi-weekly Virtual Meeting #5 Late: Dec 8, 2020

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Note on rechartering the WG to new W3C Patent Policy (2020)
  • Decide whether to hold meeting on Dec 22nd.
  • Review questions being asked of HLS interest group.
  • Discuss open issues and PRs

Participation

  • Slides: none planned

Meeting records

Present: Will, JIB, Victor, David, Yutaka, Martin, Bernard.

  • Resolutions
    • We will have no meeting on Dec 22nd due to holidays. Next meeting will be Jan 5th
  • Actions
    • All members will need to rejoin WG due to W3C 2020 patent policy change. You will receive instructions directly from W3C about this.

WebTransport Bi-weekly Virtual Meeting #4 Early


WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

Agenda

Participation

  • No slides planned. Work through Github

Meeting records

  • Present: Will, JIB, Victor, Dragana, Bernard, Yves
  • Resolutions
    • None
  • Actions
    • @Will IETF-HLS-interest ask if intent to use WT. H3T or QT?
    • @Will DASH-IF - ask same question - input. H3T or QT? Look for people actually working on code, versus far away.


WebTransport Bi-weekly Virtual Meeting 3 Late

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520

Meeting number: 126 406 0454 JOIN BY PHONE +1-415-655-0001 US Toll Global call-in numbers

Agenda

  • 4:00 PM Clarify any presentation required for IETF 109 meeting on Nov 16.
  • 4:10 PM Discuss use cases & requirements
  • 4:45 PM Github PRs.

Participation

  • Slides - none

Meeting records

  • Resolutions
    • None
  • Actions
    • @Will - edit slides for IETF 109 meeting to update on W3C WG activities
    • @All - review and edit use-cases doc
    • @All- respond to CFC on public mailing list
  • Minutes
    • Meeting was recorded and is available here along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • During meeting, handled the following PRs:
      • Merged - Fix out of date references #155
      • Merged - Adding use-cases document #149
      • Merged - Add reference to QUIC datagram draft #157
      • Merged - Add a complete example #161



Meeting template

WebTransport Bi-weekly Virtual Meeting template

WebEx Access

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m6a263598d572ab9d28d0e96df485d23d EARLY Meeting number (access code): 126 078 4125

https://webtransport.my.webex.com/webtransport.my/j.php?MTID=m5904c63dd34fc592c2376e313cf19520 LATE Meeting number (access code): 126 406 0454

Agenda

  • Item
  • Item
  • Item

Participation

  • Slides

Meeting records

  • Resolutions
    • Item
  • Actions
    • Item
  • Minutes
    • Meeting will be recorded and available [Link here] along with a full transcript. The password for access was distributed via the members-only mailing list. If you require it, please contact your chairs.
    • Notes:
      • Item