Skip to content

Not catching client disconnect from browsers (Chromium) and time out. #66

@hironichu

Description

@hironichu

Hello there,

I have been trying out this library around and i found a quite annoying bug, it does seem to be an issue here or in Quinn (I couldn't try).

When using the default example server, with valid certificate, and running locally, any time i want to gracefully close the connection from the client, the server does not seem to either catch it or know the client disconnected.

What is happening :

Client code :

            const test = new WebTransport("https://xxx.xxx.xxx");
            test.ready.then(() => {
                console.log("WebTransport connection established!");
                test.closed.then(() => {
                    console.log("WebTransport connection closed!");
                });
                test.close({
                    reason: "test",
                    closeCode: 17
                });
            }).catch((error) => {
                console.error("Failed to establish WebTransport connection:", error);
            });

Server code : <the example server-advanced with valid TLS certificate for a domain that is pointing to 127.0.0.1>

Here the client know we sent a close event, but the server is still waiting for data, and will timeout after some time
Image
Image

Here is what should happen using another Webtransport client library

Image

To finish , i've tried the other library and no issue there (same configuration)

Image

Ref: issue oppened in Deno's main repo.
denoland/deno#28406

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions