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

Indicate Solid protocol to the WebSocket interface #163

Open
csarven opened this issue Apr 7, 2020 · 4 comments
Open

Indicate Solid protocol to the WebSocket interface #163

csarven opened this issue Apr 7, 2020 · 4 comments

Comments

@csarven
Copy link
Member

csarven commented Apr 7, 2020

If WebsSocket is supported ( #50 ), Solid-specific protocol (+version) should be agreed for the WebSocket connection.

There is an experimental PR in solid/solid-spec#220 for the purpose of updating the early documentation on WebSocket communication in Solid. It is intended to temporarily remedy feature support. This issue should reuse or build on that.

@csarven csarven changed the title Indicate Solid protocol to the Websocket interface Indicate Solid protocol to the WebSocket interface Apr 7, 2020
@csarven csarven added this to the ~Candidate Recommendation milestone Apr 22, 2020
@acoburn
Copy link
Member

acoburn commented Jun 17, 2020

The former solid-spec repository describes using the following subprotocol when connecting to a WebSocket server: solid/0.1.0-alpha. For example:

const socket = new WebSocket('wss://example.org', ['solid/0.1.0-alpha']);

However, Chrome browsers do not accept subprotocols that contain slashes. And FireFox simply ignores subprotocols that contain slashes. When the Solid specification defines a (versioned) subprotocol for Solid, it would be best if that subprotocol does not contain slashes.

There are work-arounds for the solid/0.1.0-alpha subprotocol, but they all involve deviating from that recommendation (e.g. solid.0.1.0-alpha)

@acoburn
Copy link
Member

acoburn commented Jun 17, 2020

My preference is to use two digits in the versioning scheme: solid.0.1-alpha. Three digits makes sense for software but protocols tend to use only one or two digits.

@acoburn
Copy link
Member

acoburn commented Jun 17, 2020

Dropping alpha is fine with me

@WhyINeedToFillUsername
Copy link

The former solid-spec repository describes using the following subprotocol when connecting to a WebSocket server: solid/0.1.0-alpha. For example:

const socket = new WebSocket('wss://example.org', ['solid/0.1.0-alpha']);

However, Chrome browsers do not accept subprotocols that contain slashes. And FireFox simply ignores subprotocols that contain slashes. When the Solid specification defines a (versioned) subprotocol for Solid, it would be best if that subprotocol does not contain slashes.

There are work-arounds for the solid/0.1.0-alpha subprotocol, but they all involve deviating from that recommendation (e.g. solid.0.1.0-alpha)

Based on the https://bugs.chromium.org/p/chromium/issues/detail?id=398407, it looks like Chrome is correct in not supporting slashes in the sub-protocol name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To Do
Development

No branches or pull requests

4 participants