Open flimzy opened 3 months ago
Hi, thank you for your interest in this library, and apologies for the delay. I'm not very familiar with WASM, honestly, so I'm not familiar with the limitations which are in place when using it.
Looking at the DialOptions
for WASM, it looks like it lacks HTTPHeader
, HTTPClient
, and CompressionMode
, which we use. I'm not opposed to controlling the DialOptions
behind a build tag, but I'm wondering if it will work correctly without setting those options, especially the headers, which helps identify this as gRPC.
What did you have in mind as replacement DialOptions
?
I think the simplest solution would be just to use the same DialOptions
for all build tags, and just document that certain of them are ignored for wasm
builds.
@flimzy your pull request would be very welcome here. If you find time to submit it, Ross or I can give it a look.
I apologize for our delayed reaction. Your initial message arrived in a vacation season and I am sure that our reaction time will be much better now.
At present, this package fails to build for WASM:
This is due to the fact that github.com/coder/websocket exposes different
DialOptions
structs for WASM than for other targets. There is an issue open that would address at least some of this, but it's old and hasn't gotten much attention.Unless/until
github.com/coder/websocket
addresses this issue, is it reasonable forgo-grpc-http1
to put theDialOptions
use behind a build tag, so that it can compile for web assembly?I'm happy to submit a pull request if it's likely to be accepted.