-
Notifications
You must be signed in to change notification settings - Fork 50
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
behavior for close connection when browser reload & close #127
Comments
I expect something similar to https://fetch.spec.whatwg.org/#concept-fetch-group-terminate. |
Hi, I'm new here. I found the issue which immediate close does not work when calling explicit close and reload from client-side. Everyone can check and see this issue from my repository, https://github.com/KensakuKOMATSU/QuicTransport-test . My opinion is that the spec should note that |
Meeting:
|
We should terminate the WebTransport session. Calling cleanup may be useful in some cases (e.g., nested frames).
@domenic, do you have any suggestions for specifying this behavior? Do we need to add cleanup steps in Dedicated/Shared workers? |
Oh, this is somewhat strange. For example the HTML spec seems to never close WebSocket or EventSource connections opened by workers. That is probably a bug. However it does clean up some stuff in https://html.spec.whatwg.org/#run-a-worker and https://html.spec.whatwg.org/#terminate-a-worker I will open a HTML issue to clean this up and give you a nice place to hook in. |
Sorry for the late response & thank you very much for filing the bug, @domenic! I'm going to create a PR to whatwg/html for documents, and leave a TODO there for workers. |
Before this change, #webtransport-session links to "WebTransport session" and #webtransport-session① links to "[[Session]]" for="WebTransport. In order to have a public link to "[[Session]]" at whatwg/html#6856, add "for=protocol" to the link to "WebTransport session". With this change #protocol-webtransport-session links to "WebTransport session", and #webtransport-session links to [[Session]]. This is for #127.
I changed my mind, and a PR for WebTransport is ready for review. I'll merge it on Monday (JST) if there are no objections. |
Merged the PR. We have a TODO for workers so I'm leaving this issue open, but removing the milestone. |
I just tried using WebTransport in Chrome (Version 115.0.5790.170 (Official Build) (x86_64)) and Chrome canary (Version 117.0.5931.0 (Official Build) canary (x86_64)) - and WT sessions are not automatically closed upon browser reload - i.e. I am reloading browser window and do not get disconnection events on server side. So streams are only closed by a server upon hitting ping/pong timeout in my case. This was happening originally, then worked well in some previous Chrome versions - and now seems to be broken again. Could someone confirm? Probably it's an issue in |
Relevant: #600 |
Why is disconnect on tab reload desirable? Isn't it cheaper server-side to keep the connection open? |
I want to know immediately when some client leaves the app, but actually I mostly concerned about automatic streams closing, not the entire HTTP/3 connection. Stream represent some logical unit in my case with a state which should be re-created from scratch in reload case. |
IIUC, there are no spec for behavior when browser reload or closed.
(and also, current chrome implementation remains connection after reload)
It seems reasonable for me to
The text was updated successfully, but these errors were encountered: