This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch feat/camel-tui in repository https://gitbox.apache.org/repos/asf/camel.git
commit a2774db841b838b9a2b57e1466a1f84cb51657f8 Author: Claus Ibsen <[email protected]> AuthorDate: Mon May 18 12:11:20 2026 +0200 TUI: fix synthetic trace events missing from message history for mock rest-openapi BacklogTracer.traceBeforeNode/traceAfterNode were passing null as routeId in the DefaultBacklogTracerEventMessage constructor. These methods fire inside RestOpenApiProcessorAdvice.before() which runs BEFORE the route pipeline, so our events become the head of provisionalHistoryQueue with routeId=null. When BacklogTracerRouteAdvice.after() later fires to complete history, the original check compares event.routeId against head.routeId (null), making original=false and preventing history completion. Fix: pass fromRouteId as routeId in both methods, and set isLast=false in traceAfterNode so BacklogTracerRouteAdvice.after() (not our event) triggers history completion — at which point all our synthetic events are already in provisionalHistoryQueue and get included in completeHistoryQueue. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --- .../src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java index 0bad0466d434..6b13e4f7b4f6 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/BacklogTracer.java @@ -160,7 +160,7 @@ public class BacklogTracer extends ServiceSupport implements org.apache.camel.sp JsonObject data = MessageHelper.dumpAsJSonObject(exchange.getIn(), isIncludeExchangeProperties(), isIncludeExchangeVariables(), true, true, isBodyIncludeStreams(), isBodyIncludeFiles(), getBodyMaxChars()); DefaultBacklogTracerEventMessage event = new DefaultBacklogTracerEventMessage( - camelContext, false, false, incrementTraceCounter(), timestamp, source, fromRouteId, null, toNode, + camelContext, false, false, incrementTraceCounter(), timestamp, source, fromRouteId, fromRouteId, toNode, toNodeParentId, null, null, toNodeShortName, toNodeLabel, level, exchangeId, correlationExchangeId, false, false, data); traceEvent(event); @@ -184,7 +184,7 @@ public class BacklogTracer extends ServiceSupport implements org.apache.camel.sp JsonObject data = MessageHelper.dumpAsJSonObject(exchange.getIn(), isIncludeExchangeProperties(), isIncludeExchangeVariables(), true, true, isBodyIncludeStreams(), isBodyIncludeFiles(), getBodyMaxChars()); DefaultBacklogTracerEventMessage event = new DefaultBacklogTracerEventMessage( - camelContext, false, true, incrementTraceCounter(), timestamp, source, fromRouteId, null, toNode, + camelContext, false, false, incrementTraceCounter(), timestamp, source, fromRouteId, fromRouteId, toNode, toNodeParentId, null, null, toNodeShortName, toNodeLabel, level, exchangeId, correlationExchangeId, false, false, data); traceEvent(event);
