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
Why doesn't the SDK run in the web browser? #79
Comments
What are the use cases we are trying to cover here ? I see that the taskList already uses the REST API with got. I think something like grpc-web would be the start , or basically using basic Http with protocol bridging Browser Out : grpc_http1_bridge filter which allows gRPC requests to be sent to Envoy over HTTP/1.1. Envoy then translates the requests to HTTP/2 or HTTP/3 for transport to the target server. The response is translated back to HTTP/1.1. When installed, the bridge filter gathers per RPC statistics in addition to the standard array of global HTTP statistics. Browser In : connect_grpc_bridge filter which allows Connect requests to be sent to Envoy. Envoy then translates the requests to gRPC to be sent to the upstream. The response is converted back into the Connect protocol to be sent back to the downstream. HTTP/1.1 requests will be upgraded to HTTP/2 or HTTP/3 when needed. Another suggestion with like you said requires significant engineering effort but might be more native is chaining EventSource and Fetch together to replicate the same functionality. Just thinking loudly 😄 |
Full REST support for Zeebe is coming. The only parts that won't work are the OAuth token caching to disk, and loading TLS certs from disk. The hydration of the OAuth component with a client Id and client secret is via environment at the moment. Or it can be explicit in code, which leaves the responsibility for managing those secrets with the application. But we would have to take the file system out of the loop for the browser env. I think that supporting gRPC in the browser is out of scope - because the upcoming REST API will supersede it and reduce the complexity. |
@jwulf i understand but I think we should have something like |
Here are the things that need to be dealt with:
These three mean that the web browser environment requires distinct strategies from the server-side environment.
Creating and maintaining differential strategies for the two environments (client- and server-side) is a significant engineering effort.
The text was updated successfully, but these errors were encountered: