From 5bda3338afca32736fe0768922df51cb5049abb4 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 24 Jun 2024 12:59:28 +0200 Subject: [PATCH] Only add `[...]` omission marker if stderr buffer is full --- binaries/daemon/src/lib.rs | 6 +++++- libraries/core/src/topics.rs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/binaries/daemon/src/lib.rs b/binaries/daemon/src/lib.rs index d06453b5..2f030a61 100644 --- a/binaries/daemon/src/lib.rs +++ b/binaries/daemon/src/lib.rs @@ -1183,7 +1183,11 @@ impl Daemon { stderr: dataflow .and_then(|d| d.node_stderr_most_recent.get(&node_id)) .map(|queue| { - let mut s = String::new(); + let mut s = if queue.is_full() { + "[...]".into() + } else { + String::new() + }; while let Some(line) = queue.pop() { s += &line; } diff --git a/libraries/core/src/topics.rs b/libraries/core/src/topics.rs index 25f16c48..faebe9d0 100644 --- a/libraries/core/src/topics.rs +++ b/libraries/core/src/topics.rs @@ -162,7 +162,7 @@ impl std::fmt::Display for NodeError { NodeErrorCause::Other { stderr } if stderr.is_empty() => {} NodeErrorCause::Other { stderr } => { let line: &str = "---------------------------------------------------------------------------------\n"; - write!(f, " with stderr output:\n{line}[...]\n{stderr}{line}")? + write!(f, " with stderr output:\n{line}{stderr}{line}")? }, }