{"version":"2.1.222","anchor":"agent-proxy-tunnel-now-times-out-waiting-for-hello-ack","canonical_anchor":"agent-proxy-tunnel-now-times-out-waiting-for-hello-ack","heading":"Agent-proxy tunnel now times out waiting for HELLO_ACK","tier":"notice","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222\/e\/agent-proxy-tunnel-now-times-out-waiting-for-hello-ack","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222","markdown":"### Agent-proxy tunnel now times out waiting for HELLO_ACK\n\nA stalled agent proxy tunnel now fails quickly with a clear reason instead of hanging in limbo.\n\n**What**\n\nA WebSocket tunnel that never gets its protocol v2 negotiation acknowledged now fails fast instead of continuing in an undefined state.\n\n**Details**\n\n- Connecting arms a `helloAckDeadline`; if the server does not acknowledge protocol v2 within the open timeout, negotiation fails with \"tunnel protocol v2 negotiation failed\" and a reason built from the fragment \"no HELLO_ACK within\" plus the elapsed limit.\n- An ack carrying an unexpected version is rejected, and the connection is closed with a 502 \"Bad Gateway\".\n- The deadline is cleared both on receiving HELLO_ACK and on teardown.\n- A new telemetry event `agent_proxy_request_v2_not_acked` fires on the failure path.\n\n**Evidence**\n\n`requires tunnel protocol v2; the server did not acknowledge the negotiation (`, `agent_proxy_request_v2_not_acked`\n\n- Area: Elsewhere\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 0\/5"}