github unkn0wn-root/resterm v0.51.2

3 hours ago

v0.51.2

This is follow up release primary with bug fixing for gRPC and streaming.

gRPC

Failed gRPC calls are now easier to inspect across the TUI, history, workflows, and headless runs. Standard google.rpc.* error details are decoded even when they are missing from the service descriptor and JSON reports now include them under grpc.statusDetails.

Binary gRPC metadata is handled consistently as well. Values for keys ending in -bin are entered as raw values and displayed as unpadded base64 in request metadata, response headers, trailers, scripts, and assertions. Status details remain visible in the response pane, while multiline messages no longer stretch the status bar beyond one row (edge case but fixed now).

Example using binary gRPC metadata:

### Binary gRPC metadata
# @grpc demo.v1.TraceService/Get
# @grpc-plaintext true
# @grpc-metadata x-context-bin: trace-123
# @assert response.header("grpc-trailer-x-trace-bin") == "AQID"
GRPC {{grpc.host}}

{
  "id": "demo"
}

Here, trace-123 is entered as the raw metadata value and appears as dHJhY2UtMTIz in the metadata view. For a binary trailer named x-trace-bin, RestermScript assertions use response.header("grpc-trailer-x-trace-bin"), while JavaScript tests use response.headers.get("grpc-trailer-x-trace-bin"). Both return the unpadded base64 value.

Streaming

Streaming and split panes should now behave much more predictably. SSE, WebSocket, and gRPC streams remain attached to the pane where the request started, even if focus changes while it is running. Pinned panes keep their completed transcripts, filters and scrolling stay local to the pane, failed streams retain their error details, and late or stale updates can no longer overwrite another response.

Don't miss a new resterm release

NewReleases is sending notifications on new releases.