Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebTransport transport #1106

Open
bhollis opened this issue Jun 13, 2024 · 5 comments
Open

WebTransport transport #1106

bhollis opened this issue Jun 13, 2024 · 5 comments
Labels
enhancement New feature or request

Comments

@bhollis
Copy link

bhollis commented Jun 13, 2024

Is your feature request related to a problem? Please describe.

We'd like to make use of bidi and client streaming from web browsers. This is currently not supported by the fetch (browser) transport for connect-es.

Describe the solution you'd like

A new transport based on the WebTransport API. This is also on the roadmap for grpc-web so maybe there's some shared effort possible. WebTransport allows for full duplex streaming, though it isn't yet supported in Safari (they are supportive of it, so it should show up eventually).

This would be primarily useful for the browser, though I suspect server runtimes like NodeJS and Deno will eventually include it.

Describe alternatives you've considered

  1. Implement a WebSockets transport, though that would require server changes.
  2. Implement the WebTransport transport ourselves.
@bhollis bhollis added the enhancement New feature or request label Jun 13, 2024
@perezd
Copy link
Member

perezd commented Jun 13, 2024

We're interested in seeing bidi streaming support for Connect RPC via WebTransport; we've just not gotten a chance to implement it yet! As you've pointed out, the lack of Safari support has historically made us de-prioritize this effort, but we agree this is needed.

Would you be interested in collaborating on developing this capability?

@bhollis
Copy link
Author

bhollis commented Jun 14, 2024

Definitely, I've been meaning to get a chance to hack on a WebTransport gRPC implementation.

@perezd
Copy link
Member

perezd commented Jun 14, 2024

Great! I'd recommend we do some realtime chatting/meeting about this in our CNCF slack channel (#connectrpc), would you mind joining over there? https://communityinviter.com/apps/cloud-native/cncf

@krapie
Copy link

krapie commented Oct 19, 2024

Just to confirm, ConnectRPC isn't working on this issue because Safari doesn't support WebTransport, correct?

@perezd
Copy link
Member

perezd commented Oct 19, 2024

That's correct. We believe that is the right path forward to support streaming, and that is a prerequisite we are waiting for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants