scuffle icon indicating copy to clipboard operation
scuffle copied to clipboard

Adds WebTransport over HTTP/3 support

Open SimaoMoreira5228 opened this issue 2 months ago • 6 comments

Enables handling of WebTransport sessions, uni- and bidirectional streams, and updates dependencies and Bazel integration for WebTransport crate. should solve CLOUD-38

SimaoMoreira5228 avatar Oct 08 '25 19:10 SimaoMoreira5228

Codecov Report

:x: Patch coverage is 15.38462% with 264 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 8.42%. Comparing base (b04a6b6) to head (737074f). :warning: Report is 35 commits behind head on main.

Files with missing lines Patch % Lines
crates/http/src/backend/h3/webtransport.rs 0.00% 205 Missing :warning:
crates/http/src/backend/h3.rs 42.10% 44 Missing :warning:
crates/http/src/server.rs 57.14% 12 Missing :warning:
crates/http/src/body.rs 0.00% 3 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #621       +/-   ##
==========================================
- Coverage   61.66%   8.42%   -53.24%     
==========================================
  Files         385     153      -232     
  Lines       31081   12375    -18706     
==========================================
- Hits        19165    1043    -18122     
+ Misses      11916   11332      -584     
Files with missing lines Coverage Δ
crates/http/src/extensions.rs 50.00% <ø> (ø)
crates/http/src/body.rs 80.70% <0.00%> (-4.49%) :arrow_down:
crates/http/src/server.rs 88.13% <57.14%> (-9.83%) :arrow_down:
crates/http/src/backend/h3.rs 64.55% <42.10%> (-22.70%) :arrow_down:
crates/http/src/backend/h3/webtransport.rs 0.00% <0.00%> (ø)

... and 316 files with indirect coverage changes

Components Coverage Δ
scuffle-aac ∅ <ø> (∅)
scuffle-amf0 0.00% <ø> (-90.32%) :arrow_down:
scuffle-av1 ∅ <ø> (∅)
scuffle-batching ∅ <ø> (∅)
scuffle-bootstrap 0.00% <ø> (-82.92%) :arrow_down:
scuffle-bytes-util 0.00% <ø> (-96.71%) :arrow_down:
scuffle-context 80.60% <ø> (-19.40%) :arrow_down:
scuffle-expgolomb ∅ <ø> (∅)
scuffle-ffmpeg ∅ <ø> (∅)
scuffle-flv ∅ <ø> (∅)
scuffle-future-ext 100.00% <ø> (+50.00%) :arrow_up:
nutype-enum ∅ <ø> (∅)
scuffle-h264 ∅ <ø> (∅)
scuffle-http 61.06% <15.38%> (-25.49%) :arrow_down:
scuffle-metrics 50.87% <ø> (-44.16%) :arrow_down:
postcompile ∅ <ø> (∅)
scuffle-pprof 100.00% <ø> (ø)
scuffle-rtmp 0.00% <ø> (-90.89%) :arrow_down:
scuffle-settings ∅ <ø> (∅)
scuffle-signal ∅ <ø> (∅)
:rocket: New features to boost your workflow:
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Oct 08 '25 19:10 codecov[bot]

🚀 Preview Deployments

Deployment Status Preview URL
dashboard ⏭️ -
docs ⏭️ -
rustdoc https://docs-scuffle-pw7a2pal6-scufflecloud.vercel.app
cloud emails render ⏭️ -

github-actions[bot] avatar Oct 08 '25 19:10 github-actions[bot]

This looks good, are there no webtransport rust client implementations?

TroyKomodo avatar Oct 13 '25 15:10 TroyKomodo

Perhaps we could do tests with https://docs.rs/web-transport/latest/web_transport/struct.Client.html

TroyKomodo avatar Oct 13 '25 15:10 TroyKomodo

Perhaps we could do tests with https://docs.rs/web-transport/latest/web_transport/struct.Client.html

Sounds good, in this PR or should I create a ticket for it?

lennartkloock avatar Oct 13 '25 16:10 lennartkloock

Perhaps we could do tests with docs.rs/web-transport/latest/web_transport/struct.Client.html

Sounds good, in this PR or should I create a ticket for it?

This pr perhaps @SimaoMoreira5228 can do it?

TroyKomodo avatar Oct 14 '25 13:10 TroyKomodo