quic-go/webtransport-go

WebTransport Stream Reset Error on Chrome Browser Reload/Disconnects

minchopm opened this issue · 2 comments

Description
I am facing an issue with a webtransport-go server during a WebTransport stream session from the Chrome browser. The error appears when the browser is reloaded. Additionally, I would like guidance on handling browser disconnects effectively.

Steps to Reproduce
Set up a WebTransport stream session from Chrome browser to a webtransport-go server.
Reload the Chrome browser.
Expected Behavior
The WebTransport stream should continue without errors or handle disconnects gracefully.

Actual Behavior
When the Chrome browser is reloaded, the following error occurs:

ERRO[0045] stream reset, but failed to convert stream error 386759528: error code outside of expected range

Query Regarding Browser Disconnects
In addition to the above issue, I would like to ask for best practices or recommended methods for handling browser disconnects in webtransport-go. How should the server be configured to handle unexpected browser terminations or reloads to ensure stability and continuity of the stream session?

Set up a WebTransport stream session from Chrome browser to a webtransport-go server.
Reload the Chrome browser.
Expected Behavior
The WebTransport stream should continue without errors or handle disconnects gracefully.

I don't think your expectations are realistic here. The browser will reset the stream when you reload it. If you think this is not what should happen, you'll need to contact the Chrome team though, webtransport-go can't do anything here.

In addition to the above issue, I would like to ask for best practices or recommended methods for handling browser disconnects in webtransport-go. How should the server be configured to handle unexpected browser terminations or reloads to ensure stability and continuity of the stream session?

There's nothing you need to do. The browser will either reset the stream or tear down the WebTransport session, or it will just go away silently, which will lead to a connection timeout of the underlying QUIC connection.