feat(relay+client): relay reports build version in Ack
Add relay_build field to RegisterPresenceAck so the client logs
which relay version it connected to. Shows in the debug log as
register_signal:ack_received {"relay_build":"f843a93"}.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -716,6 +716,9 @@ pub enum SignalMessage {
|
|||||||
success: bool,
|
success: bool,
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
error: Option<String>,
|
error: Option<String>,
|
||||||
|
/// Relay's build version (git short hash).
|
||||||
|
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||||
|
relay_build: Option<String>,
|
||||||
},
|
},
|
||||||
|
|
||||||
/// Direct call offer routed through the relay to a specific peer.
|
/// Direct call offer routed through the relay to a specific peer.
|
||||||
|
|||||||
@@ -1006,6 +1006,7 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
let _ = transport.send_signal(&SignalMessage::RegisterPresenceAck {
|
let _ = transport.send_signal(&SignalMessage::RegisterPresenceAck {
|
||||||
success: true,
|
success: true,
|
||||||
error: None,
|
error: None,
|
||||||
|
relay_build: Some(BUILD_GIT_HASH.to_string()),
|
||||||
}).await;
|
}).await;
|
||||||
|
|
||||||
info!(%addr, fingerprint = %client_fp, alias = ?client_alias, "signal client registered");
|
info!(%addr, fingerprint = %client_fp, alias = ?client_alias, "signal client registered");
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ async fn spawn_mock_relay() -> (SocketAddr, tokio::task::JoinHandle<()>) {
|
|||||||
.send_signal(&SignalMessage::RegisterPresenceAck {
|
.send_signal(&SignalMessage::RegisterPresenceAck {
|
||||||
success: true,
|
success: true,
|
||||||
error: None,
|
error: None,
|
||||||
|
relay_build: None,
|
||||||
})
|
})
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -966,8 +966,10 @@ fn do_register_signal(
|
|||||||
emit_call_debug(&app, "register_signal:register_presence_sent", serde_json::json!({}));
|
emit_call_debug(&app, "register_signal:register_presence_sent", serde_json::json!({}));
|
||||||
|
|
||||||
match transport.recv_signal().await.map_err(|e| format!("{e}"))? {
|
match transport.recv_signal().await.map_err(|e| format!("{e}"))? {
|
||||||
Some(SignalMessage::RegisterPresenceAck { success: true, .. }) => {
|
Some(SignalMessage::RegisterPresenceAck { success: true, relay_build, .. }) => {
|
||||||
emit_call_debug(&app, "register_signal:ack_received", serde_json::json!({}));
|
emit_call_debug(&app, "register_signal:ack_received", serde_json::json!({
|
||||||
|
"relay_build": relay_build,
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
emit_call_debug(&app, "register_signal:ack_failed", serde_json::json!({}));
|
emit_call_debug(&app, "register_signal:ack_failed", serde_json::json!({}));
|
||||||
|
|||||||
Reference in New Issue
Block a user