Open csarven opened 4 years ago
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
)
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.
Dropping alpha
is fine with me
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.
If WebsSocket is supported ( #50 ), Solid-specific protocol (+version) should be agreed for the WebSocket connection.
There is an experimental PR in https://github.com/solid/solid-spec/pull/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.