Skip to content

ClientLifecycleMode::Auto hangs on a server that silently ignores server/discover #1142

Description

@ip2a

Split out of #1133.

discover_startup calls expect_response, which blocks until a message
arrives or the transport closes. A legacy server that stays connected but
ignores server/discover therefore never produces a failure, so the Auto
fallback branch is never reached and the client hangs.

The 2026-07-28 backward-compatibility guidance says a client should fall
back when the server "does not respond within a reasonable timeout", so
the probe needs a bounded wait — likely a timeout around the
discover_startup / expect_response call, configurable or with a sane
default.

This is orthogonal to the concrete-failure classification in #1133 (which
covers JSON-RPC errors, closed connections, and transport errors) and is
tracked separately to keep that PR focused.

Related: #1040, #1133.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions