From 75b12aa81e161fe8365dc1a2f9e1463b4e4419e6 Mon Sep 17 00:00:00 2001 From: Gordon Date: Sun, 1 Nov 2026 16:46:01 +0800 Subject: [PATCH] fix(remote-connect): surface relay rejection reason for peer events `RealtimeSender::event` discarded the relay acknowledgement payload and returned a fixed "Relay event rejected" error, so every failed peer event fanout produced the same undiagnosable log line. The relay returns `{"ok": false, "error": "..."}` (for example `event target offline`), which is exactly the information needed to tell an offline controller apart from a forbidden or malformed event. `RealtimeSender::call` already surfaces `payload["error"]`; make `event` consistent with it. --- .../src/remote_connect/realtime_client.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/crates/services/services-integrations/src/remote_connect/realtime_client.rs b/src/crates/services/services-integrations/src/remote_connect/realtime_client.rs index cf77b936d1..d9ca5a5526 100644 --- a/src/crates/services/services-integrations/src/remote_connect/realtime_client.rs +++ b/src/crates/services/services-integrations/src/remote_connect/realtime_client.rs @@ -214,7 +214,12 @@ impl RealtimeSender { .timeout(Duration::from_secs(10)) .await?; if response.payload.0["ok"] != true { - bail!("Relay event rejected"); + bail!( + "Relay event rejected: {}", + response.payload.0["error"] + .as_str() + .unwrap_or("no reason provided by relay") + ); } Ok(()) }