From c71aca637cdbf07508b1360bd4db5318b324038a Mon Sep 17 00:00:00 2001 From: wt Date: Wed, 21 Oct 2026 17:54:18 +0700 Subject: [PATCH] Update server.rs --- src/server.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/server.rs b/src/server.rs index 101f91f..c7d240e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -233,6 +233,19 @@ impl ConnectionLog { .and_then(|e| e.downcast_ref::()) .map(|e| format!("{:?}", e.kind())) .unwrap_or_else(|| "none".into()); + // TEMP-DIAG: sanitized, non-payload invariant label to locate a session + // fault (e.g. "stream management store failed", "retired stream + // transport", "missing stanza name"). Values come from the error chain + // only and never contain payload, tokens or passwords. + if let Err(e) = result { + let label = e + .chain() + .map(|x| x.to_string()) + .find(|s| s.chars().all(|c| c.is_ascii() && !c.is_control())) + .unwrap_or_default(); + let label: String = label.chars().take(160).collect(); + self.event(Level::Debug, "session-error-label", &[("err", &label)]); + } self.event( if result.is_err() && !matches!(reason, "peer-disconnected" | "stream-complete") { Level::Warn