ui
ui copied to clipboard
[Feature Request] Display binary protobuf payloads
Is your feature request related to a problem? Please describe.
You can't currently get the decoded contents of binary/protobuf payloads like you can for json/plain and json/protobuf.
Describe the solution you'd like
When payload.metadata.messageType is present (a namespaced string like "foo.bar.MyMessage", introduced in https://github.com/temporalio/sdk-typescript/pull/430 and I'll be adding it to other SDKs) in a payload with metadata.encoding == "binary/protobuf", then match it against user-provided protos to decode payload.data, wherever payloads are in a response, for instance here:
/api/v1/namespaces/{namespace}/workflows/{execution.workflowId}/executions/{execution.runId}/events
http://localhost:8080/openapi/#/WorkflowService/WorkflowService_GetWorkflowExecutionHistory

User-provided protos
I'm not sure what the easiest way is for users to provide ui-server their .proto files, both in dev and prod.
^ is assuming that decoding payloads is done server-side. If payload decoding is done in the browser (like if the "string"s in the pictured payload are base64 encoded binary), then I can migrate this issue to the frontend repo. Also, not sure if tctl dc web is relevant.
I think ideally this feature:
- would work without having to run
tctl - for prod, is configured (through providing
.protofiles) once by a single user (and then all viewers of prod UI would see decoded binary protobufs) until protos changed - can be configured programmatically, through a build step
Please move this issue to https://github.com/temporalio/ui, it's not a server issue.