Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Can only open 3 workspace tabs open at a time on Chrome without HTTP2 proxy #15887

Labels
customer-reportedDO NOT USE. Instead, add to the project and fill in "Customer".
@Emyrk

Description

@Emyrk

Currently, an open workspace page uses 2 server side event (SSE) connections. These connections remains open as long as the page is open.

Image

Google Chrome only supports a maximum of 6 open connections per host.

Firefox also has a limit, but for whatever reason, the SSE endpoints fail on Firefox. So on firefox, we do not hit the concurrent connection limit.

Firefox network log A1: JavaScript

Image

You cannot reproduce this onhttps://dev.coder.com because (for w/e reason), all requests uses HTTP2. So there must be some multiplexing/connection pooling going on by Chrome.

I also tested this through a cloudflare tunnel, which uses HTTP3 and also does not have the issue.

Reproducing

  1. To reproduce, you must be using HTTP 1.1 from Chrome.
  2. Open a running workspace page on 4 tabs
  3. Open on a fourth tab, and the web request will be stuck in "pending" forever.

Workaround

A current workaround is to use a reverse proxy in front of Coder that enables HTTP2. Or you can enable TLS on the Coder server (--tls-enable). Golang serves HTTP2 on TLS servers by default.

Implementation Notes

The easiest solution would just be to support HTTP2 on non-TLS connections in Coder. We explicitly opt in for TLS serving here:

NextProtos: []string{"h2","http/1.1"},

HTTP2 does not work over non-tls.

Solution suggestion is to implement something in the frontend to detect HTTP 1.1 vs HTTP2.0 and display a warning?

Metadata

Metadata

Assignees

No one assigned

    Labels

    customer-reportedDO NOT USE. Instead, add to the project and fill in "Customer".

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp