Skip to content

v0.3 REST and gRPC clients send blocking requests as non-blocking #1428

Closed

Description

@ConnorMoss02

What happens

CompatRestTransport.send_message and CompatGrpcTransport.send_message with a request that has no configuration return the task as soon as it is submitted. The v0.3 JSON-RPC transport returns the completed task for the same request.

Why

ToProto.message_send_configuration(None) returns an empty SendMessageConfiguration. v0.3 blocking has no presence, so the server reads the empty configuration as blocking=false. The JSON-RPC transport leaves the configuration out and gets the blocking default. This is the client side of #1321 and #1334.

Only callers using the transports directly see it. BaseClient always sets a configuration.

Version

main @ 28f8a62

Activity

  1. rohityan commented on Nov 6, 2026

    @rohityan

    Hi @ConnorMoss02, thank you for reporting this and for the contribution. Your root-cause analysis is correct, and your approach to resolve this in PR #1429 is the correct fix .

    Until the PR is reviewed as a workaround callers can avoid this by routing requests through BaseClient or explicitly supplying a SendMessageConfiguration on transport calls.

  2. added
    component: clientIssues related to transport logic and configuration for external apps connecting to A2A agents.
    on Nov 6, 2026
  3. added theissue type on Nov 6, 2026
  4. added a commit that references this issue on Nov 12, 2026
    01483cb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

component: clientIssues related to transport logic and configuration for external apps connecting to A2A agents.

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions