diff --git a/.changeset/violet-nails-jump.md b/.changeset/violet-nails-jump.md new file mode 100644 index 00000000000..cd50ea1b773 --- /dev/null +++ b/.changeset/violet-nails-jump.md @@ -0,0 +1,5 @@ +--- +"@effect/rpc": patch +--- + +Fix decoding JsonRpc messages diff --git a/packages/rpc/src/RpcSerialization.ts b/packages/rpc/src/RpcSerialization.ts index 4286c3e1c4b..b5c9ddaa24b 100644 --- a/packages/rpc/src/RpcSerialization.ts +++ b/packages/rpc/src/RpcSerialization.ts @@ -171,6 +171,7 @@ function decodeJsonRpcRaw( const messages: Array = [] for (let i = 0; i < decoded.length; i++) { const message = decodeJsonRpcMessage(decoded[i]) + messages.push(message) if (message._tag === "Request") { batch.size++ batches.set(message.id, batch) @@ -178,7 +179,7 @@ function decodeJsonRpcRaw( } return messages } - return Array.isArray(decoded) ? decoded.map(decodeJsonRpcMessage) : [decodeJsonRpcMessage(decoded)] + return [decodeJsonRpcMessage(decoded)] } function decodeJsonRpcMessage(decoded: JsonRpcMessage): RpcMessage.FromClientEncoded | RpcMessage.FromServerEncoded {